中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux的權限有哪些

發布時間:2022-01-07 09:41:52 來源:億速云 閱讀:102 作者:iii 欄目:建站服務器

這篇文章主要講解了“linux的權限有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux的權限有哪些”吧!

linux的權限有哪些

我們在使用 Linux 的過程中,或多或少都會遇到一些關于使用者和群組的問題,比如最常見的你想要在某個路徑下執行某個指令,會經常出現這個錯誤提示 。

permission denied

反正我大概率見到這個錯誤都是在使用 FTP 傳輸文件的時候,等了半天傳輸百分比還是零,我說網絡這么慢么?怎么都不傳輸呢?其實我不知道,這是由于權限問題所致。

我一般的修復方式是直接賦予 777 權限,或者直接使用 su 管理員登錄。。。。。。

大家可能不太知道我說的是什么,也有一些大佬可能覺得我這種方式太 low 了,不管怎樣,遇到這種問題就是說你得權限不夠,為什么呢?下面我們就需要來認識一下 Linux 中的使用者和群組了。

使用者和群組

在 Linux 中,關于文件所有者分為三類,即文件所有者、群組和其他人所屬,這里分別解釋以下這三個概念

  • 文件所有者

Linux 是一個多用戶多任務系統,多用戶就意味著有些用戶創建的文件是否對其他用戶可見,這是一種可見性問題,同時也是一種隱私性問題,為了考慮到每個人的隱私權,Linux 設計了文件所有者的角色。如果你有一些資料和文件的隱私性比較高,你就可以把文件設置成 "只有我自己可見" ,這就是文件所有者的作用。

  • 群組

群組的這個概念用在團隊開發中,用處比較多的就是為項目設置權限,比如你就職于一個銀行的外包部門,你和其他外包部門共同為某個銀行服務,所有的外包團體都使用一臺服務器,這就會涉及到群組權限的問題,你們外包部門開發的項目不想讓其他外包部門所看到,就會把該項目設置成群組可見。但是銀行是總負責人,所有銀行具有查看你們所有外包部門項目的權限,因此,你還需要設置銀行的權限。

  • 其他人所屬

其他人和群組是相對的,其他人在群組之外,沒有權限查看群組內文件的一種權限關系。

除了上面三個概念之外,還有一個權限級別最高的大佬,它就是 root,這個 root 權限是最高的。

Linux 文件權限

在聊完上面使用者和群組的概念之后,接下來我們就來談一下文件權限要如何設置的問題,這塊內容是很重要的,因為這部分內容是很好解決 permission denied 問題的關鍵。

權限屬性

首先登錄 Linux 系統,使用 su - 可以切換成為 root 身份,然后執行 ls -al 會看到下面這些

linux的權限有哪些

一共有七列內容,這七列內容如下圖所示。

linux的權限有哪些

學習的時候可以直接使用 root ,因為后續的 chgrp,chown 等指令都需要 root 來處理,但是工作中強烈建議不要使用 root 權限。

使用 exit 可以退出 root 身份。

上面這段指令中,ls 是 list 的意思,也就是列出,而選項 -al 則表示文件詳細權限和屬性。

權限,第一列表示的是權限,權限一共通過 10 個字符來表示,我們拿 home 權限為例,來列舉各個字符表示的含義

linux的權限有哪些

第一個字符表示的是文件類型,文件類型有很多種,一般 [d] 表示的是目錄,能用cd命令進入到這個目錄中。可以看到圖中幾乎所有都是目錄。

linux的權限有哪些

如果是 [-] 則表示文件,如果是 [l] 則表示鏈接文件,如果是 [b] 則表示設備文件中的可隨機存取設備,如果是 [c] 則表示為設備文件中的一次性讀取設備(鍵盤、鼠標)。

接下來的九個字符分為三組,三個一組,分別表示所屬人、所屬群組、其他所有者權限,每組內的權限都是三個 rwx 的組合,[r] 表示可讀,[w]表示可寫,[x] 表示可執行,這里需要注意的是,如果沒有權限,就會變為 -號。

鏈接,這一列表示有多少文件名鏈接到這個節點(i-node)上,每個文件都會將它的權限和屬性記錄到文件系統的 i-node 上,不過,我們使用的目錄樹卻是使用文件名來記錄的,因此每個文件名都會關聯到一個 i-node ,所以這個屬性就是記錄有多少文件鏈接到了同一個 i-node 上。

什么是 i-node ?

i-node 的描述方式很像是我們之前聊過的 Socket,Socket 就是一個四元組,有時會加上協議類型變為五元組,如果你不太清楚我說的是什么,可以看下我的這篇文章 原來這才是 Socket!

我們知道,磁盤的最小存儲單位是扇區,操作系統在讀取扇區時,不會一個扇區接著一個扇區這樣讀取,因為效率太低,而是以塊為單位進行讀取,塊是由多個扇區組成的。

文件中的數據都存儲在扇區中,但是我們并不知道哪一塊數據是我們需要的,為了存儲一些文件的元信息,比如文件的創建者,創建日期,文件的大小,開發人員提出了 i-node ,也就是索引節點。一般來說,i-node 具有如下內容

linux的權限有哪些

具體關于 i-node 的內容,我們后面還會再說。

然后第三列表示這個文件的所屬人,由圖可見,大部分文件的所屬人都是 root 用戶。

第四列表示這個文件的所屬群組,在 Linux 系統下,你登錄的賬號會添加到一個或者多個所有人群組中,這一欄就表示對應的群組權限。

第五列表示文件大小,默認單位為字節(Bytes)。

第六列為創建這個文件的日期和最近修改日期,從圖中可以看到,這個日期格式有可能不是我們想要的,如果要顯示完整的日期格式,可以使用 ls -l --full-time,包括年、月、日、時間。

如果想要讓系統默認的語系變為英文的話,那么你可以修改系統配置文件 /etc/locale.conf,首先我們可以查看一下系統都支持哪些語言。

linux的權限有哪些

修改默認語言,輸入

vi /etc/profile

在文檔的最后輸入

export LANG="en_US.UTF-8"

就可以切換成為英文,如果想使用中文,可以輸入

export LANG="zh_CN.GB18030"

然后使用 esc + :wq 保存,保存之后使用

source /etc/profile

即可完成設置。

第七列為文件名,有一類特殊的文件名,它表示著隱藏文件,如果文件名之前多一個 . ,那就表示隱藏文件。

權限的重要性

提供系統保護:非權限用戶不能操作具有某些權限的功能和數據。

適合團隊開發和數據共享:團隊所有組成員和個人所屬能夠共享項目。

如果沒有恰當的設置系統權限,可能會造成某些泄密事件或者其他不可忽視的后果,所以權限問題大家要引起重視,下面我們就來聊一聊如何設置系統權限。

改變系統權限和屬性

我們現在知道文件權限對于一個系統安全的重要性了,現在就要聊一聊如何修改文件權限了。常用的修改文件權限的指令有

  • chgrp :改變文件所屬群組

  • chown:改變文件所有者

  • chmod:改變文件權限

chgrp

chgrp 就是 change group 的縮寫,我覺得李納斯把縮寫用到了極致,這也許是我們現在對于縮寫這么流行的原因。chgrp 能夠改變文件群組,不過,要改變群組的話,要被改變的群組名稱要在 /etc/group 文件內存在才行,否則就會顯示錯誤。

chown

既然 chgrp 能夠改變文件群組,那么 chown 能夠改變文件所有者,同樣也需要注意的是,文件所有者必須是系統中存在的賬號,也就是在 /etc/passwd 這個文件中有記錄的使用者名稱才可改變。除此之外,chown 還可以直接修改群組名稱。

chmod

變更文件權限使用的是 chmod 這個指令,但是,權限的設置有兩種方式,可以分別使用數字或者符號進行權限變更。

使用數字改變文件權限

Linux 文件基本權限有 9 種,分別是 owner/group/others 三種身份加自己的 read/write/execute 權限,這九個權限三個為一組,我們可以使用數字表示各個權限。

一般 r 表示 4;w 表示 2;x 表示 1,每種身份各自的權限是需要累加的,比如 rwx 就表示 4 + 2 + 1 = 7。比如我們最常見的 chmod 777 它就表示賦予所有的權限,也就是說誰都能看/寫/執行,所以這種文件也存在極大的安全問題。使用數字改變文件權限是我們最常用的一種方式。

使用符號改變文件權限

九種文件權限分別對應著:(1) user (2) group (3) others,所以我們可以借由 u,g,o 來代表三種身份的權限。除此之外,a 代表 all 即全部的身份。

比如我們想要給 -rwxr-xr-x 設置權限,那么我們所使用的命令應該是

chmod u=rwx,go=rx .filename

如果我們想要給所有人增加寫入權限,就可以這么操作

chmod a+w .filename

如果我們想給所有人去掉寫入權限,就可以這么寫入指令

chmod a-w .filename

我們上面列出了三種指令,分別是 =、+、- 號,= 號表示賦值指定權限,+ 號表示增加權限,- 號表示去掉某些權限,在 + 和 - 的狀態下,只要沒找到指令的項目,那么該權限不會發生變動。

Linux 目錄和文件權限

我們上面聊的都是文件權限,文件是容納數據的地方,這些文件包括一般文本文件、數據庫文件、二進制文件等,權限對于文件的意義在于

  • r(read):可以讀取文件的實際內容,比如讀取文本文件的文字內容

  • w(write):可以新增、編輯或者修改文件中的內容(不包括刪除文件)

  • x(execute):使文件具有被文件系統執行的權限。

Windows 下面判斷文件是否能夠執行的因素是看文件擴展名, 比如 .exe, .bat, .com 等等,但是在 Linux 中,判斷文件是否具有可執行權限是直接判斷文件有沒有 x 這個權限,和文件名無關。

但是在 Linux 中,不只有文件具有權限,目錄也有權限,文件是存放實際數據的地方,而目錄是記錄文件所在位置的清單,我們只有通過目錄才能找到文件放在哪里!權限對于不同的目錄,也代表著不同的概念。

r (read contents in directory):表示具有讀取目錄結構清單的權限,所以如果你具有讀取一個目錄的權限時,就代表你可以查詢目錄下的文件,所以你就可以使用 ls 將目錄的內容顯示出來。

w(modify contents of directory):寫入權限表示你具有對文件目錄和目錄中的文件進行修改的操作,主要包括

  • 刪除已經存在的文件和目錄。

  • 創建新的文件和目錄。

  • 將已存在的文件或目錄進行改名。

  • 移動目錄內文件、目錄位置。

x(access directory):這執行權限有啥用?總不能目錄也能夠被執行把?其實并不是這樣,執行權限表示著你有沒有權限進入到指定目錄下,也就是 cd(change directory) 。

Linux 文件種類和擴展名

想必大家都聽說過這樣一句話:任何設備在 Linux 下都是文件,但是文件也分為多種,除了上面介紹過的一般文件(-) 和目錄文件(d) 之外,還包括下面這些文件類型

常規文件(regular file):常規文件就是我們使用 ls -al 所顯示出來的屬性,也就是上面我們列出的第一個字符,

linux的權限有哪些

文件類型又可以分為

純文本文件(ASCII),這是 Linux 系統中最多的一種文件類型,純文本文件是我們能夠直接看到的數據,你可以使用 cat 來直接看到這部分內容。比如我們最常用的設置 Linux 靜態 ip 的文件 ens33 ,就可以使用 cat 命令來輸出

cat ifcfg-ens33

linux的權限有哪些

二進制文件,在 Linux 中,查看二進制文件可以使用 xxd 或者 od 進行格式化輸出

數據格式文件,數據文件直接使用 cat 讀取會顯示亂碼,但是它能夠通過 last 指令進行輸出

  • 目錄,目錄沒什么好說的,就是表示一個文件清單,目錄的表示就是 [d],也就是 directory。

  • 鏈接文件(link),鏈接文件就是某些程序執行時需要和這些鏈接文件進行鏈接才能執行的一種文件類型。

  • 設備與設備文件(device),Linux 下的設備分為兩種,塊設備和字符設備:

塊設備是一個能存儲固定大小塊信息的設備,它支持以固定大小的塊,扇區或群集讀取和(可選)寫入數據。每個塊都有自己的物理地址。通常塊的大小在 512 - 65536 之間。所有傳輸的信息都會以連續的塊為單位。塊設備的基本特征是每個塊都較為對立,能夠獨立的進行讀寫。常見的塊設備有 硬盤、藍光光盤、USB 盤。

塊設備一般位于 /dev/sda 下,它的第一個屬性為 [b]。

另一類 I/O 設備是字符設備。字符設備以字符為單位發送或接收一個字符流,而不考慮任何塊結構。字符設備是不可尋址的,也沒有任何尋道操作。常見的字符設備有 打印機、網絡設備、鼠標、以及大多數與磁盤不同的設備。

字符設備最大的特點就是一次性讀取,不能夠截斷輸出,舉例來說,你不可能將鼠標一下跳到另外一個地方,而是采用平滑移動的方式才可以,字符設備的第一個屬性是 [c]。

  • 數據接口文件(sockets):數據接口文件顧名思義就是利用 socket 承接網絡數據的,它的屬性是 [s],一般在 /run 或者 /tmp 這些目錄中看到。

  • 數據輸送文件(FIFO,pipe):FIFO 也是一種特殊類型的文件,它的主要目的在于解決多個程序同時存取一個文件所造成的的錯誤問題,它的第一個屬性為 [p]。

Linux 擴展名

說到這個擴展名其實就很頭疼,Linux 中是沒有擴展名這個概念的,但是又有一些擴展名的命名方式,這就很尷尬,所以暫且成為擴展類型吧。一般有下面幾種

  • *.sh ,這是一個執行腳本或者批處理腳本,一般也被稱為 shell 腳本,里面是一些 shell 語法寫的指令。

  • .tar,.tar.gz,.zip,*.tgz,這種擴展類型是打包的壓縮文件,根據不同的打包方式有不同的擴展類型

  • .html ,.php :網頁相關文件,分別代表 HTML 和 PHP 語法的網頁文件。

感謝各位的閱讀,以上就是“linux的權限有哪些”的內容了,經過本文的學習后,相信大家對linux的權限有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾西县| 南乐县| 镇远县| 泽库县| 临夏县| 德昌县| 岳阳市| 乌拉特后旗| 疏勒县| 黔江区| 浑源县| 阳朔县| 女性| 长岭县| 永清县| 金溪县| 苗栗县| 洞头县| 乐昌市| 田东县| 兴隆县| 玉山县| 宁强县| 镇巴县| 屏山县| 江油市| 威远县| 揭西县| 吉首市| 沁水县| 青海省| 利川市| 固安县| 弥勒县| 林西县| 万盛区| 玉屏| 云霄县| 犍为县| 岳普湖县| 开远市|