文件权限的字符与数字表示 | |||||||||
---|---|---|---|---|---|---|---|---|---|
访问权限 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 (user) | 文件所属组 (group) | 其他用户 (others) |
chgrp命令:修改文件和目录的所属组
格式:[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)
-R(注意是大写)选项长作用于更改目录的所属组,表示更改连同子目录中所有文件的所属组信息。
用此命令需要注意的一点是,要被改变的群组名必须是真实存在的,否则命令无法正确执行,会提示 "invaild group name"。
举例:
[root@node1 ~]# groupadd jack //新建用于测试的组jack
[root@node1 ~]# touch /a.txt //在/目录下创建一个a.txt文件
[root@node1 ~]# chgrp jack /a.txt //修改a.txt文件的所属组为jack
[root@node1 ~]# ll -a /a.txt //查看a.txt文件的信息
chmod命令:修改文件或目录的权限
格式:[root@localhost ~]# chmod [-R] 权限值 文件名
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
我们可以使用 u, g, o 来代表三种身份的权限。
此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:
chmod | u g o a | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
举例:[root@node1 ~]# chmod -R 777 /a.txt //给a.txt权限加满,(7为所有权限,三个7是把该文件所属用户,所属组和其他用户给出相同的权限也就是所有权限)
也可写成:
[root@node1 ~]# chmod ugo=rwx a.txt //将文件 a.txt 设为拥有者,属组,其他人皆可拥有读,写,执行的权限
[root@node1 ~]# chmod a=rwx a.txt // a 则代表 all,即全部的身份
- user = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= rwx = 4+2+1 = 7
chown命令:修改文件属主,也可以同时修改文件属组
格式:[root@localhost ~]# chown [-R] 属主名 文件名
[root@localhost ~]# chown [-R] 属主名: 属组名 文件名
举例:
[root@node1 ~]# cd /
[root@node1 /]# chown bob a.txt //修改a.txt文件的属主为bob
[root@node1 /]# ls -l a.txt
-rwxrwxrwx. 1 bob jack 0 3月 27 23:27 a.txt
将a.txt文件的拥有者和属组改为root
[root@node1 /]# chown -R root:root a.txt //修改a.txt文件的属主为root,属组也为root
[root@node1 /]# ls -l a.txt
-rwxrwxrwx. 1 root root 0 3月 27 23:27 a.txt