权限包括: 读(r)、写(w)、执行(x)的权限
Linux权限基于 u(User)g(Group)o(other) 权限
每一个文件的权限基于UGO进行设置 权限每三个一组(rwx),对应UGO分别设置
其中第一位 d表示为文件夹 -表示为文件
每个进程都是以某个用户的身份运行。 用户权限越大,进程越大
需要注意的是 目录必须拥有X权限,否则无法查看其内容
chown 改变文件的所属用户
chown jackson test.file -R 递归修改目录下所有文件
chgrp 改变文件所属组,用法用chown一样
修改权限
chmod 模式 文件
模式如下: u、g、o 分别代表用户、组、其他。
a 可以代替 ugo
chmod u+rw aa.txt 文件aa.txt给用户添加rw权限
+,-代表加入或删除对应的权限 -R 递归
如下图给 test.file 用户组添加rw权限
linux也支持 添加数组修改权限
比如给文件添加所有的权限
chmod +777 file 相当于 chmod +rwxrwxrwx file
linux扩展权限
1:修改默认权限
umask : 用来确定新建文件、文件夹的默认权限
可以通过umask查看默认的值
那么这个022(这里022和0022是一样的,具体可以参考 stackover这篇帖子)是什么意思呢
意思是 你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2)
修改umask的值 umask 024
修改以后建立的文件和目录的默认权限就为642(6-0,6-2,6-4),753(7-0,7-2,7-4)了
2:设置特殊权限
设置suid
chmod u+s test.file
设置sgid
chmod g+s test.file
设置sticky
chmod o+t test.file
与普通权限一样,特殊权限也可以使用数字方式表示
-suid = 4 -sgid=2 -striky=1
chmod 4755 test.file
设置了suid权限之后 所属用户的x位会变成s suid 通常设置给可执行文件 设置了sgid权限之后 所属用户组的x位会变成s -rws 例如 passwd
我这里说的都很泛泛,大家可以参考下这篇文章