因为背不住,也不想转到脚本那边去check源码,所以快速笔记一下:

groupadd -g222 devops
groupadd -g225 admin
groupadd -g333 hzadmin
cat >/etc/sudoers.d/hzadmin<<EEE
%devops  ALL=(ALL) NOPASSWD:ALL
%hzadmin  ALL=(ALL) NOPASSWD:ALL
%admin  ALL=(root) NOPASSWD: /bin/systemctl
EEE
usermod -aG hzadmin,devops me

sudo 命令免密的关键,在于 NOPASSWD:ALL。如果想要给特定账户而不是账户组授予特定权限,则可以用:

someone ALL=(root) NOPASSWD: /bin/systemctl

这个示例可以给账户someone授予执行systemctl的权利。类似的journalctl也可以这么做。

不过,也可以选择将账户加入到某个特定组,例如adm组、或者www-data组,的方式来使其具有特别权利。