Linux 關於許可權,所有者,所屬組方面的命令
1. chmod 命令 修改檔案或目錄許可權
#chmod [] 許可權模式 檔名
選項
- -R:遞迴設定許可權,給子目錄中的所有檔案設定許可權
許可權模式
chmod 命令的許可權模式的格式是"[ugoa] [[+-=] [perms]]",也就是"[使用者身份][[賦予方式][許可權]]"的格式。
使用者身份:
- -u:代表所有者(user)。
- -g:代表所屬組(group)。
- -o:代也人(other)。
- -a:代表全部身份(all)。
賦予方式:
- -+:加入許可權。
- --:減去許可權。
- -=:設定許可權。
許可權:
- -r:讀取許可權(read)。
- -w:寫許可權(write)。
- -x:執行許可權(execute)。
eg:
#chmod u+x,g+w,o+w movie //給所有者加執行許可權,給所屬組加寫許可權,給其他人家寫許可權
#chmod u-x,g-w,o-w movie //給所有者去除執行許可權,給所屬組去掉寫許可權,給其他人渠道寫許可權
#chmod u=rwx,g=rx,o=r //給所有者賦讀寫執行許可權,給所屬組賦讀執行許可權,給其他人賦讀許可權
數字許可權
- 4:代表"r"許可權。
- 2:代表"w"許可權。
- 1:代表"x"許可權。
5代表“4+1”,也就是讀、寫許可權;
7代表“4+2+1”,也就是讀、寫、執行許可權;
644:這是檔案的基本許可權,代表所有者擁有讀、寫許可權,而所屬組和其他人擁有隻讀許可權。
755:這是檔案的執行許可權和目錄的基本許可權,代表所有者擁有讀、寫和執行許可權,而所屬組和其他 人擁有讀和執行許可權。
777:這是最大許可權。在實際的生產伺服器中,要盡力避免給檔案或目錄賦予這樣的許可權,這會造成一定的安全隱患。
eg: chmod 755 movie
2. chown 命令 修改檔案和目錄的所有者和所屬組
# chown [選項] 所有者:所屬組 檔案或目錄
選項:
-R :遞迴設定許可權
#touch lange //建立lange檔案
# chown user lange //將lange檔案的所有者改為user
# chown user:user lange //將lange檔案的所有者和所屬組改為user和user組
// “:” 之前是檔案所有者,之後是所屬組。這裡的“:”也可以改為 “.” 代替。
3.chgrp 命令 修改檔案和目錄的所屬組
# touch test
#chgrp user test //將檔案所testf屬組改為user
# ll testf
-rw-r--r--. 1 root user 0 Dec 7 16:59 testf
4.umask 命令 令新建檔案和目錄擁有預設許可權
#umask
0022 //umask 值為0022 , 只看後三位,
#umask -S
u=rwx,g=rx,o=rx //-s 表示用字母表示檔案和目錄的初始許可權
umask預設許可權的計算方法
- 新建檔案的預設最大許可權是666,沒有執行(x)許可權
- 新建目錄的預設最大許可權是777
預設許可權 = 預設最大許可權 - umask (umask的值為022)
檔案預設許可權計算: 666 - 022 = 644, 666:rw-rw-rw ; 022:----w--w- 644: rw-r--r-- (執行許可權"x"不參加計算)
例如 umask = 033
666 - 033 = 644 , 666:rw-rw-rw- ; 033: ----wx-wx 644: rw-r--r--
目錄預設許可權計算: 777 - 022 = 755, 777:rwxrwxrwx ; 022:----w--w- ; 755:rwxr-xr-x