为一台计算机上的所有用户提供一个统一帐户,同时保留单独的凭据

为一台计算机上的所有用户提供一个统一帐户,同时保留单独的凭据

所以这更像是一个逆向工程问题。

我们有这台机器在工作,任何人都可以使用 ssh 登录。ssh johndoe@gateway01。然而!登录后,该人登录的用户不再是johndoe所有用户共用的帐户,称为daq

如果我这样做cd ~johndoe,它只会将我重定向到~daq.

更有趣的是,如果我这样做ssh daq@gateway01,我会得到:

This account is currently not available.
Connection to gateway01 closed.

我的问题是如何实现这样的设置?

这适用于计算机上某处用户列表中存在的每个用户。该列表位于一个名为gw_users.

我注意到在同一个文件夹中,还有一些文件:

gw_passwd
gw_shadow
gw_group

答案1

“具有多个用户名的单个帐户,每个用户名都有一个单独的密码”效果可以通过在文件中包含具有passwd相同 UID 号的多行来实现。如果 username 行daq的 shell 设置为/sbin/nologin,那么它会产生与ssh daq@gateway01您所看到的完全相同的响应。

gw_passwd和文件表明系统上可能存在有效的自定义 PAM 配置,可能使用这些文件作为标准//文件gw_shadow的替代品,至少对于.gw_groupgateway01/etc/passwd/etc/shadow/etc/groupsshd

换句话说,将该系统上的相同/etc/pam.d/sshd文件(或其使用指令引用的任何文件@include)与默认配置中具有相同 Linux 发行版的另一个系统上的相同文件进行比较可能会很有启发。

gw_users包含用户列表的文件可以用在维护和/或生成其他gw_passwd文件和/或该/etc/ssh/sshd_config文件(可能已配置为对网关用户强制执行一些附加限制)的脚本中。

相关内容