第7章 权限管理_文件系统属性和sudo权限
Posted 浅墨浓香
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第7章 权限管理_文件系统属性和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)相比于su切换身份需要用户的密码,经常性的是需要root密码,sudo只是需要自己的密码,就可以以其他用户的身份来执行命令,经常是以root的身份执行命令
(2)root把本来只能超级用户执行的命令赋予普通用户执行,但又不需要向普通用户提供root的密码。
(3)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章 权限管理_文件系统属性和sudo权限的主要内容,如果未能解决你的问题,请参考以下文章
Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令
Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令