一个Linux目录或者文件都会有一个全部者和所属组。全部者是指文件的拥有者,所属组是指这个文件属于哪个用户组咱们能够用ls -l命令来查看这些属性:算法
其中第3列和第4列中的root就是全部者和所属组spa
rwxr-xr-x:表示权限位的值。ci
root root 分别表明文件的全部者,和所属组。那么他们的权限分别是多少呢?只须要把rwxr-xr-x每三个字母切割开来就是了:权限
root:rwx root用户的权限是可读可写可执行。方法
root:r-x root组织有读和执行的权限。im
other:r-x 其余用户只有读和执行的权限。数据
r 可读touch
w 可写img
x 可执行文件
- 不能够
上面这个目录1的权限用数字表示是:755。
chmod用来修改文件的权限位。
使用数字的方法修改权限(建议使用):
chmod还支持使用u、g、o和a来增长或者减小它们的某个权限(读、写或者执行)
另外权限能够这样用数字来表示:
r=4
w=2
x=1
能够修改文件的所属者或者所属组。
其格式为:chown [-R]帐户名,文件名或者chown [-R]帐户名:组名 文件名。这里的-R选项只适用于目录,不只更改当前目录,连目录里的目录或者文件也所有更改
修改文件的全部者:
修改文件的所属组:
同时修改全部者和所属组:
umask决定了咱们默认创建一个文件或者目录的默认权限。能够改变文件的默认权限格式为:umask xxx(x表明数字)要查看umask的值,只要umask就可看到以下:
查看当前umask:
咱们在当前0022的umask下新建目录或者文件的权限是多少?:
可见,文件是644,目录是755。那么,这两组权限是怎么算出来的呢?
正确的算法:
目录:rwxrwxrwx 减去 ----w--w- = rwxr-xr-x。
文件没有执行权限,为rw-r--r--因此就是644了。
lsattr用于读取文件或者目录的特殊权限。
chattr格式:chattr [+-=][Asaci][文件或者目录名]其中+,-和=分别表示增长,减小,设定。
那么隐藏权限能够用来干吗呢?比方说,你有一个文件谁都不让动,连root用户都不让动,也就是不让修改,删除等任何操做。这个时候就能够用到隐藏权限。经常使用的隐藏权限有i和a。
i属性的特征是不让修改,删除,也不能touch。a属性的特征是能够追加和touch,别的操做不容许。
添加i属性:
-a:相似于ls的-a选项,连同隐藏文件一同列出
-R:连同子目录的数据一同列出