标签:修改 app rm -rf /tmp white 禁用 测试 隐藏权限 取消
2.14 文件和目录权限chmod2.15 更改所有者和所属组chown
2.16 umask
2.17 隐藏权限lsattr/chattr
2.14 文件或目录权限chmod
#ls-l 查看文件的详细属性
~#ls-l
-rw-r--r-- root root 2.txt
此处分为十个字符,
第一个字符代表文件的类型,
r 可读 w 可写 x 可执行
rw-文件所有者权限
可读可写不可执行
r--文件所属组权限
可读不可写不可执行
r--其他用户权限
第二位到第十位 是权限分界,这9个字符分为3段,每3段分一个权限界别 第一段是所有者权限,第二段是所属组权限,第三段是其他用户权限。
权限可以用数字显示,例如
r=4,w=2,x=1,那么rwx=4+2+1=7
rw-=4+2=6 --x=1
rw-r--r--=644
#chmod 更改文件权限
chmod=change mode(mode权限意解) 缩写
将2.txt的文件属性改成rwx------
用法
#chmod 700 2.txt
#ls -l 2.txt
-rwx------ 2.txt
举例
-rwx------.中的“.”是什么意思?
“.”的意思是 这个文件受制于selinux
如果开启了selinux,第一列创建的文件都会有“.”。如果想取消“.”,需要关闭防火墙,创建文件,才会被取消。(修改防火墙禁用,需要#vi /etc/selinux/config,此处只做了解,不用太详细)
#chmod -R 对目录本身及其子文件的权限产生改变。(批量更改权限)
#cd /tmp/
#ls -l
drwxr-xr-x /aming2
目录aming2变成了777权限,发现/aming2的子文件没被更改权限。
#chmod 777 aming2
#ls -ld
#drwxrwxrwx /aming2
#cd /aming2
#ls - ld
-rw-r--r-- 1.txt
更改/aming2目录本身以及文件权限,
#chmod -R 777 aming2
#ls -ld
两者均为777权限。
其他用法
#chmod u=rwx,g=r,o=r aming2
各种用户都取消各种权限用法
#chmod a-x aming2 a=all,所有权限,-代表减去、撤走权限。此用法是,所有权限(所有者,所属组,其他用户),撤去x权限。
#chmod u-x aming2 撤销所有者的x权限
#chmod o+x aming2 撤销其他用户的x权限
2.15 更改所有者和所属组chown
chown =change owner 改变所有者,所属组,其他人
#cat /etc/passwd 进去 查看用户(root,bin....用户,系统自带创建)
可以看到最后2个是自创的用户,aming及user1用户
#ls /tmp/
aming2/ yum.log
#ls -l /tmp/yum.log(截图或者复制结果)
-rw--- yum.log
用法
#chown aming /tmp/yum.log
#!ls
ls -l /tmp/yum.log
-rw------. 1 aming root /tmp/yum.log
修改成功
chgrp= change group
用法
修改所属组为user1,修改成功
#chgrp user1 /tmp/yum.log
#!ls
复制结果
此命令也可以修改组名
#chown user1:aming /tmp/yum.log
同样,只修改所属组名用法
#chown :root /tmp/yum.log
#chown -R
#chown -R user1:aming /tmp/aming2
#ls -l /tmp/aming2/
此处复制结果
-rwxrwx--- user1 aming 1.txt
#ls -ld /tmp/aming2
drw-r--r-- user1 aming /tmp/aming2
总结,
#chown -R username:group filename 更改所有者与所属组
#chown -R username filename 更改所有者
2.16 umask
umask决定默认的文件和目录的权限。
为什么创建文件就是644,创建目录就是755?
#touch 11.txt
#ls-l
-rw-r--r-- (644权限)
#mkdir123
#ls -ld 123
drwr-xr-x (755)
#umask
0022
系统root用户的umask值,
#umask 002 (002等于=0002,第一位0一般忽略)
#mkdir 234
#ls -ld 234
drwxrwxr-x 234(775)
#touch 3.txt
#ls -l 3.txt
-rw-rw-r-- 3.txt (664)
默认值0222 644 755
修改后002 664 775
那我们可以按照这样算,
默认Umask算法
777-022=755
666-022=644
所以修改002后的算法是,
777-002=775
666-002=664
目录必须要有x权限,不能没办法浏览,没办法进入。
为了证明以上说法,举例测试
#umask 003
#rm -rf 11.txt 2.txt 3.txt
#touch 1.txt
#ls -l 1.txt
-rw-rw-r-- 权限变成664了,
[如果#666-003=663,可表示成666=(rw-rw-rw-)-(--------wx)=rw-rw-r--=664]
[777-003=rwxrwxrwx- -------wx = rwxrwxr--=774]
创建目录,看看到底目录权限是不是774
#mkdir 111
#ls -ld 111
drwxrwxr-- 111
此处证明创建目录默认权限是774,
通过umask怎么能够判断默认权限是多少?
用减法,用9位权限位对应相减。
老师,你视频中最后20秒说的
最后一个原则
“--x --w 依然是什么都没有”是什么意思?
标签:修改 app rm -rf /tmp white 禁用 测试 隐藏权限 取消
原文地址:http://blog.51cto.com/13578154/2067442