Linux下文件及目录权限二、特殊权限

简介:
文件或目录的特殊权限有三种:
一、 Suid:用字母 s 表示。使得可执行程序不管执行者是谁,都能够以其拥有者的身份去运行。(有安全隐患,慎用)占用属主权限部分的最后一位即x位,如果文件原来设有x位则加了suid后用小写的s表示,否则用S表示。注意:suid权限对目录无效。
例如ls命令的原始权限是下面这样(属主有x权限)
-rwxr-xr-x  1 root root  81240 Oct  4  2006 ls
执行:# chmod u+s ls 后权限变成下面这样(小写s)
-rwsr-xr-x  1 root root  81240 Oct  4  2006 ls
如果像上面那样对ls命令加上了suid权限,带来的后果是普通用户可以使用ls命令查看任何目录的任何文件的信息。包括普通用户原来无法查看的/root目录。
如果对fdisk命令设置了suid权限将使所有用户都能对磁盘分区,如果对service命令设置了suid将使所有用户都能管理系统服务。慎用!
# ls -l |grep ^...s 该命令可以找出当前目录下所有被设置了suid的文件。
可以使用 $ chmod u+s /bin/ls 为可执行程序增加suid权限;也可以使用 $ chmod 4xxx 命令 其中x表示的是可执行程序的普通权限。
二、Sgid:使得程序不管理执行者是谁,都能够以其属组的身份去运行。如果SGID被设置在目录上,在该目录内新建的文件或目录的属组,将会是此目录的属组。 (不常用)占用属组权限的x位。
例如:
-rwxr-sr-x  1 root tty 10124 Apr 11  2007 /usr/bin/wall
wall 命令就是被设置的sgid的,这会使不管使用wall发信息的用户是谁,都将以tty组的权限发送。
可以使用 $ chmod g+s 命令给文件或目录加sgid权限。
也可以使用 $ chmod 2xxx 命令其中x表示的是文件或目录的普通权限。
 
三、Sticky:为了防止在一个完全开放权限的目录里用户之间相互删除对方完全开放权限的文件,可以对该目录设置sticky权限。注意:sticky权限只能对目录生效。
例如:当前用户是bjxh
$ cd /tmp
$ touch test
$ chmod 777 test
$ su - xhce //换成xhce用户
$ rm /tmp/test

rm: cannot remove `/tmp/aa': Operation not permitted
可以使用 $ chmod o+t /test 给test目录加上sticky权限
也可以使用 $ chmod 1xxx 命令 其中x表示的是目录的普通权限。

有的时候为了增加系统的安全性,会用到 chattr命令。
 
# chattr +i fileA //不允许文件被做任何改变,如改名,增加数据。
# chattr +a dir //只允许在目录里新加数据,不允许删除
查看用chattr设置的权限,要用 lsattr 命令,可以加上 -a
表示查看隐藏文件的设置; -R递归查看目录下所有文件的子目录设置。
 
更多用法参考 # man chattr。

本文转自Y.weisheng 51CTO博客,原文链接:http://blog.51cto.com/yuan2/93389,如需转载请自行联系原作者
相关文章
|
5天前
|
存储 数据挖掘 Linux
在 Linux 中查找目录中最大文件用什么,你知道吗
【5月更文挑战第23天】在 Linux 中查找目录中最大文件,可以使用 `du` 命令结合 `sort`,`find` 命令搭配 `xargs` 和 `sort`,或编写 Python 脚本。例如:`du -a /path | sort -nr | head -n 1` 或 `find /path -type f -print0 | xargs -0 du -h | sort -nr | head -n 1`。这些方法适用于服务器管理、数据分析和文件清理等场景,注意文件权限、目录深度和文件系统类型可能影响结果。
20 1
|
6天前
|
安全 Linux Go
【Linux】Linux权限的概念 -- 详解
【Linux】Linux权限的概念 -- 详解
|
7天前
|
Linux
linux 如何删除文件中的空格和换行符号并保存到新文件中
linux 如何删除文件中的空格和换行符号并保存到新文件中
13 0
|
7天前
|
Linux C语言 Windows
linux基本指令总结--文件和目录(一)
linux基本指令总结--文件和目录(一)
|
8天前
|
运维 Ubuntu 安全
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
|
9天前
|
存储 缓存 Linux
Linux 根目录下的目录都是什么作用
【5月更文挑战第17天】Linux 根目录下的目录都是什么作用
22 1
|
9天前
|
Linux
Linux 目录 rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d 是干什么的
【5月更文挑战第17天】Linux 目录 rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d 是干什么的
33 1
|
12天前
|
Linux 网络安全
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
46 3
|
13天前
|
Linux Go
linux ls -la文件信息含义
linux ls -la文件信息含义
20 1
|
14天前
|
Ubuntu Linux Shell
mc实现目录同步并封装成Linux服务形式
mc实现目录同步并封装成Linux服务形式
262 1