原文网址:Linux命令--权限(chmod、chown)--使用/实例_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Linux的权限命令。包括:chmod、chown等。
chmod
ls -l 第一列即文件属性

文件属性第一个字符:
- “-” 表示该文件是一个普通文件
- “d” 表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写
- “l” 表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式
- “b” 表示块设备文件(block),一般置于/dev目录,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。
- 没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最
- 小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
- “c” 表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如:键盘、字符终端等,传输数据的最小单位为一个字节。
- “p” 表示该文件为命令管道文件。与shell编程有关的文件。
- “s” 表示该文件为sock文件。与shell编程有关的文件。
/etc/passwd 账号及root
/etc/shadow 密码
/etc/group 组群名称
示例
- chmod 777 dir/ -R
- chmod +x file1
- chmod u+x,g+w file1
- chmod a+w file1
- chmod u=rwx,g=rw,o=r file1
umask
作用
创建文件或者目录时会有默认的权限,比如文件:775,目录:664,可以用umask来改变创建时的权限。
示例
- umask
- 查看当前创建时的默认权限(权限的反码),如:002
- umask -S
- 查看当前创建时的默认权限(权限的反码),如:u=rwx,g=rwx,o=rx
- umask 022
- 设置创建时的默认权限。此时,文件权限是775,目录权限是644 (因为目录不能有可执行权限)
如果想在登陆时就默认是这样的权限 ,在/etc/profile, $HOME/.bash_profile, $HOME/.bashrc, $HOME/.bash_login, $HOME/.profile中任意一个环境变量中写入命令即可
chown
chown [option] user[:group] file
示例
- chown aa dir/ -R
- chown aa:group1 dir/ -R
- 把dir/及其子目录里边的文件权限改为aa,而且改为group1组
选项
- -c或--changes:效果类似“-v”参数,但仅回报更改的部分;
- -f或--quite或--silent:不显示错误信息;
- -h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
- -R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
- -v或--version:显示指令执行过程;
- --dereference:效果和“-h”参数相同;
以下三个选项与 -R 配合使用,用于递归操作时确定遍历的方式:
- -H:如果命令行参数是一个符号链接指向一个目录,则遍历它
- -L:遍历每一个符号链接指向的目录
- -P:不遍历任何符号链接。(默认选项)