Linux 文件特殊权限

特殊权限

SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者自身;
  chmod u+s FILE
  chmod u-s FILE
如果FILE本身原来就有执行权限,则SUID显示为s;否则显示S;

例如:用root用户创建文件 1.txt,该文件属性为700,普通用户无法用cat查看,但对/bin/cat 加上suid权限后,普通用户在cat时,使用的属主是

/bin/cat的属主权限,而非普通用户。

Linux 文件特殊权限

 

SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组;
  chmod g+s FILE
  chmod g-s FILE

特殊使用场景:两个用户需要对一个目录下所有文件,都具有创建修改权限。

  首先我们先创建两个用户,usera 和 userb。都给这两个用户添加附加组 project。然后创建一个test 目录,属组是project。

Linux 文件特殊权限

  

  然后我们给test目录加上sgid特殊权限,再次查看效果。我们发现,usera在test目录下创建的a2.txt属组为project,

切换至userb用户,也可以对a2.txt 进行修改。

Linux 文件特殊权限

 

Sticky: 在一个公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件;
chmod o+t DIR
chmod o-t DIR

 

文件系统访问列表:

FACL:利用文件扩展保存额外的访问控制权限

setfacl

  -m:设定

    u:UID:perm

    g:GID:perm

  -x:取消,定义额外的访问控制。取消时,只要指明用户名或组名即可。

    u:UID

    g:GID

举例:

Linux 文件特殊权限

 

上一篇:rsync 两台linux间用ssh免密方式同步


下一篇:Linux_面试专题