Linux测评延展知识 — sudo与su

admin 2023年10月13日16:08:57评论12 views字数 1868阅读6分13秒阅读模式

知识宝库在此藏,一键关注获宝藏

上述更新到访问控制这一块,那么在运维人员日常工作中权限是绕不过的话题,sudo每年能力验证基本都考察,所以这期简单介绍一下sudo与su,这两个权限相关命令。

2022年能力验证考察的就是sudo 配置,确认我们是否对/etc/sudoers文件的配置规则、别名机制等是否理解。

Linux测评延展知识 — sudo与su

2021年能力验证中考察的是su,在安全策略就有这么一条,其实就是要将#auth required pam_wheel.so use_uid 取消注释

Linux测评延展知识 — sudo与su

1.sudo命令
sudo命令可以允许用户以某个其他用户身份执行某些命令。
配置文件:/etc/sudoers
1)使用方法:
sudo 需要执行的命令

Linux测评延展知识 — sudo与su

sudo 命令可以让管理员(root)实现定义某些特殊命令谁可以执行。
sudo -l:列出当前用户所有可执行的命令
Linux测评延展知识 — sudo与su

2)配置sudo文件
使用条件:
必须以root 身份执行visudo 添加需要执行sudo 命令的用户
执行visudo,实际上修改的是/etc/sudoers文件
为什么不使用vim /etc/sudoers,因为visudo在修改完成后可以对语法进行检查
可使用visudo -c进行语法检查,当sudoers文件有语法错误时,所有的sudo命令都无法使用。
① 常见形式:
Linux测评延展知识 — sudo与su
root ALL=(ALL) ALL
第一列:表示用户名,如果是用户组,可以写成“%组名”
第二列:表示允许登录的主机(白名单),ALL代表任意主机
第三列:表示以谁的身份去执行命令,ALL代表root身份
第四列:表示此账户可以执行哪些命令,多个命令之间使用逗号隔开,ALL表示任意命令
案例:本身test用户不能添加用户,要求使用sudo配置,将其设置为可以添加用户,并且可以修改口令(但是不能修改root用户密码)
Linux测评延展知识 — sudo与su
usr/bin/passwd [a-zA-Z]* 表示可以使用 sudo passwd 用户名
!/usr/bin/passwd root 表示禁止对root用户使用passwd
疑问就在于/usr/bin/passwd [a-zA-Z]* 为什么不能写成 /usr/bin/passwd *?
* 代表通配符,表示0个或多个任意字符,若不加[a-zA-Z]则可以使用sudo passwd命令,直接可修改root口令, /usr/bin/passwd [a-zA-Z]* 主要是过滤掉sudo passwd 的情况,passwd后面一定要有空格和用户名。[]中可以放任意个字母,也可以再增加0-9代表第一位可以是数字,但是不能放特殊字符
PS:[a-zA-Z]可以改写成 [a-Z] 同样表示大小写字母。
② 别名机制:
可以对用户、用户组、命令等设置别名(组),需要使用时直接引用这个别名(组)即可
Linux测评延展知识 — sudo与su
用户或者组的别名 --> User_Alias ADMINS = jsmith,mkike,%groupname (注:组前边需要添加%)
主机别名 --> Host_Alias FILESERVERS = fs1,fs2
可以切换的用户角色别名 --> Runas_Alias OP = root
命令别名 --> Cmnd_Alias SERVICES = /sbin/service,/sbin/systemctl
③ sudo审计:
只记录用户使用sudo时执行的命令
/etc/sudoers文件中添加以下内容,即可实现sudo审计
echo "Defaults logfile=/var/log/sudo.log" >>/etc/sudoers
Linux测评延展知识 — sudo与su


2.su命令
通过su命令可以从现有账户切换到其他账户,除了root,切换到其他账户都需要目标账户的密码。但实际还是存在一些访问控制功能的。
切换用户命令:su - [用户名]  (- 代表重新加载该用户的环境变量)
/etc/pam.d/su文件中:
Linux测评延展知识 — sudo与su
其中pam_rootok.so 模块就代表了root无需口令即可su任何用户
#auth required pam_wheel.so use_uid,如果取消注释,则代表仅位于wheel用户组的用户,具有su命令的使用权限,其余账户无su权限,这里的wheel用户组为系统自创的一个用户组。
另外,其中的#auth sufficient pam_wheel.so trust use_uid,如果取消注释,则代表wheel组的用户为可信任的,wheel组的用户切换到其他账户不需要输入目标账户的口令,就像root一样,与第一行的pam_rootok.so模块类似。

原文始发于微信公众号(等保不好做啊):Linux测评延展知识 — sudo与su

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月13日16:08:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux测评延展知识 — sudo与suhttp://cn-sec.com/archives/2108940.html

发表评论

匿名网友 填写信息