码迷,mamicode.com
首页 > 其他好文 > 详细

chmod chown umask chattr_lsattr

时间:2018-03-29 02:14:51      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:chmod chown umask

一、文件或目录权限chmod
[root@localhost ~]# ls -l
total 4
-rw-r--r--. 1 root root 0 Mar 28 08:20 2.txt
-rw-------. 1 root root 2331 Mar 28 09:02 anaconda-ks.cfg.1
rw- r-- r--. 1 root root
//第一到三字符:rw- 表示所有者拥有读、写权限
//第四到六字符:r-- 表示所属组拥有读的权限
//第七到十字符:r-- 表示其他用户拥有读的权限
权限使用数字表示: r=4 w=2 x=1 rwx=7 rw-=6 --x=1
例如:rw-r--r--.=644 rw-r-xr-x=655
chmod命令(change mode缩写):用来变更文件或目录的权限
选项:
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
例:chmod -R 770 hll //将hll文件夹下的所以子文件的权限也改为770
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;
例1:
[root@localhost ~]# chmod 700 2.txt
[root@localhost ~]# ls -l
total 4
-rwx------. 1 root root 0 Mar 28 08:20 2.txt
前十位字符串后面的 .的解释(有.表示selinux开启,需要关闭selinux后.就没有显示了)
-rwx------. 1 root root 0 Mar 28 08:20 2.txt
chmod命令还可以这样使用:chmod u=rwx,g=r,o=r hll
例2:
chmod a+x hll //将所有者用户、所属组、其他用户的权限都+x执行权限
[root@localhost tmp]# chmod a+x hll
[root@localhost tmp]# ls -l
drwxr-xr-x. 4 root root 24 Mar 28 08:26 hll
例3:
chmod a-x hll //将所有者用户、所属组、其他用户的权限都去掉x执行权限
[root@localhost tmp]# chmod a-x hll
[root@localhost tmp]# ls -l
drw-r--r--. 4 root root 24 Mar 28 08:26 hll
或者还可以使用:chmod u-x hll //所有者去掉x权限
chmod g-w hll //所属组去掉w权限
chmod o-x hll //其他用户去掉x权限
二、更改所有者和所属组chown
chown命令(change owner):更改所有者权限命令
例1:
[root@localhost tmp]# chown user1 yum.log //更改yum.log所有者权限为user1用户
[root@localhost tmp]# ls -l
-rw-------. 1 user1 root 0 Mar 25 23:52 yum.log
例2:
[root@localhost tmp]# chown user1:user2 /tmp/yum.log //更改yum.log的所有者为user1,所属组为user2
[root@localhost tmp]# ls -l
-rw-------. 1 user1 user2 0 Mar 25 23:52 yum.log
chgrp命令(change group):更改文件或目录的所属组权限命令
例3:
[root@localhost tmp]# chown :root /tmp/yum.log //只更改yum.log的所属组为root
[root@localhost tmp]# ls -l
-rw-------. 1 user1 root 0 Mar 25 23:52 yum.log
例4:
[root@localhost tmp]# chgrp user1 /tmp/yum.log //更改yum.log所属组权限为user1组
[root@localhost tmp]# ls -l
-rw-------. 1 user1 user1 0 Mar 25 23:52 yum.log
查看系统用户:cat /etc/passwd
chown用法格式:chown -R username:group filename

三、umask:用来决定默认的目录和文件权限的
[root@localhost ~]# umask
0022 //系统root用户的umask指为0022
修改系统默认mask值:
[root@localhost ~]# umask
0022
[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002

目录默认权限设置规律:777 - umask 真实算法:777=(rwxrwxrwx)-(-------wx)=774
文件默认权限设置规律:666 - umask 真实算法:666=(rw-rw-rw-)- (-------wx) = 644
注意:-(什么都没有)-(减号)x(x权限)=-(什么都没有)
[root@localhost ~]# touch 11.txt
[root@localhost ~]# ls -l 11.txt
-rw-r--r--. 1 root root 0 Mar 29 00:17 11.txt //创建一个文件默认权限是644

[root@localhost ~]# mkdir 123
[root@localhost ~]# ls -ld 123
drwxr-xr-x. 2 root root 6 Mar 29 00:18 123 //创建一个文件夹/目录默认权限755

四、隐藏权限lsattr_chattr
[root@localhost ~]# chattr +i 11.txt //给11.txt文件添加i权限,这样11.txt文件别人就不能修改、删除、移动等
[root@localhost ~]# ls -l
total 4
-rw-r--r--. 1 root root 0 Mar 29 00:17 11.txt
drwxr-xr-x. 2 root root 6 Mar 29 00:18 123
-rwx------. 1 root root 0 Mar 28 08:20 2.txt
-rw-------. 1 root root 2331 Mar 28 09:02 anaconda-ks.cfg.1
[root@localhost ~]# mv 11.txt 13.txt //提示没有权限改名
mv: cannot move ‘11.txt’ to ‘13.txt’: Operation not permitted
[root@localhost ~]# lsattr 11.txt //lsattr命令查看文件隐藏的权限
----i----------- 11.txt
[root@localhost ~]# chattr -i 11.txt //chattr -i命令去掉-i权限
[root@localhost ~]# lsattr 11.txt
---------------- 11.txt

chattr +a :只能追加字符,不能删除,不能改名称,不能修改文件内容,可以更改时间信息(可以使用head -n2 /etc/passwd >> 11.txt追加字符)
[root@localhost ~]# chattr +a 11.txt //给11.txt文件+a隐藏权限
[root@localhost ~]# head -n2 /etc/passwd >> 11.txt //为11.txt文件追加/etc/passwd文件前2行字符
[root@localhost ~]# mv 11.txt 13.txt //为11.txt修改名称提示没有权限
mv: cannot move ‘11.txt’ to ‘13.txt’: Operation not permitted
[root@localhost ~]# lsattr 11.txt //lsattr命令查看11.txt有-i权限
-----a---------- 11.txt
[root@localhost ~]# chattr -a 11.txt //删除-a权限
[root@localhost ~]# lsattr 11.txt
---------------- 11.txt

chattr +i 目标目录:目录没有被写入、删除、更改、创建子文件夹等权限
lsattr -R 111:可以显示111目录下的所有子目录,如果不加-R选项,只能例出显示一层目录

chmod chown umask chattr_lsattr

标签:chmod chown umask

原文地址:http://blog.51cto.com/13669226/2092259

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!