linux文件系统上的特殊权限 (linux设置文件和目录的操作权限)

linux授予用户目录权限,linux设置文件和目录的操作权限

  • 如果在一个目录上设置了sticky这个特殊权限,那么就只有文件的所有者和root用户才可以删除该目录中的文件,而Linux系统不会理会group或other的写权限。

  • 如果在一个目录上设置了sgid特殊权限,那么只要是同一群组的成员(具有相同gid的用户),都可以在这个目录中创建文件。

  • 通常会对目录同时设置sticky和sgid这两个特殊权限以方便项目的管理(将同一个项目的文件都放到这一个目录中以方便同一项目的成员之间共享信息)。

linux授予用户目录权限,linux设置文件和目录的操作权限

举个例子:

goddog@localhost:~$ ls -dl /tmp

drwxrwxrwt 14 root root 4096 2月 22 13:51 /tmp

(d这个参数是表示要列出/tmp目录本身的信息,若没有d这个参数,ls命令就将列出/tmp目录中的所有内容。)

可以看出/tmp目录上具有sticky的特殊权限,所以只有文件的所有者或root用户才有权删除/tmp目录中的文件。这里我就不证明了。

第2个特性可以用来达到共享文件的目的,特别是在项目开发和管理中非常有用,但有可能留下安全隐患。

第3个特性如果在一个目录上同时设置了sticky和sgid这两个特殊权限,同一群组的用户不但可以共享这个目录中的文件和目录,而且每一个用户都不能删除同一群组中其他用户的文件,以这样的方式实现同一项目中不同项目成员之间的信息共享,不但方便而且更安全。(由于篇幅过长,后两个特性我就不证明了)

linux授予用户目录权限,linux设置文件和目录的操作权限

今天就分享这么多了,谢谢欣赏!