
グループ(名前「group1」、id = 1234と仮定)とユーザー(名前「user1」、id = "4321"と仮定)があります。私は2つのことをしたい:
- ユーザーにグループ内の他のメンバーのパスワードを変更させたいのですが、ただこのグループでは。
- グループのすべてのメンバーが毎回パスワードを使用せずに再起動/終了コマンドを使用できることを願っています。
私はこのページを読みました(https://help.ubuntu.com/community/Sudoers)しかし、まだ問題を解決することはできません。
答え1
グループIDが「foo」であるとする。
visudoを使用してsudo設定を変更します。
% 記号はグループを識別します。
%foo ALL = (root) /usr/bin/reboot
パスワード変更の場合は、アクティビティを制限するスクリプトを使用する必要があります。 sudoはすべての操作を実行できません。
visudo addを使用して、特別なユーザーがpeeweeであるとします。
User_Alias SPECIAL peewee
SPECIAL ALL = (root) NOPASSWD: /root/special_passwd.shl
rootユーザーとして:
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
これに対する試みを示すことを考慮する必要があります。このスクリプトは開始バージョンであり、本番用ではありません。