linux基础命令之如何修改文件属性和权限

时间:2021-07-01 08:15:19

chgrp:改变文件所属用户组。

chown:改变文件所有者

chmod:改变文件的权限

1、改变所属用户组:chgrp

chgrp是change group的简称,作用是改变用户所属组,但请记得,被改变的组名必须在/etc/group文件内存在才行,否则就会显示错误

命令格式:

chgrp    [-R]    dirname/filename ...

选项与参数

-R:进行递归的持续更改,也即连同子目录下的所有文件、目录都更新成为这个用户组之意;

范例:以root身份登录Linux系统,将主文件夹里的install.log的文件用户组改为存在/etc/group文件夹里的users组,和一个不存在/etc/group里的用户组testing

[root@www ~]# chgrp users install.log

[root@www ~]# ls -l

-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log

[root@www ~]# chgrp testing install.log

chgrp:invalid group name 'testing'    《==错误信息发生,找不到这个用户组名

2、改变文件所有者:chown

chown是change owner的简称,作用是改变文件所有者;注意,用户必须是已经存在于系统中的账号,也就是/etc/passwd这个文件中有记录的用户名称才能改变。

另外,chown还可顺便修改用户组的名称。

命令格式:

chown    [-R]    账号名称    文件或目录

chown    [-R]    账号名称:组名    文件或目录

参数:-R    进行递归的持续更改,连同子目录下的所有文件、目录都更改;

范例:将install.log的所有者改为bin这个账号(请看上面注意事项)

[root@www ~]#  chown bin install.log

[root@www ~]# ls -l

-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log

范例:将install.log的所有者改回为root

[root@www ~]# chown root:root install.log

[root@www ~]# ls -l

-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

3、改变文件权限:chmod

文件权限的改变使用的是chmod命令,但权限设置的方法有两种,分别可以使用数字或者是符号来进行权限的修改。

3.1数字类型改变文件权限

r:4

w:2

x:1

每种身份(owner、group、other)各自的三个权限(r、w、x)分数是需要累加的,例如当权限为[-rwxrwx---],分数则是:

owner=rwx=4+2+1=7

group=rwx=4+2+1=7

other=---=0+0+0=0

所以我们设置该权限是为770.

命令格式:

chmod    [-R]    xyz    文件或目录

参数:

xyz:就是刚提到的数字类型的权限属性,为rwx属性数值的相加

-R: 进行递归的持续更改,连同子目录下的所有文件、目录都更改;

范例:将 .bashrc 这个文件所有的权限设置为启用

[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

3.2、符号类型改变文件权限

基本就9个权限,分别是user、group、others 3 种身份。可通过u,g,o老代表3种身份的权限。此外还有 a 代表all,也即全部的身份。那么读写的权限就可以写成r,w,x

范例:设置.bashec的文件权限为“-rwxr-xr-x”

[root@www ~]# chmod u=rwx,go=rx  .bashrc

#注意那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格。

[root@www ~]# ls -al .bashrc

-rwxr-xr-x 1 root root 395 Jul 4 11:45  .bashrc

范例二:将例一中每个人都增加可写权限

[root@www ~]# chmod a+w .bashrc

[root@www ~]# ls -al .bashrc

-rwxrwxrwx 1 root root 395 Jul 4 11:45  .bashrc

范例三:将所有人的可执行权限去掉

[root@www ~]# chmod a-x .bashrc

[root@www ~]# ls -al .bashrc

-r-xr-xr-x 1 root root 395 Jul 4 11:45  .bashrc