005. Linux基础五 P3 (特殊权限)(待修订)

1 特殊权限

三种特殊权限:SUID, SGID, Sticky

SUID

chmod u+s file

  1. 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
  2. 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
  3. 进程访问文件时的权限,取决于进程的发起者

(a) 进程的发起者,同文件的属主:则应用文件属主权限
(b) 进程的发起者,属于文件属组;则应用文件属组权限
(c) 应用文件“其它”权限

二进制的可执行文件上SUID权限功能:

  • 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
  • 启动为进程之后,其进程的属主为原程序文件的属主
  • SUID只对二进制可执行程序有效
  • SUID设置在目录上无意义

SGID

二进制的可执行文件上SGID权限功能:
chmod g+s file

  • 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
  • 启动为进程之后,其进程的属组为原程序文件的属组
    chmod g+s DIR
    目录上的SGID权限功能:
    默认情况下,用户创建文件时,其属组为此用户所属的主组,一旦某目录被设定了SGID,则对此目录有 写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录

Sticky

chmod o+t DIR
具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky位,只有文件的所有者或root可以删除该文件
sticky设置在文件上无意义

权限位映射

  • SUID: user,占据属主的执行权限位
    s:属主拥有x权限
    S:属主没有x权限
  • SGID: group,占据属组的执行权限位
    s: group拥有x权限
    S:group没有x权限
  • Sticky: other,占据other的执行权限位
    t:other拥有x权限
    T:other没有x权限

2 设定文件特殊属性

chattr +i #不能删除,改名,更改
chattr +a #只能追加内容,不能删除,改名
lsattr #显示特定属性

上一篇:005-Java中的控制语句


下一篇:【Java概念每日一题005】Java中操作字符串都有哪些类?它们之间有什么区別?