一、chmod
可以使用chmod命令,修改文件、文件夹的权限信息
注意:只有文件、文件夹的所属用户或root用户可以修改。
chmod [-R] 权限 文件或文件夹
如果不使用-R,只修改文件;如果使用-R,对文件夹内的全部内容应用同样的操作
1. 修改文件权限
touch test.txt
[root@localhost /]# ls -l
-rw-r--r--. 1 root root 0 Jul 20 04:56 test.txt
修改:
chmod u=rwx,g=rx,o=rwx test.txt
修改后:
-rwxr-xrwx. 1 root root 0 Jul 20 04:56 test.txt
2.修改文件夹权限
修改前:
drwxr-xr-x. 2 root root 6 Jul 20 04:56 test
修改: chmod -R u=x,g=x,o=x test
修改后:
d--x--x--x. 2 root root 35 Jul 20 05:00 test
cd test
[root@localhost test]# ls -l
total 4
---x--x--x. 1 root root 12 Jul 20 04:43 2.txt
---x--x--x. 1 root root 0 Jul 20 04:56 test.txt
注意:如果想只改文件夹属性,不动里面文件权限的话,就不要加R
但是!
7 5 1
user = 7
group = 5
other = 1
查表:
chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。
# | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r– | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | –x | 001 |
0 | 无 | — | 000 |
例如, 765 将这样解释:
- 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
- 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
- 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
这个清楚:
-rwxr-x--x. 1 root root 0 Jul 20 05:09 3.txt
二、chown
使用chown命令,可以修改文件、文件夹的所属用户和用户组
注:普通用户无法修改为所属为其他用户或组,因此该命令只适用于root用户执行
chown [-R] [用户] [ :] [用户组] 文件或文件夹
示例:
chown root hello.txt // 把hello.txt所属用户修改为root
chown : root hello.txt // 将hello.txt所属用户组修改为root,加上:代表修改的是用户组
chown root: itheima hello.txt // 将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test // 将文件夹test的所属用户修改为root,并对文件夹内的全部内容应用同样规则
// 将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test // 将文件夹test的所属用户修改为root,并对文件夹内的全部内容应用同样规则
: 左边修改的是用户,右边修改的是用户组