■文件/目录的权限说明
Linux中文件和目录的权限在文件属性中,用3组供9个字母表示,如
rwxr-xr--
它表示的意思如下:
[rwx][r-x][r--]
文件拥有者权限:[rwx] 读、写、可执行
和拥有者同组组员权限:[r-x]读、可执行
其他用户权限:[r--]读
权限还可以用数字表示
用3位二进制数来表示3种操作权限:
rwx
100 表示可读,换算为十进制为4
010 表示可写,换算为十进制为2
001 表示可执行,换算为十进制为1
按照这种表示方法,上面的字母表示的权限则分别为
[rwx][r-x][r--]
[111][101][100],即754。
■文件/目录的预设权限和默认权限
建立文件/目录时的默认权限的设定值与umask相关。
umask:目前使用者/用户在建立文件或目录时的默认属性值。
但是umask并不直接表示文件/目录的权限,而表示在默认预设权限中,被拿掉的权限。
Linux中的预设权限如下:
文件:没有可执行权限,即为rw-rw-rw-(666)
目录:全部开放,即为rwxrwxrwx(777)
umask设定值为从预设权限中拿掉的值,假设为022
则表示owner无需拿掉,和预设一样。group和other拿掉写(2),则
文件:(rw-rw-rw-)-(----w--w-)=rw-r--r--(644)
目录:(rwxrwxrwx)-(----w--w-)=rwxr-xr-x(755)
(注意,不可直接用数字相减。)
umask的值得查询和修改
用需要的用户登录,输入[umask]就会取得用数字表示的权限,
还可以用[umask -S]则会取得用字母表示的权限。
[umask 数字权限],则重新设定了umask的值。
■文件/目录的权限的查询,修改
权限的查询:
[ls -al]查询文件/目录的属性,其中第一列的最后九个字母表示权限。
权限修改:
chgrp:改变文件/目录的组
chown:改变文件/目录的拥有者
chmod:修改文件/目录的属性
9个操作劝降的改变用chmod
chmod [u/g/o/a] [=/-/+] [权限值rwx] 对象文件/目录
其中u/g/o/a表示 拥有者/组/其他/全部
=/-/+表示设置权限为/删除权限/增加权限
另外,可用数字的方式直接设置权限
chmod 数字权限值 对象文件/目录
■文件的特殊权限
SUID:表示无论登录用户是谁,无论该文件的拥有者是谁,
只要该文件具有s的权限,该用户将暂时成为文件的拥有者。
只能用于二进制文件上,对于shell文件,目录都无效。
SGID:用于二进制文件时,无论登录用户是谁,在执行该文件时,
该用户所在的有效组将成为该文件的group。
用于目录时,该目录A的group将成为,目录A下的所有文件和目录的group。
SBIT:只作用于目录,如果用户在该目录下拥有w和x的权限,
则用户在该目录下建立文件或目录时,只有文件/目录的拥有者和root才可以删除。
这3种权限用数字表示为
SUID:4
SGID:2
SBIT:1
特殊权限设置表示在正常的rwx权限的前面。如,
chmod 4775 testfile
chmod 6775 testfile
前面的1位表示特殊权限。