仅用于更改密码的 shell

仅用于更改密码的 shell

我需要限制 RHEL 8 系统上用户的所有访问权限,并允许他们仅更改自己的密码。我以为我能做到

[root]$ usermod <username> -s /bin/passwd

但这不起作用。我缺少什么?

更新:

需要明确的是,行为是,一旦机器启动(多用户目标),您会看到首先输入用户名的屏幕,然后提示符会更改为询问密码,如果您输入的用户是我将 shell 设置为 或/bin/passwd/usr/bin/passwd以及通过vipw直接进入/etc/passwd或通过usermod),屏幕重置并在一瞬间再次返回以询问用户名,就好像什么也没发生一样。其他一切都没有改变;有了root,它就可以继续正常工作。

答案1

/etc/passwd您需要做的是将文件中的 shell 替换为命令/usr/bin/passwd的路径或任何路径passwd。您可以使用命令来做到这一点vipw。我不确定是否chsh允许您在该字段中更改为非 shell 二进制文件。

usermod -s也在寻找得到正式认可的shell,并且/bin/passwd显然不是经过批准的 shell。

相关内容