看書學習之linux檔案許可權
一.檔案屬性
[[email protected] Desktop]$ ls -al
total 1322772
drwxr-xr-x 9 kiosk kiosk 4096 Dec 29 18:40 .
drwx------. 18 kiosk kiosk 4096 Dec 29 18:40 ..
drwx------ 5 kiosk kiosk 4096 Sep 11 17:43 books
-rw-rw-r-- 1 kiosk kiosk 322 Nov 10 16:15 ip-host
drwx------ 4 kiosk kiosk 37 Aug 28 22:06 linux
-rw-rw-r-- 1 kiosk kiosk 97 Nov 10 18:03 ll
-rw-rw-r-- 1 kiosk kiosk 97 Nov 10 18:03 ll
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5] [ 6 ] [ 7 ]
[1].檔案許可權:- | rw- | rw- | r--
第一個字元:
若是[d],則代表目錄
若是[-],則代表檔案
若是[l],則代表為連線檔案
若是[b],則表示裝置檔案裡面可供儲存的介面裝置
若是[c],則表示裝置檔案裡面的串列埠裝置,例如鍵盤,滑鼠(一次性讀取裝置)
接下來的字元中,以三個為一組,且均為“rwx”的組合。其中[r]代表可讀,[w]代表可寫,[x]代表可執行。這三個許可權位置不會改變,如果沒有許可權,就會出現[-].
*第一組為“檔案所有者許可權”。
*第二組為“同用戶組的許可權”。
*第三組為“其它非本使用者組的許可權”。
ps:目錄與檔案許可權意義並不相同,不可一概而論,目錄許可權會在後期補充
[2].表示有多少檔名連線到此節點。
[3].表示這個檔案(或目錄)的“所有者帳號”
[4].表示這個檔案的所屬使用者組。
[5].表示這個檔案容量大小,預設單位為B。
[6].顯示這個檔案的建立檔案日期或者是最近修改日期。
[7].表示為該檔名稱
二.改變檔案屬性與許可權
*chgrp:改變檔案所屬使用者組
*chown:改變檔案所有者
*chmod:改變檔案許可權
1.改變所屬使用者組
操作格式:
[[email protected] mnt]# chgrp [-R] dirname/filename ...
引數:
-R:進行遞迴的持續更改,即連同子目錄下的所有檔案,目錄。
例:
[[email protected] mnt]# ls -l
total 28
-rw-r--r-- 1 root root 0 Dec 8 16:28 acltest
-rw-r--r-- 1 root root 0 Nov 24 17:36 bashrc
-rw-r--r-- 1 root root 13 Dec 2 19:42 catfile
-rw-r--r-- 1 root root 15 Dec 3 18:59 file
......
[[email protected] mnt]# chgrp LoL file(修改命令)
[[email protected] mnt]# ls -l
total 28
-rw-r--r-- 1 root root 0 Dec 8 16:28 acltest
-rw-r--r-- 1 root root 0 Nov 24 17:36 bashrc
-rw-r--r-- 1 root root 13 Dec 2 19:42 catfile
-rw-r--r-- 1 root LoL 15 Dec 3 18:59 file
......
其中檔案file的使用者組被修改為LoL
2.改變檔案所有者:chown
操作格式:
[[email protected] mnt]# chown [-R] 帳號名稱 檔案或目錄
[[email protected] mnt]# chown [-R] 帳號名稱:組命 檔案或目錄
引數:
-R:進行遞迴的持續更改,即連同子目錄下的所有檔案都更改
例:
[[email protected] mnt]# ls -l
total 28
......
-rw-r--r-- 1 root root 15 Dec 3 18:59 file
-rw-r--r-- 1 root root 0 Dec 3 18:49 file2
......
[[email protected] mnt]# chown LoL file
[[email protected] mnt]# ls -l
total 28
......
-rw-r--r-- 1 LoL root 15 Dec 3 18:59 file
-rw-r--r-- 1 root root 0 Dec 3 18:49 file2
......
file檔案所有者被改變
[[email protected] mnt]# ls -l file2
-rw-r--r-- 1 root root 0 Dec 3 18:49 file2
[[email protected] mnt]# chown LoL:LoL file2
[[email protected] mnt]# ls -l file2
-rw-r--r-- 1 LoL LoL 0 Dec 3 18:49 file2
file檔案所有者與使用者都被改變
3.改變許可權:chmod
**數字型別改變檔案許可權
檔案基本許可權有9個,分別是owner.group.others三種身份都有自己的r.w.x許可權,我們可以用數字來代表各個許可權:
r:4
w:2
x:1
每種身份(owner.group.others)的許可權(r.w.x)數字是需要累加的,例如[-rwxr-x---],其中:
owner = rwx = 4+2+1 = 7
group = r-x = 4+0+1 = 5
others= --- = 0+0+0 = 0
所以當權限更改時,該檔案的許可權數字就是750,更改許可權chmod的語法如下:
[[email protected] mnt]# chmod [-R] xyz 檔案或目錄
引數:
[-R]:進行遞迴的持續更改
[xyz]:就是剛說道的數字型別的許可權屬性,為rwx屬性數字相加
例:
[[email protected] mnt]# ls -l file
-rw-r--r-- 1 LoL root 15 Dec 3 18:59 file
[[email protected] mnt]# chmod 777 file
[[email protected] mnt]# ls -l file
-rwxrwxrwx 1 LoL root 15 Dec 3 18:59 file
**符號型別改變許可權
由上我們得知,一個檔案基本上有9個許可權,分別是owner.group.others3種身份。我們可以通過u.g.o來代表3中身份許可權。此外,a代表all。指全部的身份。那麼讀寫許可權就可以寫成r.w.x,可以如表所示:
chmod |
u g o a |
+ (加入) -(除去) =(設定) |
r w x
|
檔案或目錄 |
例:
將一個檔案許可權改成“-rwxr-xr-x”
[[email protected] mnt]# ls -l file
-rwxrwxrwx 1 LoL root 15 Dec 3 18:59 file
[[email protected] mnt]# chmod u=rwx,go=rx file
[[email protected] mnt]# ls -l file
-rwxr-xr-x 1 LoL root 15 Dec 3 18:59 file
給每個人都擁有寫入許可權
[[email protected] mnt]# chmod a+w file
[[email protected] mnt]# ls -l file
-rwxrwxrwx 1 LoL root 15 Dec 3 18:59 file
給每個人都擁有執行許可權
[[email protected] mnt]# chmod a-x file
[[email protected] mnt]# ls -l file
-rw-rw-rw- 1 LoL root 15 Dec 3 18:59 file