tln12-

高级权限介绍以及文件属性进程掩码

昨天把文件管理的基本权限介绍了,今天介绍高级权限

高级权限包含 SUID SGID Sticky权限。

1.SUID 权限

当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID,简称SUID。

作用:

SUID权限仅对可执行文件有效

执行者对于该可执行文件需要具有x权限

在执行过程中,调用者会暂时获得该文件的拥有者权限

该权限只在程序执行的过程中有效

查看usr/bin/passwd 下权限,其中s表示特殊权限

 

任何用户在执行该文件时,其身份是该文件的属主,在进程文件(二进制,可执行)上增加SUID权限,让本来没有相应权限的用户也可以访问没有权限访问的资源。
普通用户可通过SUID 提权,使用chmod 命令给user增加SUID 权限,切换到alice用户下,即可查看/root/file01.txt,具体如下所示。

 2.SGID权限

在一个程序上添加 SGID,用户在执行过程中会获得该程序用户组的权限(相当于临时加入了程序的用户组)。
在目录/home下创建一个目录 h1,将 h1 组添加到该目录下,查看目录属组已修改为 h1。在/home/hr目录下创建一个文件 file02,该文件属组为 root,并没有继承上级目录的 h1组,具体如下所示。

在一个目录

下添加SGID ,该目录下创建的文件会继承其属组

 3.sticky权限

添加Shicky后,当用户对目录具有w、x权限,在该目录下建立的文件成目录,仅有自己与root有权删除。
在目录下创建目录 dir01、并赋予其 777 权限,具休如下所示

使用siso用户在该目录下创建文件file

添加t参数后只能删除自己文件

 文件属性chattr

为了保护系统文件,Linux系统会使用chattr命令改变文件的隐藏属性。该命令只对EXT2/EXT3/EXT4文件完整有效。

创建三个文件,使用lsattr查看这3个文件的隐藏属性

使用man工具查看chattr的使用方法

 进程掩码umask

当用户创建新目录成文件时,系统会赋予目录成文件一个默认的权限,umak 的作用就是指定权默认值。为系统设置一个合理的 mask 值,确保创建的文件成目录具有所希纽的缺省权限,有利保证数期安全。umask 值表示要减掉的权限,也可以简单地理解为权限的“反码”,进程和新建文件、目录的默权限都会受到 umask 的影响。例如,创建目录 dir001,创建文件 file001,然后查看 umask 默认及文件与目录的权限,具体如下所示。

 新建的目录如果全局可写,基本权限应该是 777,但实际上基本权限是 755,新创建的文件基本权限为644,因为umask要强制去掉 group 与other 的写权限,而文件系统默认不赋子执行权限。当把umask 默认权限设置为0777,新创建的目录与文件的基本权限为 000,具体如下所示。

 不同的进程都可以设置自己的 umask,上述示例在 Shell 当中影响的是 touch 命令。新创建的用"home 目录的权限默认为 700,可以通过改变/etc/login.defs 文件中第 64 行 UMASK 的权限值,将700修改为000

 

posted on 2023-11-28 16:26  pwdsector  阅读(32)  评论(1编辑  收藏  举报

导航