Linux文件的三种身份和四种权限:
一、Linux文件的三种身份和四种权限:
三种身份:
u: 文件的拥有者
g: 文件所属的群组
o: 其他用户
理解的例子:
老师使用 root 用户,作为这个目录的属主,权限为 rwx;班级所有的学员都加入 tgroup 组,使 tgroup 组作为 /project 目录的属组,权限是 rwx;其他人的权限设定为 0。这样这个目录的权限就可以符合我们的项目开发要求了。
对于每个身份,又有四种权限
r:读取文件的权限(read) 4
w:写入文件的权限(write)2
x:执行的权限(execute) 1
s:特殊权限
二、以数字形式改变权限
chmod 755 test.sh
将755换算成字符形式,为rwxr-xr-x,也就是说文件的拥有者、所属群组以及其他用户都可以读取与运行test.sh这个文件,但是只有拥有者自己可以写入这个文件,也就是其他人无权修改test.sh这个文件。
(当然root用户无此限制,想改谁就该谁,这也是一个体现root账号至高无上权力的体验!)
以字符形式改变文件权限
chmod +x test.sh
数学形式可以一次改变文件的所有三种身份的四种权限,而字符形式则更为灵活,可以给某个身份的某个权限单独进行设置,例如上面的指令就是给三种身份都赋予执行的权限,你也可以分开单独设置:
chmod u+x test.sh 只给拥有者加上可执行权限
chmod g+x test.sh 只给群组身份加上可执行权限
chmod o+x test.sh 只给其他人身份加上可执行权限
以上三条指令综合在一起等价于上面的那一条指令,都是给所有身份都开启可执行权限的功能,你也可以像下面这样来操作:
chmod a+x test.sh
这里的a就代表所有的3中身份!
如果要去掉某个身份的某个权限,只需要将+变为-即可,例如去除其他人身份的可执行权限:
chmod o-x test.sh