Sudoers - 组管理和重新启动/关闭

Sudoers - 组管理和重新启动/关闭

我有一个组(假设名称“group1”,ID = 1234)和一个用户(假设名称“user1”,ID =“4321”)。我想做两件事:

  1. 我希望该用户更改该组其他成员的密码,但是仅有的来自该组。
  2. 我希望该组的每个成员都能够使用重新启动/关机命令,而无需每次都使用密码。

我已阅读该页(https://help.ubuntu.com/community/Sudoers)但我仍然无法解决我的问题。

答案1

假设组 id 是“foo”

使用 visudo 更改 sudo 设置:

% 符号标识一个组

%foo ALL = (root) /usr/bin/reboot

至于密码更改,您将必须使用限制活动的脚本 - sudo 无法完成所有操作。

假设一个特殊用户是 peewee 使用 visudo add:

User_Alias SPECIAL peewee

SPECIAL ALL = (root) NOPASSWD: /root/special_passwd.shl

作为根用户:

mkdir /root
chmod 750 /root

这是完全未经测试的:将此脚本命名为special_passwd.shl,并将其放置在根目录中。权限 = 750

#!/bin/bash
if [ $# -eq 2 ] ; then
# echo username:passwd | chpasswd is the syntax
   grp=$(/usr/bin/id -g "$1")
   if [ "$grp" = "1234" ]; then
         echo ${1}:${2} | /usr/bin/chpasswd
      [ $? -eq 0 ] || echo 'password change failed'
   fi

else
   echo 'No password change: requires username, new password'
fi

您应该考虑展示您对此所做的尝试。该脚本是一个入门版本,并不用于制作。

相关内容