Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定
1.在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组
ls -l
实例中, test 文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件 ,在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合,注意的,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已
- [ r ]代表可读(read)
- [ w ]代表可写(write)
- [ x ]代表可执行(execute)。
每个文件的属性由左边第一部分的10个字符来确定(如下图)
2.更改文件的权限
Linux文件权限有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
- r:4
- w:2
- x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是770
chmod [-R] xyz 文件或目录
选项与参数:
- xyz : 就是刚刚提到的数字类型的权限属性,属性数值的相加。
- -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
例:查看test文件下的文件属性:
这里面有1个1.txt的文件,其中具有777的权限
查看test1文件下的文件属性:
这里面有1个2.txt的文件,其中具有644的权限 ,现在修改2.txt权限 和1.txt权限一样为777,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定
chmod 777 test1/2.txt