我想授权普通用户成为管理员。这样那些授权用户可以创建帐户、删除帐户、修改密码、修改密码规则。我知道 su 可以提供帮助,我想知道是否还有其他方法可行?非常感谢!
答案1
须藤是常用方法(man sudo)。它允许您指定特定用户可以以不同的特定用户(通常但并非总是 root)运行一组特定命令,使用他们自己的密码对其进行身份验证以证明他们就是他们,并记录他们所做的事情。可以对用户和命令进行分组以方便管理。
请注意,允许 shell 访问或编辑任意文件的命令可能会出现问题;例如,如果您允许某人以 root 身份使用 sudo vi,则实际上您信任他们以 root 身份执行任何操作(尽管可以采取缓解措施来防止这种情况发生)。但撇开这些问题不谈,这是一个委派信任的优秀系统,我认识的大多数系统管理员已经使用它多年了。
答案2
您到底想要实现什么目标?如果您提供电子邮件或网页服务,并且希望将这些帐户的帐户管理委托给其他用户,那么将这些帐户与实际系统帐户分开可能是一个好主意。这样,限制人们可以在您的服务器上做的事情就更容易、更清晰了。因此,只将系统帐户保留在 /etc/passwd 中,将其他所有内容分离到 MySQL/OpenLDAP/其他系统。
由于我不知道您实际上要做什么,因此我不会输入冗长的教程,但这里简要介绍一下这个概念。我假设您需要提供电子邮件服务,并且某人(或某物,例如 Perl 脚本)需要为此修改用户帐户。让我们将帐户放入 OpenLDAP。
1) 安装您选择的 POP/IMAP 服务器软件。大多数(如果不是全部)软件都支持 PAM 身份验证。
2)安装pam_ldap(很可能是nss_ldap),这样您就可以指向身份验证阶段以从OpenLDAP查找帐户。
4) 配置您的邮件软件以使用 LDAP 和/或修改 /etc/pam.d/{pop3,imap} 以使用 pam_ldap。
5) 使用所需的 LDAP 模式创建初始 OpenLDAP 数据库。OpenLDAP 中附带的脚本可以为您完成此操作。
6) 安装您选择的 LDAP 管理工具。命令行工具、Web 界面、GUI 和 API 均可用。
7) 授予您的受托人访问您的 LDAP 管理界面的权限。
8) 确保只有电子邮件服务可通过 LDAP 身份验证使用,而其他服务则不可用,例如普通 shell 登录。
9) 砰!您的受托人可以管理您的电子邮件帐户,但不会轻易损害您的服务器。