原文网址: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
- 改变dir文件夹及其所有文件的权限为:读写执行。-R:递归
- chmod 775 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 (因为目录不能有可执行权限)
chown
chown [option] user[:group] file示例
- chown aa dir/ -R
- 把dir/及其子目录里边的文件权限改为aa
- 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:不遍历任何符号链接。(默认选项)