centos 7的文件/目录权限介绍

前端之家收集整理的这篇文章主要介绍了centos 7的文件/目录权限介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文件/目录权限chmod


#查看目录/文件的权限
[root@linux1~]#ls-l/tmp/a/
总用量0
drwxr-xr-x.2rootroot610月2409:282
#drwxr-xr-x一共有十位数,其中:最前面第一位表示类型
#前三个代表所有者(user)拥有的权限
#中间三个代表组群(group)拥有的权限
#最后三个代表其他人(other)拥有的权限

#r表示文件可以被读(read)
#w表示文件可以被写(write)
#x表示文件可以被执行
#-表示相应的权限还没有被授予

需要注意的是:查看文件权限的目录问题:如果有文件/a/b/c


那么执行ls -l /a/b查看权限的文件并不是b,而是查看的c的权限。


ls -l /a查看的是b文件的权限

ls -l /a/b查看的是cls -l /a/b/c查看的是文件的权限

#修改权限
drwxr-xr-x.4rootroot2410月2520:25a
#user=rwx
#group=r-x
#other=r-x

语法:
#chmodu=[选项],g=[选项],o=[选项]文件/目录
#实例如下:
[root@centos7tmp]#chmodu=rwx,g=r,o=ra
[root@centos7tmp]#ls-l
drwxr--r--.4rootroot2410月2520:25a

#取消权限
#chmoda-x,u-x,g-x文件/目录
#实例如下:
[root@centos7tmp]#chmodu-r,g-r,o-ra
[root@centos7tmp]#ls-l
d-wx------.4rootroot2410月2520:25a
#rwx:可以用数字来代替
r----------4
w----------2
x----------1
---------0
#实例
-rw-r--r--.1rootroot33410月2521:34a/1.txt
#---------(600)所有者有读和写的权限
#------(400)群组(用户组)有读的权限
#---(400)其他人只有读的权限

#所以,可以标记为644如果每位加1即755如下设置
[root@centos7tmp]#chmod755a/1.txt
[root@centos7tmp]#ls-la/1.txt
-rwxr-xr-x.1rootroot33410月2521:34a/1.txt
#这样子,就把简单的把执行权限都加上了

#chomd-R的用法如下,更改当前目录或子目录的权限
[root@centos7tmp]#chmod-R777a
[root@centos7tmp]#ls-l/tmp/a
总用量4
-rwxrwxrwx.1rootroot33410月2521:341.txt
drwxrwxrwx.3rootroot1510月2521:32b

更改所有者和所属组chown,chgrp

#chown即changeowner的缩写改变文件所有者属性

#chown所有者:所属组1.txt修改所属组
[root@centos7a]#chownuser:user1.txt
[root@centos7a]#ls-l1.txt
-rw-r--r--.1useruser33910月2522:001.txt

#chown可以加R选项,用来修改目录及以下的所有文件的权限
[root@centos7tmp]#ls-la/
总用量4
-rw-r--r--.1useruser34610月2522:011.txt
drwxrwxrwx.3useruser1510月2521:32b

#chgrp(changegroup)
#chgrp命令:chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
格式:chgrp[选项]组名文件名
[root@centos7tmp]#ls-la
-rw-r--r--.1useruser34610月2522:011.txt
[root@centos7a]#chgrproot1.txt
[root@centos7a]#ls-l1.txt
-rw-r--r--.1userroot34610月2522:011.txt

umask


umask 每个用户都有一个默认的umask值,是用来确认用户的默认权限。

#查看umask值
[root@centos7a]#umask
0022

默认文件权限计算方法
1)假设umask值为:022(所有位为偶数)
666==>文件的起始权限值
022-==>umask的值
---------
644
2)假设umask值为:045(其他用户组位为奇数)
666==>文件的起始权限值
045-==>umask的值
---------
621==>计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。
001+
---------
622==>真实文件权限

默认目录权限计算方法
777==>目录的起始权限值
022-==>umask的值
---------
755

#实例一:umask所有位全为偶数时,多数读者对这个例子无疑问
[root@oldboyoldboy]#umask
0022#→umask当前数值
[root@oldboyoldboy]#umask044#→更改为044
[root@oldboyoldboy]#umask
0044
[root@oldboyoldboy]#mkdirumask_test#→建目录测试
[root@oldboyoldboy]#ls-ldumask_test
drwx-wx-wx2rootroot4096Nov1219:21umask_test#→对应数字权限为733,是不是符合上面的计算方法?
[root@oldboyoldboy]#touchumask_test.txt
[root@oldboyoldboy]#ls-lumask_test.txt
-rw--w--w-1rootroot0Nov1219:21umask_test.txt#→对应数字权限为622,是不是符合上面的计算方法
#实例二:umask值的部分或全部位为奇数时,这个是读者疑问最大的
#当umask值的其他属组位为奇数时
[root@oldboyoldboy]#umask0023
[root@oldboyoldboy]#mkdirdir
[root@oldboyoldboy]#touchfile
[root@oldboyoldboy]#ls-l
总计4
drwxr-xr--2rootroot409611-1501:04dir#→对应数字权限为754
-rw-r--r--1rootroot011-1501:04file#→对应数字权限为644
#提示:根据前面的计算方法,当umask为0023时,dir的权限应该是754,而file的权限应该为643,但是由于umask的其他组位为奇数,因此最终权限为其他组位加1,即643加001(对应实践结果644)。注意:umask为偶数的位不要加1。
#实例三:umask值的所有位为奇数时
[root@oldboyoldboy]#umask0551
[root@oldboyoldboy]#umask
0551
umask为0551根据掩码方法计算:目录权限为226,文件权限115,而实际文件权限为226(umask的三个权限位都是奇数,所以,每个位分别加1就是正确的权限)
[root@oldboyoldboy]#mkdirdir5
[root@oldboyoldboy]#touchfile5
[root@oldboyoldboy]#ls-l
总计4
d-w--w-rw-2rootroot409611-1501:27dir5#→目录对应数字权限为226
--w--w-rw-1rootroot011-1501:27file5#→目录对应数字权限为226
再来一例验证下:
[root@oldboyoldboy]#umask0333
[root@oldboyoldboy]#umask
0333
umask为0333根据掩码方法计算:目录权限为444,文件权限333,而实际文件权限为444(umask的三个位都是奇数,所以,每个位分别加1就是正确的权限)
[root@oldboyoldboy]#mkdirdir3
[root@oldboyoldboy]#touchfile3
[root@oldboyoldboy]#ls-l|grep3
dr--r--r--2rootroot409611-1501:30dir3#→目录对应数字权限为444
-r--r--r--1rootroot011-1501:30file3#→目录对应数字权限为444

隐藏权限lsattr_chattr


除了设置文件或目录的读(r)、写(w)、执行(x)权限外,对于某些有特殊要求的档案(如服务器日志)还可以追加隐藏权限的设定。

chattr 设置隐藏权限 选项参数有

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容

a:即append,设定该参数后,只能向文件添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。


lsattr 查看隐藏权限 选项有

-a:显示所有文件属性包括隐藏文件(.)、当时目录(./)及上层目录(../)。

-d:仅列示目录属性

-R:递归列示目录及文件属性

#实例:
#给目录添加隐藏权限
[root@centos7a]#chattr+ic#添加权限
[root@centos7a]#lsattr-dc#查看权限
----i-----------c
#给文件添加隐藏权限
[root@centos7a]#chattr+i1.txt
[root@centos7a]#lsattr-d1.txt
----i-----------1.txt

3a60216e627f55920a86d460d1c48b00.png-wh_

上图显示无法修改

[root@centos7a]#chattr-i1.txt
[root@centos7a]#lsattr-d1.txt
----------------1.txt

关于其他用法,详情请参阅在线帮助man

猜你在找的CentOS相关文章