chmod chown umask chattr_lsattr
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chmod chown umask chattr_lsattr相关的知识,希望对你有一定的参考价值。
一、文件或目录权限chmod[[email protected] ~]# 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:
[[email protected] ~]# chmod 700 2.txt
[[email protected] ~]# 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执行权限
[[email protected] tmp]# chmod a+x hll
[[email protected] tmp]# ls -l
drwxr-xr-x. 4 root root 24 Mar 28 08:26 hll
例3:
chmod a-x hll //将所有者用户、所属组、其他用户的权限都去掉x执行权限
[[email protected] tmp]# chmod a-x hll
[[email protected] 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:
[[email protected] tmp]# chown user1 yum.log //更改yum.log所有者权限为user1用户
[[email protected] tmp]# ls -l
-rw-------. 1 user1 root 0 Mar 25 23:52 yum.log
例2:
[[email protected] tmp]# chown user1:user2 /tmp/yum.log //更改yum.log的所有者为user1,所属组为user2
[[email protected] tmp]# ls -l
-rw-------. 1 user1 user2 0 Mar 25 23:52 yum.log
chgrp命令(change group):更改文件或目录的所属组权限命令
例3:
[[email protected] tmp]# chown :root /tmp/yum.log //只更改yum.log的所属组为root
[[email protected] tmp]# ls -l
-rw-------. 1 user1 root 0 Mar 25 23:52 yum.log
例4:
[[email protected] tmp]# chgrp user1 /tmp/yum.log //更改yum.log所属组权限为user1组
[[email protected] tmp]# ls -l
-rw-------. 1 user1 user1 0 Mar 25 23:52 yum.log
查看系统用户:cat /etc/passwd
chown用法格式:chown -R username:group filename
三、umask:用来决定默认的目录和文件权限的
[[email protected] ~]# umask
0022 //系统root用户的umask指为0022
修改系统默认mask值:
[[email protected] ~]# umask
0022
[[email protected] ~]# umask 002
[[email protected] ~]# umask
0002
目录默认权限设置规律:777 - umask 真实算法:777=(rwxrwxrwx)-(-------wx)=774
文件默认权限设置规律:666 - umask 真实算法:666=(rw-rw-rw-)- (-------wx) = 644
注意:-(什么都没有)-(减号)x(x权限)=-(什么都没有)
[[email protected] ~]# touch 11.txt
[[email protected] ~]# ls -l 11.txt
-rw-r--r--. 1 root root 0 Mar 29 00:17 11.txt //创建一个文件默认权限是644
[[email protected] ~]# mkdir 123
[[email protected] ~]# ls -ld 123
drwxr-xr-x. 2 root root 6 Mar 29 00:18 123 //创建一个文件夹/目录默认权限755
四、隐藏权限lsattr_chattr
[[email protected] ~]# chattr +i 11.txt //给11.txt文件添加i权限,这样11.txt文件别人就不能修改、删除、移动等
[[email protected] ~]# 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
[[email protected] ~]# mv 11.txt 13.txt //提示没有权限改名
mv: cannot move ‘11.txt’ to ‘13.txt’: Operation not permitted
[[email protected] ~]# lsattr 11.txt //lsattr命令查看文件隐藏的权限
----i----------- 11.txt
[[email protected] ~]# chattr -i 11.txt //chattr -i命令去掉-i权限
[[email protected] ~]# lsattr 11.txt
---------------- 11.txt
chattr +a :只能追加字符,不能删除,不能改名称,不能修改文件内容,可以更改时间信息(可以使用head -n2 /etc/passwd >> 11.txt追加字符)
[[email protected] ~]# chattr +a 11.txt //给11.txt文件+a隐藏权限
[[email protected] ~]# head -n2 /etc/passwd >> 11.txt //为11.txt文件追加/etc/passwd文件前2行字符
[[email protected] ~]# mv 11.txt 13.txt //为11.txt修改名称提示没有权限
mv: cannot move ‘11.txt’ to ‘13.txt’: Operation not permitted
[[email protected] ~]# lsattr 11.txt //lsattr命令查看11.txt有-i权限
-----a---------- 11.txt
[[email protected] ~]# chattr -a 11.txt //删除-a权限
[[email protected] ~]# lsattr 11.txt
---------------- 11.txt
chattr +i 目标目录:目录没有被写入、删除、更改、创建子文件夹等权限
lsattr -R 111:可以显示111目录下的所有子目录,如果不加-R选项,只能例出显示一层目录
以上是关于chmod chown umask chattr_lsattr的主要内容,如果未能解决你的问题,请参考以下文章
chmod chown umask 以及隐藏权限lsattr/chattr
linux基础篇-10,权限管理chown chgrp chmod umask
chmod+chown+umask+lsattr_chattr