【Linux】权限相关命令(一)
- chmod命令
change the permissions mode of a file - 改变文件的访问权限
只有文件的属主和超级用户root才能执行这个命令权限范围的表示法如下: u 文件或目录的所有者 g 文件或目录的所属群组 o 其他用户 a 全部用户 r 读取权限,数字代号为“4” w 写入权限,数字代号为“2” x 执行或切换权限,数字代号为“1” - 不具任何权限,数字代号为“0” - s 特殊功能说明:变更文件或目录的权限
# chmod ugo+r file
# chmod a+r file
全部用户增加读权限
# chmod ugo-r file
# chmod a-r file
所有用户减去读权限
# chmod ug+rw file
文件所属者和所属组增加读写权限
# chmod o=rw file
文件其它设置权限为rw
# chmod u=rwx,g=rw,o=r file
文件所属组设置权限为rwx,所属组设置为rw,其它设置为r
# chmod ug+w,o-w file
文件所属者和所属组增加写权限,其它减去写权限
# chmod u+x file
文件所属者增加可执行权限
# chmod a-x file
文件所有用户撤销执行权限
# chmod -R a+r test/
将test目录下所有的文件和目录追加读权限 -R 以递归方式更改所有的文件及子目录
# chmod 644 file
设置文件所属者读写,所属组和其它读权限
# chmod 444 file
# chmod a-wx,a+r file
将所有用户设置为只读权限,两条等价
# chmod =r file
将所有的用户设置为只读权限
- 不具任何权限,数字代号为“0” 从左至右, 第一位数字代表文件所有者的权限 第二位数字代表同组用户的权限 第三位数字代表其他用户的权限 读取的权限等于4,用r表示; 写入的权限等于2,用w表示; 执行的权限等于1,用x表示; 0(没有权限) 4(读取权限) 5(4+1 读取+执行) 6(4+2 读取+写入) 7(4+2+1 读取+写入+执行)
- umask命令
# umask
查看当前用户权限掩码
# umask -S
以字母的形式显示新文件默认权限
# umask 022
设置当前权限022 在umask中所指定的权限是要从文件中删除的 文件原来的权限是777,那么执行该命令以后,该文件的权限为755
# umask u=,g=w,o=rwx
字母方式设置权限750
操作符 = 在umask命令和chmod命令中的作用恰恰相反 在chmod命令中,利用它来设置指定的权限,而其余权限则被删除 在umask命令中,它将在原有权限的基础上删除指定的权限
- chown命令
这个指令仅限root所使用,普通用户没有权限改变文件所属者及所属组。
# chown you:you file
修改文件所属者和所属组
# chown you file
修改文件所属者为指定用户
# chown you:you1 file
修改文件所属者和所属组
# chown :you2 file
# chown .you2 file
修改文件所属组
# chown -R you:you test/
递归修改所有的文件及子目录所属者和所属组
- chgrp命令
如果用户不是该文件的文件所有者或超级用户(root),则不能改变该文件的组
# chgrp you1 file
修改文件所属组
# chgrp -v you1 file
修改文件所属组,同时显示执行过程
# chgrp 1003 file
通过组ID修改文件所属组
# chgrp --reference=/etc/passwd file
根据指定文件改变文件的群组属性 把指定文件或目录的所属群组设成和参考文件或目录的所属群组相同
# chgrp -R you1 test/
递归修改指定目录下所有的文件和目录所属组
-c 效果类似“-v”,但仅显示更改的部分 -f 不显示错误信息 -h 只对符号连接的文件作修改,而不是其他任何相关文件 -R 递归处理,将指令目录下的所有文件及子目录一并处理 -v 显示指令执行过程 --reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同