如何限制用户su,设置sudo命令权限

您所在的位置:网站首页 merely和only替换 如何限制用户su,设置sudo命令权限

如何限制用户su,设置sudo命令权限

2023-08-12 20:50| 来源: 网络整理| 查看: 265

linux系统创建的所有用户都可以默认su - root。 下面介绍怎么限制普通用户su

一. 限制普通用户su

1. 添加wheel组

一般来说,系统会创建一个wheel组,如果没有,groupadd创建一个即可 [sudoer1@host ~]$ grep wheel /etc/group wheel:x:10:

2. 将用户添加到wheel用户组

[root@host ~]# usermod -G wheel test1 [root@host ~]# id test1 uid=1009(test1) gid=1009(test1) 组=1009(test1),10(wheel)

3. 修改插拔认证模块(PAM)

[root@host ~]# vim /etc/pam.d/su #auth required pam_wheel.so use_uid 把这行#去掉,wq退出

4. 验证

[root@host ~]# grep wheel /etc/group wheel:x:10:test1 [root@host ~]# su - test1 上一次登录:三 5月 6 17:07:54 CST 2020pts/1 上 [test1@host ~]$ su - root 密码: 上一次登录:二 5月 12 09:29:17 CST 2020从 192.168.10.1pts/0 上 [root@host ~]# [root@host ~]# su - sudoer1 上一次登录:二 5月 12 09:55:57 CST 2020pts/0 上 [sudoer1@host ~]$ su - root 密码: su: 拒绝权限 [sudoer1@host ~]$ su - test1 密码: su: 拒绝权限 [sudoer1@host ~]$

不过这样也不安全,建议设置sudo命令,普通用户使用sudo 命令执行特殊命令 二. 配置sudo 下面来介绍配置sudo参数,来设置使用sudo命令 ----visudo命令。 1.普通用户sudo权限

[root@host ~]# visudo %wheel ALL=(ALL) ALL #有这么一行 %wheel :wheel组 ALL :登录机器 (ALL):使用sudo身份 ALL :可以使用sudo 后的命令

2. 用户组配置sudo命令 2.1 主机分组

[root@host ~]# visudo # Host_Alias FILESERVERS = fs1, fs2 # Host_Alias MAILSERVERS = smtp, smtp2 # 分组命名 = 主机名字或IP #如: Host_Alias OPS = 192.168.10.1

2.2 用户分组

[root@host ~]# visudo # User_Alias ADMINS = jsmith, mikem # 分组命名 = username #如: User_Alias OPS = ops01,ops02,ops03

2.3 命令分组

[root@host ~]# visudo ## Networking # Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool ... ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere #在这里配置 root ALL=(ALL) ALL sudoer1 ALL=(root) /usr/sbin/useradd ... ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment) #includedir /etc/sudoers.d #提示写入/etc/sudoer.d/目录下配置

2.3 /etc/sudoers.d/ 正常配置

[root@host ~]# cd /etc/sudoers.d/ [root@host sudoers.d]# ls [root@host sudoers.d]# vim user #随便命名 test1 ALL=(ALL) /usr/sbin/useradd test01 ALL=(ALL) /usr/bin/mount mount /dev/sr0 /media

验证:

[root@host sudoers.d]# su - test1 上一次登录:二 5月 12 11:09:02 CST 2020pts/0 上 [test1@host ~]$ sudo useradd test02 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。 [sudo] test1 的密码: [test1@host ~]$ cat /etc/passwd test02:x:1053:1053::/home/test02:/bin/bash

上面的设置,每次sudo会验证密码,很麻烦,我们通过设置可以跳过密码

# User_Alias ADMINS = jsmith, mikem User_Alias USERADD = test1,test01 # Host_Alias MAILSERVERS = smtp, smtp2 test01 ALL=(ALL) /usr/bin/mount mount /dev/sr0 /media Cmnd_Alias ADD=/usr/sbin/useradd USERADD ALL=(root) NOPASSWD: ADD

验证:

[test01@host ~]$ sudo useradd test07 sudo: 账户过期,或 PAM 配置缺少 sudo 使用的“account”节,联系您的系统管理员 [root@host sudoers.d]# su - test1 上一次登录:二 5月 12 11:32:41 CST 2020pts/0 上 [test1@host ~]$ sudo useradd test07 [test1@host ~]$

#注意,此处说的PAM没有打开权限,上面配置的是只有wheel组用户才可以su,test1在wheel,而test01并不在wheel组 取反:即除了这些命令其他都可以执行 把/etc/pam.d/su文件中的su选项注掉

[root@host sudoers.d]# vi user User_Alias USERADD = test1,test01 # Host_Alias MAILSERVERS = smtp, smtp2 test01 ALL=(ALL) /usr/bin/mount mount /dev/sr0 /media Cmnd_Alias ADD=/usr/sbin/useradd USERADD ALL=(root) NOPASSWD: ADD #使user1,user2`用户能够有权限使用/usr/sbin/下的所有命令,除了/usr/sbin/userdel User_Alias USR = user1,user2 Cmnd_Alias NOT=/usr/sbin/ USR ALL=(root) NOPASSWD:NOT,!/usr/sbin/userdel

验证:

[user1@host ~]$ sudo useradd user3 [user1@host ~]$ grep user3 /etc/passwd user3:x:1061:1061::/home/user3:/bin/bash [user2@host ~]$ sudo usermod -l user03 user3 [user2@host ~]$ grep user03 /etc/passwd user03:x:1061:1061::/home/user3:/bin/bash

------------------------------------------------------------------------------------------------------- 返回目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3