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

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

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

常见的类型有

d (目录)

- (普通文件)

c (设备文件 字符型)

b (设备文件,块文件)

l ( 软连接,快捷方式)

例如,目录和普通文件

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

设备文件

软连接

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

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

更改文件或者目录的组

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

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

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

a=u+g+o

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

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

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

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

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

改回来就回复正常访问了

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

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

1

2

3

4

文件  (666)          110 110 110

umask(222)            000 010 010

-----------------------------------------------

110 100 100 (644)

1

2

3

4

目录    (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

1

2

3

4

文件    (666)      110 110 110

umask(???)          011 011 011

-----------------------------------------------

100 100 100 (444)

1

2

3

4

目录      (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位

创建新文件和目录

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

查看属性

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

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

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

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

最后看看隐藏的特殊属性

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

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

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

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

lsattr可以查看特殊属性

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17037.html