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

RHCE 学习笔记(6)权限管理

时间:2014-12-23 17:41:32      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:rhel7   rh124   

RHEL里面执行ls命令时,可以看见第一个字母来判断类型。

常见的类型有 

d (目录)

- (普通文件)

c (设备文件 字符型)

b (设备文件,块文件)

l ( 软连接,快捷方式)


例如,目录和普通文件

技术分享


设备文件

技术分享


软连接

技术分享


设备文件,块文件(硬盘)

技术分享


首先看看如何更改文件的所有者 chown, -R表示递归的处理所有的子目录和子文件,-v表示输出详细的变化结果


技术分享


更改文件或者目录的组


技术分享


具体的权限可以通过中间9位2进制数值来设置,分别代表u(所有者),g(组)和 o (其他人)的 r (读)w(写)x(执行)权利



可以用 rwxrwxrwx来表示对应拥有的权限,如果没有权限,标记-

技术分享


简单的例子,可以用u+或者g-来添加或删除权限

a=u+g+o


技术分享


值得注意的是对于目录的权限设定,必须至少具有读和执行的权限才能正常访问。如果只具有X,那么只能cd 进去,但是无法ls内容。


例如,新创建的xx目录,默认是755权限


技术分享

去掉其他用户的读权限以后

技术分享


beanxyz用户可以cd该目录,但是无法读取内容

技术分享


改回来就回复正常访问了

技术分享


前面说了默认创建的文件权限是644,目录权限是755, 这是怎么回事呢,这是通过umask过滤造成的。

文件的默认权限本应该是666,而目录是777,umask的默认值为0022,通过对应位的过滤,就变成了644和755.

文件  (666)           110 110 110
umask(222)            000 010 010
-----------------------------------------------
                        110 100 100 (644)
目录     (777)        111 111 111
umask    (222)         000 010 010
------------------------------------------------
                        111 101 101 (755)




类似的给定一个需要的默认权限,如何倒推回去?

比如我需要创建的默认文件和目录权限都是444,那么我的umask应该是多少?


如下所示,对于文件而言,每个用户的第三位本身就是没有权限的,因此不论是否过滤,都是0,对于Umask而言,第三位的部分是0 是1都不影响结果; umask可以是333,323,222,223,232,332等等任意组合


对于目录而言,结果是唯一,只能是333;


综上所述,umask的选择应该是333

文件    (666)       110 110 110
umask(???)          011 011 011
-----------------------------------------------
                     100 100 100 (444)
目录      (777)        111 111 111
umask    (???)          011 011 011 ( 333)
------------------------------------------------
                        100 100 100 (444)


权限设置还有两个特殊的属性位, s位和t位;


s位位于二进制的可执行程序的U位的时候,简称SUID,这个时候其他人执行这个程序,具有和所有者相同的权限;


例如用户可以通过passwd更改自己的密码,而实际的密码是保存在/etc/shadow中的,用户执行passwd的时候其实是通过所有者root的权限对shadow文件进行了修改


技术分享


s位位于目录的G位的时候,简称GUID,这个时候的作用是所有新创建的子目录和文件会自动的继承这个组


例如创建一个testgroup组,加到test目录上

技术分享


然后修改g位

技术分享


创建新文件和目录

技术分享

查看属性

技术分享


最后还有一个特殊的属性位是t 位,他一般是位于目录的o位置,锁定文件不可删除。只有root和所有者可以删除。比如系统自带的/tmp就是这样


技术分享


简单的记忆 SUID 4, SGID 2, SBIT 1

因此,如果将一个可执行文件设置为 -rwsr-xr-x,可以标记为4755


最后看看隐藏的特殊属性


chattr 可以设置一些特设性质,比如+a 只能增加不可减少


技术分享


+i 不可对文件进行任何修改

技术分享


lsattr可以查看特殊属性

技术分享



本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1593816

RHCE 学习笔记(6)权限管理

标签:rhel7   rh124   

原文地址:http://beanxyz.blog.51cto.com/5570417/1593816

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