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 內的資料
三個命令,chown
、chgrp
、chmod
分別表示修改檔案所屬使用者、修改檔案所屬使用者組、修改檔案許可權
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 所有人都不可進入 ...