在Linux下,和文件有关的身份有用户组,所有者,others,这三种身份又有三种权限,即r(读)、w(写)、x(执行)。
首先,文件权限描述由10个字符组成,例如,“-rwxr-xr--”、"drwxr-xr-x".
其中,第一个字符的含义为:
d:表示目录
-:表示文件
l:表示连接文件
b:表示设备文件里面的可供存储的接口设备
c:表示设备文件里面的串行端口设置,例如键盘、鼠标
接下来的9个字符,分为三组,每组三个字符,均为“rwx”的三个参数组合。这三个字符的位置不会改变,如果没有某权限,则出现‘-’号。
这三组字符中,第一组表示文件所有者的权限;第二组表示同用户组的权限;第三组表示others的权限。
1、修改文件所属用户组
命令:chgrp
例如,修改文件install.log的所属用户组为users,则输入命令:
- # chgrp users install.log
2、修改文件所有者
命令:chown
例如,修改install.log的所有者为bin,则输入命令:
- # chown bin install.log
3.修改权限
命令:chmod
我们知道,Linux文件的基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x。假如文件的权限字符为:“-rwxrwxrwx”,这9个权限是三个三个一组的,我们可以使用数字表示权限:
r->4
w->2
x->1
所以,当文件权限为“-rwxrwx---”时,分数是:
owner->4+2+1=7
group->4+2+1=7
others->0+0+0=0
此时文件的权限数字就是770.
假如有一文件bashrc,权限字符为“-rwxrwxrwx”,我们需要修改为“-rwxr-xr--”,计算得权限数字为754,所以,执行命令:
- # chmod 754 bashrc
还有一个改变权限的办法。我们知道文件有9个基本权限,分别是owner、group和others三种身份各自的三个权限,我们用u、g、o代表三种身份,用a(all)代表所有身份,得到下表:
例如,我们可以这样设置文件bashrc的权限:
- # chmod u=rwx,go=rx bashrc
即user权限为rwx,group和others的权限均为rx。
如果我们想让每个人都可对文件bashrc写入,则可以:
- # chmod a+w bashrc
而如果要将权限去掉,则用-。例如我们去掉全部人的执行权限:
- # chmod a-x bashrc