Linux - 用户权限

目录

一、基本权限 UGO

1、设置权限的两个基本元素

2、设置权限

(1) 更改权限:

(2) 更改属主、属组:

 二、基本权限 ACL

设置 ACL:

(1) 查看用户有哪些 ACL 权限:

(2) 设置用户权限:

(3) 删除 ACL:

三、特殊权限

1、特殊位 suid

2、文件属性

3、进程掩码 umask

一、基本权限 UGO

1、设置权限的两个基本元素

① 权限对象:

三类对象:属主 (u)、属组 (g)、其他人 (o)

特殊对象:所有人 (a:u+g+o)

② 权限类型:

三种类型:读:r=4 ;写:w=2 ;执行:x=1

2、设置权限

(1) 更改权限:

使用字母:
语法:chmod   对象(u/g/o/a)  赋值符(+/-/=)  权限类型(r/w/x)   文件/目录

赋值符:+ 授予权限 ;- 剥夺权限 ;= 覆盖权限

chmod -R :对文件夹下的所有文件进行递归处理

① 给 file1 赋予所有权限:

② 给 file1 授予属主读的权限,没有其他权限:

③ 剥夺 file1 其他用户读写和执行权限:

三种方法:chmod  o = (空格)  file1   // 不授予 file1 其他用户任何权限

                  chmod  o-rwx  file1          // 除去 file1 其他用户所有权限

                  chmod  o=---   file1          // file1 其他用户的权限用占位符 "-" 代替

④ 为文件编写程序、授予权限并执行:
Linux - 用户权限_第1张图片

 Linux - 用户权限_第2张图片

 使用数字:

6:读+写 ;7:读、写、执行

清除权限(000):

(2) 更改属主、属组:

chown :设置一个文件属于谁 

语法:chown  用户名.组名  文件

chown root file1    // 只改属主

chown .hr file1     // 只改属组

 chgrp (只改属组):chgrp 组名 文件

chomd、chown、chgrp  这些命令均可加 -R 对文件夹下的所有文件和目录进行递归修改

Linux - 用户权限_第3张图片

 二、基本权限 ACL

ACL 是对 UGO 的补充。可以针对不同的用户设置不同的权限。

语法:setfacl -m  权限对象(u/g/o/a):对象名:权限   文件/目录

设置 ACL:

(1) 查看用户有哪些 ACL 权限:

Linux - 用户权限_第4张图片

(2) 设置用户权限:

-m 表示用于修改现有的 acl 条目。

Linux - 用户权限_第5张图片

+ 号表示除了基本的权限外还有 acl 附加的权限 

(3) 删除 ACL:

-x:用于删除特定用户或组的 ACL 条目,保留其他 ACL 设置。

-b:用于完全删除 ACL,并恢复为默认权限。

Linux - 用户权限_第6张图片

Linux - 用户权限_第7张图片

三、特殊权限

1、特殊位 suid

suid 是针对文件所设置的一个特别权限。

功能:当用户在调配文件时,如果它有 suid 位,用户会临时具有属主能力。

设置权限:

移除权限:

2、文件属性

chattr:修改文件特殊属性

lsattr:列出文件或目录的特殊属性

i:在文件上启用这个属性时,不能修改、重命名、删除这个文件。

Linux - 用户权限_第8张图片

 去掉 i 权限用户后可对文件进行相关操作。

3、进程掩码 umask

umask(即用户文件创建掩码)是一种权限掩码,用于定义新创建文件和目录的默认权限。umask的值由四个数字表示,分别代表了文件权限的不同方面。如果要禁用权限,就将相应的数字从umask中减去。

 为什么系统创建文件时权限是644,创建目录时权限是755?

① 对于文件:

系统默认的文件权限为 0666(即读取、写入权限对应的掩码)。

应用 umask 值 0022,即禁用其他用户的写入权限,掩码为 0022。

最终的权限为 0666 - 0022 = 0644,即文件权限为 rw-r--r--。

② 对于目录:

系统默认的目录权限为 0777(即读取、写入和执行权限对应的掩码)。

应用 umask 值 0022,即禁用其他用户的写入和执行权限,掩码为 0022。

最终的权限为 0777 - 0022 = 0755,即目录权限为 rwxr-xr-x。

你可能感兴趣的:(Linux,linux,运维,云计算,centos,网络)