所以这更像是一个逆向工程问题。
我们有这台机器在工作,任何人都可以使用 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_group
gateway01
/etc/passwd
/etc/shadow
/etc/group
sshd
换句话说,将该系统上的相同/etc/pam.d/sshd
文件(或其使用指令引用的任何文件@include
)与默认配置中具有相同 Linux 发行版的另一个系统上的相同文件进行比较可能会很有启发。
gw_users
包含用户列表的文件可以用在维护和/或生成其他gw_passwd
文件和/或该/etc/ssh/sshd_config
文件(可能已配置为对网关用户强制执行一些附加限制)的脚本中。