有没有办法允许非root用户更改其他用户的密码。 具体来说,是否有办法授予帮助台员工进行密码重置的权限。 帮助台已经可以重置Windows密码,这很容易委派出去。
这些服务器types多种多样,尽pipe大多数都在HP-UX上。 不幸的是,在服务器上运行的应用程序阻止我们使用LDAP,所以这些服务器是独立的,用户忘记了他们的密码。 经常。 需要一个知道root密码的服务器pipe理员,特别是在半夜,是浪费资源。
如果可能的话,是否也会阻止用户更改根目录,就像Windows阻止用户从非pipe理员帐户更改pipe理员密码一样。
看看sudo:
添加一个名为helpdesk的组,并将所有的heldesk用户添加到它。 然后将以下内容添加到sudoers文件中。
%helpdesk ALL=/usr/bin/passwd
现在他们可以sudo来更改密码,但没有别的。
考虑到HP-UX被认为支持PAM ,我敢于在这里提到以下尝试性的干净方法来解决这个问题:
使用pam_tcb(tcb – / etc / shadow的替代) ,并且每个用户都会有用户的密码文件 – 可以在没有root权限的情况下操作它们(事实上,在Owl中, passwd
不是 setUID root),您可以授予将特定用户(而不是其他用户,比如“root”)的密码修改为特定组的权限(通过修改影子文件的权限)。
但是这可能不是一个现成的解决scheme,因为我没有看到HP-UX的pam_tcb
端口。
更新:没关系,passwd已经是setuid root了。 哎呀。
您可以将setuid属性赋予passwd程序。 做就是了
sudo chmod u+s `which passwd`
然后确保只有某些用户可以使用它,所以更改组和限制权限:
sudo chgrp password_reset_delegates `which passwd` sudo chmod 770 `which passwd`
并将您的用户添加到该组
sudo adduser frank password_reset_delegates sudo adduser barbara password_reset_delegates
您可能希望在没有setuid的情况下复制passwd程序,以便其他用户可以更改自己的密码。
或者,您可以设置sudo,并允许sudo访问帮助台用户的passwd程序。