首页 > 代码库 > 第7章 权限管理(3)_文件系统属性和sudo权限
第7章 权限管理(3)_文件系统属性和sudo权限
3. 文件系统属性chattr权限
(1)chattr命令
命令格式: |
#chattr [+-=][选项] 文件或目录名 |
+、-、= |
分别表示增加权限、删除权限和赋于某种权限 |
选项 |
i:主要用来防止对文件或目录误操作。如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。(注意,这里的设置对root也同样起作用) a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改,但是不允许删除。 |
(2)查看文件系统属性:lsattr命令
①格式:#lsattr [选项] 文件名,其中选项如下:
②选项:-a 显示所有文件和目录
-d 若目标是目录,仅列出目录本身的属性,而不是子文件的
(3)应用举例
①给文件加i属性
【结论】
A.给abc文件加i属性后,可以通过lsattr查看其属性,权限中的“i”表示具有i属性。“e”表示该文件是ext4格式。
B. 当加了i属性以后,就无法删除文件了,哪怕是root用户也一样。但可以查看其内容。
②给目录加i属性
【结论】
A.给/test/目录加i属性
B.这时可以修改test目录下的abc文件,但不能删除这个文件。
C.同时由于/test目录具有i属性,所以不能删除test目录本身,也不能在其中创建新文件或目录。
4. 系统命令sudo权限
4.1 sudo权限
(1)root把本来只能超级用户执行的命令赋予普通用户执行,但又不需要向普通用户提供root的密码。
(2)sudo的操作对象是系统命令.
4.2 sudo的使用
(1)#visudo (注意,这是一个命令,而不是“vi sudo”,也可以#vim /etc/sudoers文件)
root All=(All) ALL //为root用户授权
//分别为#用户名 被管理主机的地址=(可使用身份) 授权命令(绝对路径)。其中的“用户名”表示为哪个用户授权,“被管理主机的地址”表示用户可以在哪台主机上运行授权命令(All表示任何主机),“可使用身份”表示test用户以何种身份运行授权命令,这部分省略。“授权命令”指为授权给用户执行的命令,ALL表示所有命令。
test All=(root) /usr/sbin/useradd //为test授权
//上面一行的意思是,超级用户为test用户授予在任何一台主机上运行useradd命令的权限,当test用户使用sudo执行这条命令时是以root的身份执行的。
#%wheel ALL=(ALL) ALL //为某一组(如wheel组)用户授权命令
//#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
(2)应用举例
①授权sc用户可以重启服务器
#visudo
sc ALL= /sbin/shutdown –r now //为sc授权执行shudown –r now这行命令,但要注意这里只授予加了“-r now”选项的shutdown命令。而不是所有shutdown命令。
②普通用户执行sudo赋予的命令
$sudo –l //查看可用的sudo命令。(注意$表示普通用户)
$sudo /sbin/shutdown –r now //普通用户执行sudo赋予的命令
第7章 权限管理(3)_文件系统属性和sudo权限