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

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

文件/目录权限chmod


  1. #查看目录/文件的权限
  2. [root@linux1~]#ls-l/tmp/a/
  3. 总用量0
  4. drwxr-xr-x.2rootroot6102409:282
  5. #drwxr-xr-x一共有十位数,其中:最前面第一位表示类型
  6. #前三个代表所有者(user)拥有的权限
  7. #中间三个代表组群(group)拥有的权限
  8. #最后三个代表其他人(other)拥有的权限
  9.  
  10. #r表示文件可以被读(read)
  11. #w表示文件可以被写(write)
  12. #x表示文件可以被执行
  13. #-表示相应的权限还没有被授予

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


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


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

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

  1. #修改权限
  2. drwxr-xr-x.4rootroot24102520:25a
  3. #user=rwx
  4. #group=r-x
  5. #other=r-x
  6.  
  7. 语法:
  8. #chmodu=[选项],g=[选项],o=[选项]文件/目录
  9. #实例如下:
  10. [root@centos7tmp]#chmodu=rwx,g=r,o=ra
  11. [root@centos7tmp]#ls-l
  12. drwxr--r--.4rootroot24102520:25a
  13.  
  14. #取消权限
  15. #chmoda-x,u-x,g-x文件/目录
  16. #实例如下:
  17. [root@centos7tmp]#chmodu-r,g-r,o-ra
  18. [root@centos7tmp]#ls-l
  19. d-wx------.4rootroot24102520:25a
  1. #rwx:可以用数字来代替
  2. r----------4
  3. w----------2
  4. x----------1
  5. ---------0
  6. #实例
  7. -rw-r--r--.1rootroot334102521:34a/1.txt
  8. #---------(600)所有者有读和写的权限
  9. #------(400)群组(用户组)有读的权限
  10. #---(400)其他人只有读的权限
  11.  
  12. #所以,可以标记为644如果每位加1即755如下设置
  13. [root@centos7tmp]#chmod755a/1.txt
  14. [root@centos7tmp]#ls-la/1.txt
  15. -rwxr-xr-x.1rootroot334102521:34a/1.txt
  16. #这样子,就把简单的把执行权限都加上
  17.  
  18. #chomd-R的用法如下,更改当前目录或子目录的权限
  19. [root@centos7tmp]#chmod-R777a
  20. [root@centos7tmp]#ls-l/tmp/a
  21. 总用量4
  22. -rwxrwxrwx.1rootroot334102521:341.txt
  23. drwxrwxrwx.3rootroot15102521:32b

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

  1. #chown即changeowner的缩写改变文件所有者属性
  2.  
  3. #chown所有者:所属组1.txt修改所属组
  4. [root@centos7a]#chownuser:user1.txt
  5. [root@centos7a]#ls-l1.txt
  6. -rw-r--r--.1useruser339102522:001.txt
  7.  
  8. #chown可以加R选项,用来修改目录及以下的所有文件的权限
  9. [root@centos7tmp]#ls-la/
  10. 总用量4
  11. -rw-r--r--.1useruser346102522:011.txt
  12. drwxrwxrwx.3useruser15102521:32b
  13.  
  14. #chgrp(changegroup)
  15. #chgrp命令:chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
  16. 格式:chgrp[选项]组名文件
  17. [root@centos7tmp]#ls-la
  18. -rw-r--r--.1useruser346102522:011.txt
  19. [root@centos7a]#chgrproot1.txt
  20. [root@centos7a]#ls-l1.txt
  21. -rw-r--r--.1userroot346102522:011.txt

umask


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

  1. #查看umask值
  2. [root@centos7a]#umask
  3. 0022
  4.  
  5. 默认文件权限计算方法
  6. 1)假设umask值为:022(所有位为偶数)
  7. 666==>文件的起始权限值
  8. 022-==>umask的值
  9. ---------
  10. 644
  11. 2)假设umask值为:045(其他用户组位为奇数)
  12. 666==>文件的起始权限值
  13. 045-==>umask的值
  14. ---------
  15. 621==>计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1
  16. 001+
  17. ---------
  18. 622==>真实文件权限
  19.  
  20. 默认目录权限计算方法
  21. 777==>目录的起始权限值
  22. 022-==>umask的值
  23. ---------
  24. 755
  25.  
  26. #实例一:umask所有位全为偶数时,多数读者对这个例子无疑问
  27. [root@oldboyoldboy]#umask
  28. 0022#→umask当前数值
  29. [root@oldboyoldboy]#umask044#→更改为044
  30. [root@oldboyoldboy]#umask
  31. 0044
  32. [root@oldboyoldboy]#mkdirumask_test#→建目录测试
  33. [root@oldboyoldboy]#ls-ldumask_test
  34. drwx-wx-wx2rootroot4096Nov1219:21umask_test#→对应数字权限为733,是不是符合上面的计算方法
  35. [root@oldboyoldboy]#touchumask_test.txt
  36. [root@oldboyoldboy]#ls-lumask_test.txt
  37. -rw--w--w-1rootroot0Nov1219:21umask_test.txt#→对应数字权限为622,是不是符合上面的计算方法
  1. #实例二:umask值的部分或全部位为奇数时,这个是读者疑问最大的
  2. #当umask值的其他属组位为奇数时
  3. [root@oldboyoldboy]#umask0023
  4. [root@oldboyoldboy]#mkdirdir
  5. [root@oldboyoldboy]#touchfile
  6. [root@oldboyoldboy]#ls-l
  7. 总计4
  8. drwxr-xr--2rootroot409611-1501:04dir#→对应数字权限为754
  9. -rw-r--r--1rootroot011-1501:04file#→对应数字权限为644
  10. #提示:根据前面的计算方法,当umask为0023时,dir的权限应该是754,而file的权限应该为643,但是由于umask的其他组位为奇数,因此最终权限为其他组位加1,即643加001(对应实践结果644)。注意:umask为偶数的位不要加1。
  11. #实例三:umask值的所有位为奇数时
  12. [root@oldboyoldboy]#umask0551
  13. [root@oldboyoldboy]#umask
  14. 0551
  15. umask0551根据掩码方法计算:目录权限为226文件权限115,而实际文件权限为226umask的三个权限位都是奇数,所以,每个位分别加1就是正确的权限)
  16. [root@oldboyoldboy]#mkdirdir5
  17. [root@oldboyoldboy]#touchfile5
  18. [root@oldboyoldboy]#ls-l
  19. 总计4
  20. d-w--w-rw-2rootroot409611-1501:27dir5#→目录对应数字权限为226
  21. --w--w-rw-1rootroot011-1501:27file5#→目录对应数字权限为226
  22. 再来一例验证下:
  23. [root@oldboyoldboy]#umask0333
  24. [root@oldboyoldboy]#umask
  25. 0333
  26. umask0333根据掩码方法计算:目录权限为444文件权限333,而实际文件权限为444umask的三个位都是奇数,所以,每个位分别加1就是正确的权限)
  27. [root@oldboyoldboy]#mkdirdir3
  28. [root@oldboyoldboy]#touchfile3
  29. [root@oldboyoldboy]#ls-l|grep3
  30. dr--r--r--2rootroot409611-1501:30dir3#→目录对应数字权限为444
  31. -r--r--r--1rootroot011-1501:30file3#→目录对应数字权限为444

隐藏权限lsattr_chattr


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

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

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

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

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


lsattr 查看隐藏权限 选项有

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

-d:仅列示目录属性

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

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

3a60216e627f55920a86d460d1c48b00.png-wh_

上图显示无法修改

  1. [root@centos7a]#chattr-i1.txt
  2. [root@centos7a]#lsattr-d1.txt
  3. ----------------1.txt
  4.  
  5. 关于其他用法,详情请参阅在线帮助man

猜你在找的CentOS相关文章