sudo正则方式授权
时间:2018-12-15 19:19 来源:潇湘夜雨 作者:华嵩阳 点击:次
sudo工具可以用于Linux系统的用户权限管理,一般添加管理员通过赋予root身份的方式,但这样管理员的权限太高了。 有些通过添加指定命令的方式授权,但这样工作量较大,而且还经常导致权限分配不对。 本文将会介绍怎样在root用户的基础上减一部分命令的权限,来实现便捷的个性化授权。 1、配置 1rpm -qa|grep –i sudo查看是否安装sudo包 2vi /etc/sudoers添加下面一行配置 hsxyz QD-254.45=(ALL)NOPASSWD: /sbin/iptables,/sbin/ethtool hsxyz普通用户名 QD-254.45代表主机名;ALL代表所有主机,否则以hostname命名仅指在本机上具有该sudo权限 (ALL)指该普通用户可以以所有用户的权限来执行命令,可以填其他用户 NOPASSWD: 使sudo执行命令时不再需要密码 /sbin/iptables 具体命令,多个以逗号间隔 2、使用 切到普通用户下su – hsxyz sudo /sbin/iptables –nvL即可执行 此时如果没有NOPASSWD:设置的话,将会提示输入密码,此密码是普通用户自己的密码 3、正则表达式的应用 如果用sudo给普通用户赋予passwd命令的权限,那么普通用户就可以用sudo命令来修改root密码,这是十分不安全的。不过,在赋予权限时可以加上一些限制,将普通用户可用的命令限制在合理范围内。 - 可以使用正则表达式,不需要加引号 - 使用 ! 取反,表示不允许执行这条命令 例如以下权限。twilight用户只能更改普通用户的密码: twilight ALL=/usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root, !/usr/bin/passwd 此时查看twilight的sudo权限: [aliyunzixun@xxx.com root]$ sudo passwd root [sudo] password for twilight: 对不起,用户 twilight 无权以 root 的身份在localhost.localdomain 上执行 /bin/passwd root。 4、root减权限方法 test2 ALL=(ALL) ALL,!/usr/sbin/useradd,!/bin/rm 作用:test2具有root的权限,但是不能sudo执行useradd、rm(其实rm 用户本身还是可执行)命令。 [test2@web ~]$ sudo useradd --help 对不起,用户 test2 无权以 root 的身份在 web 上执行 /usr/sbin/useradd --help。 [test2@web ~]$ sudo usermod --help 用法:usermod [选项] 登录 选项: -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 [test2@web ~]$ sudo rm test [sudo] password for test2: 对不起,用户 test2 无权以 root 的身份在 web 上执行 /bin/rm test。 [test2@web ~]$ rm test #不用sudo可以执行 [root@web ~]# tail -f /var/log/secure #从安全日志中也可以看到 useradd和rm的权限被禁止了 Dec 15 18:12:12 web sudo: test2 : 命令禁止使用 ; TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/sbin/shutdown --help Dec 15 18:14:19 web sudo: test2 : 命令禁止使用 ; TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/bin/yum remove dstat Dec 15 18:15:06 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=list Dec 15 18:15:20 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/bin/yum remove dstat Dec 15 18:15:37 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/sbin/shutdown --help Dec 15 18:15:44 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/sbin/useradd --help Dec 15 18:17:39 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/sbin/usermod --help Dec 15 18:18:29 web sudo: test2 : 命令禁止使用 ; TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/sbin/useradd --help Dec 15 18:18:35 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/sbin/usermod --help Dec 15 18:18:56 web sudo: test2 : 命令禁止使用 ; TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/bin/rm test Dec 15 18:21:33 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/sbin/reboot --help Dec 15 18:22:10 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/bin/chmod --help Dec 15 18:22:28 web sudo: test2 : TTY=pts/1 ; PWD=/home/test2 ; USER=root ; COMMAND=/usr/sbin/userdel --help (责任编辑:liangzh) |