2.15 更改所有者和所属组chown
2.16 umask
2.17 隐藏权限lsattr/chattr
2.14 文件和目录权限chmod
ls -l 第一列文件权限
除了第一个字符-表示文件类型,接下来的9位表示文件的权限,分成三段(9位)
rw- r-- r--
所有者(可读可写不可执行) 所属组(可读不可写不可执行) 除了所有者所属组之外其他用户的权限(可读不可写不可执行)
是否可写r,是否读w,是否可执行x,如果不可以用-。
r=4 w=2 x=1可以用数字表示 如果rwx=7 rw-=6 --x=1 加起来 rw-r--r--=644(权限的表示)
chmod (change mode 修改权限)
比如修改2.txt权限改下,所有组读写执行其他的都是无权限 那就是 rwx------=700 chmod 700 2.txt就可以改了。
rwx ------.最后面有个点意味着这个文件受制于selinxu,如果把selinux彻底关闭,在创建新的文件就没.了。
chmod 生效的仅仅是目录本身,不会对目录下面的子目录和文件生效。
chmod -R可以改变目标以及目录下的子目录 批量的更改权限。
还有一种表示方式 chmod u=rwx,g=r,o=r /tmp/ 后面不能有--,这样写法很直观,比较繁琐。
还有chmod a+x wt (就所有文件后都加X 那也可以-X ,也可以u或g或o+X)
2.15 更改所有者和所属组chown
change owner
更改所有者
chgrp(change group更改所属组)
可以用chown一次更改2个
chown wt:wt /tmp/yum.log
只更改用户组的话chown :wt /tmp/yum.log
chown -R这个命令文件下的文件目录的所以者和所属组也会改变。
2.16 umask
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
上图文件644,目录755,umask0022简写022,那就是目录初始777-022=755,文件666-022=644
更改umask值位00002,创建2.txt 目录234
文件644 目录775,好像不对文件不是应该666-002=664吗。
umask改成003,创建新的1.txt
还是664,那不能直接减法。要用这种形式表示 (rw-rw-rw)-(-- -- -- wx)=rw- rw- r-- 位减,最后得到664(-号减掉什么都是-号)
目录777-003=rwx rwx rwx - --- --- -wx=rwx rwx r--=774这就对了。
2.17 隐藏权限lsattr/chattr
chattr隐藏权限
给1.txt设置以一个权限
无法vi 因为是只读模式。
按理来说root用户是可以写入的,但是不能 那可能是这个文件设置了隐藏权限。
lsattr 查看隐藏权限
重新创建一个2.txt ,没有任何隐藏权限
txt多了一个i,i权限不仅仅不能写,还无法改名,无法删除,也无法重新创建同样文件(更改时间信息)。i是一个很严谨的权限
当vi保存不了的时候会出现1.txt~,这是一个保存的缓存文件。
去掉i权限
chattr -i 1.txt。
a权限,可以追加,可以更改时间信息,但是不能删除改名更改内容。
lsattr 查看的是一个目录下的子目录和子文件
查看目录本身用lsattr -d查看,给目录加权限和文件一样的效果。
lsattr -R 可以查看目录和子目录下的文件,不加仅仅只看一层。
lsattr -d 查看包括隐藏的文件
原文:http://blog.51cto.com/13646170/2092328