更改文件的權(quán)限
命令名稱:chmod
命令英文原意:change the permissions mode of a file
有兩種角色可以執(zhí)行該命令,一種是 root 用戶,另一種就是文件的所有者。
語法:
chmod [{ugoa} {+-=} {rwx}] [文件或目錄]
[mode=42] [文件或目錄]
-R 遞歸修改
大括號里的內(nèi)容表示只能選一個,其中 u 表示該文件的所有者,g 表示所屬組,o 表示其他人,a 表示所有角色。
比如,給 abc.txt 文件的所屬組加一個寫的權(quán)限:
chmod g+w abc.txt
也可以同時做多個授權(quán),比如給文件所有者加上執(zhí)行權(quán)限,給其他人去掉寫權(quán)限:
chmod u+x,o-w abc.txt
還可以用數(shù)字表示權(quán)限。權(quán)限的數(shù)字表示:
r ---- 4
w ---- 2
x ---- 1
如果一個文件的權(quán)限是 rw-r--r--,那么翻譯成數(shù)字就是 644,反過來,如果要更改文件的權(quán)限,可以這樣寫:
chmod 644 abc.txt
這樣文件的權(quán)限就改成 rw-r----- 了。
還有一個選項 -R 是遞歸修改權(quán)限,該選項的功能是更改某個目錄的權(quán)限的同時更改該目錄下所有的子目錄和文件的權(quán)限。
chmod -R 644 tmp
更改文件的所有者
命令名稱: chown
英文原意:change owner
語法:chown 用戶名 文件
只有管理員賬戶可以更改文件的所屬用戶。
例如:
chown supermouse abc.txt #將abc.txt文件的所有者改成supermouse
更改文件的所屬組
命令名稱:chgrp
英文原意:change group
語法:chgrp 組名 文件
例如:
chgrp staff abc.txt #將abc.txt文件的所屬組改成staff
查看并更改文件的默認權(quán)限
命令名稱:umask
使用命令 umask -S可以查看新建文件或目錄的默認權(quán)限。
[root@localhost ~]# umask -S
u=rwx,g=rx,o=rx
現(xiàn)在顯示的是新建目錄的默認權(quán)限,該目錄的所有者的默認權(quán)限是 rwx,所屬組的默認權(quán)限是 rx,其他人的默認權(quán)限是 rx。為什么說這是新建目錄的默認權(quán)限而不是新建文件的默認權(quán)限,如果你查看新建文件的權(quán)限,會發(fā)現(xiàn)是 rw-r--r--,與新建目錄的權(quán)限 rwxr-xr-x 相比,每種角色的權(quán)限都少了 x。所以說,只要知道了新建目錄的默認權(quán)限,再去掉 x 權(quán)限,就是新建文件的默認權(quán)限。
如果直接執(zhí)行 umask 命令,會顯示一個數(shù)字。
[root@localhost ~]# umask
0022
這個數(shù)字叫做權(quán)限掩碼,用 777 減去其后三位 022 就得到了每種角色的權(quán)限,即 755。翻譯成字母就是 rwxr-xr-x。
若想更改新建目錄或文件的默認權(quán)限,只需執(zhí)行 umask 權(quán)限掩碼 即可。
例如,我想把新建目錄的默認權(quán)限改成 rwxr-r--,翻譯成數(shù)字就是 744,再用 777 減去 744 就得到了權(quán)限掩碼 033。
umask 033 #將默認權(quán)限改成rwxr--r--
雖然 Linux 系統(tǒng)的目錄或文件的默認權(quán)限可以修改,但是 Linux 這樣分配權(quán)限是有一定道理的,最好不要輕易修改。