linux扩展权限
linux的默认权限和特殊权限
创建一个文件:touch filename1查看新文件的默认权限:ls -l filename1
-rw-rw-r-- 1 liu liu 0 6月 7 09:33 file1
创建一个文件夹:mkdir filename2
查看新文件夹的默认权限L:ls -ld filename2
drwxrwxr-x 2 liu liu 4096 6月 7 09:34 file2
发现默认情况下文件夹比文件多了一个执行x权限,否则无法查看文件夹,每个文件文件夹都有一个默认权限。
默认权限
每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限umask使用数字数字权限方式表示,例如:022
目录的默认权限是:777-umask
文件的默认权限是:666-umask(没有x权限,默认无法执行)
一般,普通用户的默认umask是002,root用户的默认umask是022.
也就是说,对于普通用户来将
普通目录的默认权限是:775即drwxrwxr-x
普通文件的默认权限是:664即-rw-rw-r--
命令umask用以修改默认权限
umask 数字(例如022)
实际上 umask显示的是4位,后三位是UGO,而第一位就是用来保存特殊权限的。
特殊权限
除了普通权限外,还有三个特殊权限:权限 对文件的影响 对目录的影响
suid 以文件的所属用户身份执行 无
,而非执行文件的用户
sgid 以文件所属组身份执行 在该目录中创建的任意新文件的所属组
与该目录的所属组相同
sticky 无 对目录拥有写入权限的用户仅可以删除其拥有的
文件,无法删除其他用户所拥有的文件
设置特殊权限
设置suid: chmod u+s filename设置sgid: chmod g+s filename
设置sticky:chmod a+t filename
与普通权限一样,特殊权限也可以使用数字表示:
-SUID = 4
-SGID = 2
-STICKY = 1
我们可以通过以下命令进行设置
chmod 4775 filename