Linux 檔案許可權

2021-09-25 11:07:08 字數 4866 閱讀 6203

linux 中任何乙個檔案都具有「擁有者、所屬使用者組與其他使用者」三種許可權,乙個使用者可屬於多個使用者組。所有使用者的相關資訊都記錄在/etc/passwd檔案中,密碼記錄在/etc/shaodw檔案,使用者組記錄在/etc/group檔案。

root 使用者許可權最高,不算做其他使用者

[root@cloudserver ~]

# ls -alih

total 36k

67146818 -rw-------. 1 root root 1.3k jan 14 2019 anaconda-ks.cfg

67146820 -rw------- 1 root root 2.5k jul 21 19:18 .bash_history

67813855 -rw-r--r--. 1 root root 18 dec 29 2013 .bash_logout

67852992 -rw-r--r--. 1 root root 176 dec 29 2013 .bash_profile

67852993 -rw-r--r--. 1 root root 176 dec 29 2013 .bashrc

67852994 -rw-r--r--. 1 root root 100 dec 29 2013 .cshrc

102158430 drwxr-xr-x 2 root root 40 jan 14 2019 .oracle_jre_usage

102000633 drwxr----- 3 root root 19 jul 20 22:32 .pki

102163205 drwx------ 2 root root 29 jul 20 00:01 .ssh

67852995 -rw-r--r--. 1 root root 129 dec 29 2013 .tcshrc

67206596 -rw------- 1 root root 5.2k jul 21 20:30 .viminfo

[root@cloudserver ~]

# ls -ld

dr-xr-x---. 5 root root 200 jul 21 20:30 .

-a:顯示以 . 開頭的隱藏檔案

-a:排除-a中的 . 和 …

-i:顯示檔案的索引節點號

-d:顯示目錄自身屬性

分為七個部分:

檔案型別與許可權

檔案型別:普通檔案(-)、目錄檔案(d)、鏈結檔案(l

許可權:當前使用者、同使用者組的許可權、其他使用者許可權,rwx 用數字表示就是 421

有多少檔名鏈結到此節點(inode)

檔案擁有者

該檔案所屬使用者組

檔案大小:預設為 byte

[root@cloudserver ~]

# stat anaconda-ks.cfg

file: 『anaconda-ks.cfg』

size: 1279 blocks: 8 io block: 4096 regular file

device: fd00h/64768d inode: 67146818 links: 1

access: (0600/-rw-------) uid: ( 0/ root) gid: ( 0/ root)

access: 2019-07-21 21:21:00.034333936 +0800

modify: 2019-01-14 19:11:11.167986488 +0800

change: 2019-01-14 19:11:11.167986488 +0800

birth: -

[root@cloudserver ~]

# chmod a+r anaconda-ks.cfg

[root@cloudserver ~]

# stat anaconda-ks.cfg

file: 『anaconda-ks.cfg』

size: 1279 blocks: 8 io block: 4096 regular file

device: fd00h/64768d inode: 67146818 links: 1

access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)

access: 2019-07-21 21:21:00.034333936 +0800

modify: 2019-01-14 19:11:11.167986488 +0800(內容沒變,不修改這個屬性)

change: 2019-07-21 22:28:09.726788980 +0800(許可權改變了,這個屬性跟著修改)

birth: -

access:使用 cat、grep、less 等命令檢視檔案內容的時間

modify:檔案「內容」改變的時間

change:檔案的元資料(屬性)發生改變的時間,如改變所屬使用者、所屬組等資訊

檔名為啥檔案(或目錄)知道所屬的使用者以及使用者組名稱呢?其實檔案都會有所屬者 id 與所屬組 id,當我們有要顯示檔案屬性的需求時,系統會依據/etc/passwd/etc/group的內容, 找到 uid/gid 對應的帳號與群組名稱再顯示出來!

對檔案來說,w意味著可以修改該檔案的內容(但不包含刪除檔案),x意味著該檔案有被執行的許可權(真正是否能執行與檔案內容有關)。

目錄主要負責記錄檔名列表

如果使用者只對某目錄擁有 r 許可權,只能檢視該目錄下的檔名稱和型別,連檔案大小以及各種屬性都看不到。如 test1 使用者只擁有/home/test2目錄的讀許可權,只能看到該目錄下的檔名稱

[test2@mypersonalcentos ~]$ ls -al

total 36

drwxr-xr-- 5 test2 test2 4096 apr 21 14:55 .

[test1@mypersonalcentos ~]$ ls -l /home/test2/

ls: cannot access /home/test2/learn: permission denied

total 0

d????????? ? ? ? ? ? learn

能完成任務的最小許可權
如果使用者對某目錄沒有 x 許可權,無法執行該目錄下的任何命令,也不能查詢該目錄下的檔案內容。

操作動作

/dir1

/dir1/file1

/dir2

解釋讀取 file1 內容xr

-要能夠進入 /dir1 才能讀到裡面的檔案資料!

修改 file1 內容xrw

-能進入且能修改

刪除 file1 檔案wx-

-能夠進入 /dir1 具有目錄修改的許可權即可!

將 file1 複製到 /dir2xr

wx要能夠讀 file1 且能夠修改 /dir2 內的資料

三個命令,chownchgrpchmod分別表示修改檔案所屬使用者、修改檔案所屬使用者組、修改檔案許可權

chmod語法分為兩種,一種是用數字修改,另一種是用符號修改檔案許可權。

使用數字修改,分別是421將對應位置上的數字相加,例如:

# 在 /home/test2 目錄下,其他使用者都不可進入

[test2@mypersonalcentos ~]$ ls -al

drwxr-x--- 5 test2 test2 4096 apr 25 20:00 .

[test1@mypersonalcentos ~]$ cd /home/test2/

bash: cd: /home/test2/: permission denied

# 使用 chmod 修改為其他使用者可進入,test1 就能進入這個目錄了

[test2@mypersonalcentos ~]$ chmod 705 .

[test2@mypersonalcentos ~]$ ls -al

drwx---r-x 5 test2 test2 4096 apr 21 14:55 .

使用符號型別修改檔案許可權,格式為[範圍][修改][某許可權]u所屬使用者,g使用者組,o其他使用者,a全部使用者,用於修改的符號有+-=,許可權還是那三個rwx。現在再把/home/test2目錄的其他使用者許可權關閉:

[test2@mypersonalcentos ~]$ chmod o-rx .

[test2@mypersonalcentos ~]$ ls -al

total 36

drwx------ 5 test2 test2 4096 apr 21 14:55 .

Linux檔案許可權

linux使用者分為 擁有者 組群 group 其他 other linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關資訊,都是記錄在 etc passwd檔案中。每個人的密碼則是記錄在 etc shadow檔案下。此外,所有的組群名稱記錄在 etc group內!圖...

Linux檔案許可權

linux使用者分為 擁有者 組群 group 其他使用者 other linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關資訊,都是記錄在 etc passwd檔案中。每個人的密碼則是記錄在 etc shadow檔案下。此外,所有的組群名稱記錄在 etc group...

linux檔案許可權

檔案的許可權由三個部分組成 u user g group o other 每個部分的許可權又分別 r 4讀 w 寫2 x 執行1 下面以 var www資料夾設定許可權,了解如何設定檔案許可權 chmod a x var www 所有人都可進入 chmod a x var www 所有人都不可進入 ...