技术解析

如何让 sftp 账号正常登录到 nfs mounted 目录的子目录?
0
2021-06-24 19:31:36
idczone
要做一个多节点共用的 SFTP 文件服务,于是就想着给这些节点挂载一个 NAS。CentOS 7 下安装了 nfs-utils,挂载到了一个目录,比方说 /mnt/nas。

然后创建 sftp 专用账号,设定账户的主目录到 /mnt/nas/sftp,目录权限什么的也都设置好了。

问题来了:用 sftp 账号登录服务器时,密码验证步骤通过后立刻 connection closed by remote host。然而用 root 登录时一切正常的。

我折腾半天认为是权限问题,nas 目录的权限显示为 rwxrwxrwt。如果把 sftp 账号的主目录设置到 nas 以外的地方则一切正常。Linux 小白,实在不知道该怎么搞了。
对不起,作为一个小白我想说这个权限是有问题的但是怎么设置我没有谱

需要 sftp 账号吗?我咋都没有用就可以访问了呢

要做 SFTP 服务,当然要创建一个 SFTP 账号。而实际上通过 SSH 登录也是 closed by remote host。

mkdir 时 nas 的权限没什么特别,mount 之后就变成这样了,我猜是与 nfs 机制有关系,但不知如何调整。chmod o-t 会被提示 Operation not permitted。

这个问题其实很复杂。

使用 chroot,https://www.howtoing.com/restrict-sftp-user-home-directories-using-chroot/

用了 Chroot,在 nas 目录外是正常的,但设定为 nas 目录内的子目录时,sftp 账号无法登录

sshd 服务器日志咋说?


fatal: bad ownership or modes for chroot directory component "/mnt/nas/" [postauth]
所以果然是权限的问题,然而并不知道怎么设置这个权限

最终解决了实际问题,见附言 1

老哥以后出了问题第一反应应该是看日志 包括你来 v2 求助的时候 一定要带上日志 要不这样盲调谁也弄不明白

Linux 小白,并不知道日志在什么地方。我只是觉得这种需求应该不罕见,也许有人经历过,所以把关注点放在了阐述需求内容上。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服