使用 pam_mysql 进行身份验证的 chroot 用户在 ls 上 sftp 提示符挂起

使用 pam_mysql 进行身份验证的 chroot 用户在 ls 上 sftp 提示符挂起

操作系统:Ubuntu 14.04

我设置了 pam_mysql,它运行正常。我可以通过常规 ssh/sftp 顺利登录 sql 用户。当我尝试使用 CHROOT sql 用户进行 sftp 时,问题就出现了。每次输入 ls 时,它都会挂起。

停止于:

root@default-ubuntu-1404:~# sftp test@localhost
Ubuntu 14.04.5 LTS
test@localhost's password:
Connected to localhost.
sftp> ls
... just hangs

其他命令有效,(cd、pwd)

这似乎是一个类似的问题:https://unix.stackexchange.com/questions/32882/sftp-server-on-rhel6-disconnects-on-ls

“这最终成为了 Likewise Open 的一个问题。在 sftp 过程中,“ls” 是唯一尝试解析 UID/GID 的命令,在这样做时,它会转到 Likewise 进行解析,而一旦解析完成,它就会崩溃。”

我无法理解这一点,但我猜测,一旦用户进入 chroot 环境,它就无法获取 uid/gid 信息。

答案1

因此它并没有像我希望的那样得到“解决”,但我找到了解决方法。

在用户的 chroot 文件夹内创建/etc/passwd和文件可以解决问题。/etc/group

虽然不是一个很好的解决方法,但是它可以起作用,我需要用pam_mysql 用户的值填充文件/etc/passwd/etc/groupgetent passwd

我正在努力编写一个脚本,以便在用户登录时使用 pam_exec 创建这些。

root 和用户的 uid/gid 应该是每个用户的 chroot 所需要的全部内容。

相关内容