一、文件属性详解
drwxr-xr-x
属性主要分为4个部分:
第一部分
第一个字母,表示文件类型
- d 表示目录
- — 表示普通文件
- b 表示输入输出设备(可随机存取装置)
- l 表示链接文件
- c 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
第2部分
从第2个字符到第4个字符,表示文件所有者权限
第3部分
从第5个字符到第7个字符,表示文件群组权限
第4部分
从第8个字符到第10个字符,表示其他用户的权限
其中 r 表示读权限,w 表示写权限,x表示执行权限,- 表示没有权限
二、更改文件权限命令chmod
文件属性有两种设置方法,一种是数字,一种是符号。
例如 drwxr-xr-x
当前 test 文件的权限是:
- 所有者-可读可写可执行
- 用户组-可读可执行,不能写
- 其他用户-可读可执行,不能写
1、 用数字表示
chmod [-R] xyz 文件或目录
选项与参数:
- -R 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
- 其中 xyz 表示权限数字
各个权限符号可以用数字表示:
- r : 4
- w : 2
- x : 1
每种身份(owner/group/others)各自三个权限(r/w/x)是需要分数累加的,例如当权限为-rwxr-xr-x
分数则是:
- owner 4+2+1 = 7
- group 4+0+1 = 5
- others 4+0+1 = 5
我们在更改test.sh文件权限的时候,用数字表示就是:
chmod 755 test
如果想要一起更改目录下的文件的权限,执行
chmod -R 755 test
2、用符号表示
chmod [ugoa] [[+ / - / =] [rwx]] [文件名]
其中的 + 表示添加权限,- 表示减去权限,= 表示设定权限
用符号表示上边的test.sh的权限-rwxr-xr-x
为:
chmod u=rwx g=rx o=rx
三、超级用户更改文件拥有者和关联组 chown
注意
:chown需要超级用户root
权限才能使用,只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。
-
将 test 的拥有者设置为 user1:
chown user1 test
-
将 test 的拥有者改成 root, 所属组为 root:
chown root:root test
-
将当前前目录下的所有文件与子目录的拥有者皆设为 root,群体的使用者 root:
chown -R root:root test
四、普通用户改变文件所属的组 chgrp
与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员
-
更改文件的群组属性为staff:
chgrp staff test
-
将test目录下的所有文件的所属组都改为staff:
chgrp -R staff test