---------------------------------------------------------------------------------
U代表User,G代表Group,O代表Other
每一個文件的權限基於UGO進行設置
權限三個一組(rwx),對應UGO分別設置
每一個文件擁有一個所屬用戶和所屬組,對應UG,不屬於該文件所屬用戶或所屬組的使用O權限
命令ls -l可以查看當前目錄下的文件信息
drwxrwxr-x 2 shuangde shuangde 4096 8月 25 00:33 hdu
-rw-rw-r-- 1 shuangde shuangde 26 8月 24 22:50 input.txt
drwxrwxr-x
d: 文件類型, d表示是目錄,-表示是普通文件
rwx: U權限
rwx: G權限
r-x: Other權限, -代表沒有該權限
$ chown shuangde test.cpp 把test.cpp文件的用戶修改為shuangde
-R 參數遞歸地修改目錄下的所有文件的所屬用戶
命令chgrp(change group)用來改變文件的所屬組:
$ chgrp lab104 test.cpp 把test.cpp文件的所屬組修改為lab104
-R 參數遞歸地修改目錄下的所有文件的所屬組
模式為如下格式:
u,g,o分別代表用戶,組和其他
a可以代指ugo
+, -代表加入或刪除對應的權限
r, w, x代表三種權限
示例:
$ chmod u+rw test.cpp 把test.cpp的用戶權限增加rw
$ chmod g-x test.cpp 把test.cpp的組權限刪除x
$ chmod go+r test.cpp 把test.cpp的組和其他權限增加r
$ chmod a-x test 把test.cpp的ugo權限刪除x
命令chmod也支持以數字(二進制)方式修改權限, 3個權限分別由三個數字表示:
-r = 4 (2^2)
-w = 2 (2^1)
-x = 1 (2^0)
實際上就是按照二進制: 111, 每位代表rwx相同順序的位置,如果該位為0,則表示沒有該權限。
沒有權限 = 0
使用數字表示權限時,每組分別為對應數字之和:
rw = 4 + 2 = 4 | 2 = 6
rwx = 4 + 2 + 1 = 4 | 2 | 1 = 7
r-x = 4 + 1 = 4 | 1 = 5
所以,使用數字表示ugo權限使用如下方式表示:
chmod 660 test.cpp 等價於 rw-rw----
chmod 775 test.cpp 等價於 rwxrwxr-x