Linux 更改文件属性
1、chgrp:改属组 change group
语法:1
chgrp [-R] 属组名 文件名
参数选项 [-R]: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:改属主,也可以同时更改属组 change owner
语法:1
2chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
进入 /root 目录(~)将install.log的拥有者改为bin这个账号:1
2
3
4[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
3、chmod:更改文件9个属性
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
例如:文件的权限字符为:『-rwxrwxrwx』, 可以使用数字来代表各个权限,各权限的分数对照表如下:
- r:4
- w:2
- x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 结果:
1 | owner = rwx = 4+2+1 = 7 |
设定权限变更为:770
语法1
chmod [-R] xyz 文件或目录
参数 xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。eg: 770
Example: 将.bashrc这个文件所有的权限都设定启用1
2
3
4
5[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成 -rwxr-xr– 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。
符号类型改变文件权限
另一种改权限的方式。针对user,group,others设置权限。
- user
- group
- others
那么我们就可以使用 u, g, o 来代表三种身份的权限。
可选 :
- u
- g
- o
- a (指所有,即全部的身份)
操作符:
- 加入
- 除去
- = 设定
权限: - r
- w
- x
可以使用以下语法来设定:1
chmod u=rwx,g=rwx,o=rwx 文件名
Example:将文件权限设置为 -rwxr-xr– ,1
2
3
4
5
6# touch test // 创建文件
# ls -al test // 查看默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test
# chmod u=rwx,g=rx,o=r test // 修改权限
# ls -al test
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test
而如果是要将权限去掉而不改变其他已存在的权限呢?
例如要拿掉全部人的可执行权限,则:1
2
3# chmod a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1