前言
linux是一个多用户的操作系统,可见权限在linux中的重要性。
指令
1.查看文件相关信息
ls -l 文件名 查看文件的相关信息,如下图
这里查看了zip的相关信息
- rwxr-xr-x 这一串字符3个一组,代表文件的所属主,所属组,其他人这三种角色的权限,r读,w写,x执行.
- 权限字符前面的 ‘-’代表文件类型为普通类型
- 紧跟权限的数字1,代表文件的硬连接数为1
- 后面的两个root分别代表文件的所属主和所属组
- 215840文件大小
- 最后修改时间
- 文件的全路径名
查看目录用 ls -ld 目录名
2.更改文件的所属主或所属组
chown (-R这个-R可要可不要) 所属主:所属组 文件名
-R表示设置的所属主递归该文件目录下的所有子文件都有效
eg:
chown user1:group1 test
把test的所属主变成user1,所属组变成group1
chown -R user1:group1 test
同时将test下的所有文件的所属主变成user1,组变成group1
若只变所属主:group可以省略,如 chown user1 test
将test的所属主变成user1
若只变所属组,:不可省略,如 chown :group1 test
将test的所属组变成group1
变换组也可以使用cherp命令,效果一样 cherp group1 test
3.对文件的权限进行修改
我们知道一个文件的权限是由 rwxr-xr-x这一串字符组成的,修改文件权限的命令是chmod
首先是一种麻烦的记录方法,我们不会用,我简单讲下,首先几个字母代表的意思 (u属主)(g属组)(o其他人)(a所有人)(r读权限)(w写权限)(x执行权限),有了这些代表,我们就可以表示权限的修改了
- chmod u+r test ……..test的所属主增加读权限
- chmod g-r,g-x,o+r test ……….test的所属组删除读与执行权限,其他用户增加读权限
- chmod ug=rw,o=r test …………..test的所属主和所属组委读写权限,其他为读权限
这样表示肯定很复杂,所以我们用了另一种语法来表示,如 chmod 777 test ,这里的777代表给所有用户分配所有权限。那这个怎么看呢。。我们来看看
首先,我们一个用户的权限是这样表示的 rwx r-x.即一个权限位就两种状态,有或者没有,所以我们可以用二进制来表示,0代表没有,1代表有,所以rwx就是111,而111用八进制来表示就是7,所以一个rwxrwxrwx即所有用户所有权限的表示就是777,特别的记住就是r代表4,w代表2,x代表1,所以rwx就是7,这样就会好记的多
现在比如我要分配一个文件属主全权限,属组和其他人只有读写和执行权限,写法是rwx r-x r-x ,其中,rwx为7,r-x为5,所以八进制表示就是755
所以我们一般用八进制表示法来分配权限,如下
chmod 777 test为所有人分配所有权限,对应rwx rwx rwx
chmod 751对应 rwx r-x –x