我有一个组(假设名称“group1”,ID = 1234)和一个用户(假设名称“user1”,ID =“4321”)。我想做两件事:
- 我希望该用户更改该组其他成员的密码,但是仅有的来自该组。
- 我希望该组的每个成员都能够使用重新启动/关机命令,而无需每次都使用密码。
我已阅读该页(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
您应该考虑展示您对此所做的尝试。该脚本是一个入门版本,并不用于制作。