用户的家目录不要随便更换。


01. 需求

研发同事需要用他测试服务器上的一个特定用户去连接另外一台ftp服务器,进行上传和下载文件,为了安全,这个用户连接ftp服务器后,只能访问它自己的家目录下的内容。

 

02. 实现

因为sftp是ssh服务自带的功能,所以去修改ssh的配置文件sshd_config。

cd /etc/ssh/ 
cp sshd_config sshd_config.bak
vim sshd_config
#注释该行
#Subsystem sftp /usr/libexec/openssh/sftp-server
#修改下面的配置
Subsystem sftp internal-sftp
Match User test #用来登录的用户
ChrootDirectory /home/test/ #test用户的家目录
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

重启sshd服务

service sshd restart

sshd_config里配置了这个用户并指定了家目录,开始一切正常。

 

03. 问题

后来的某一天,研发同事说ssh连接这台服务器一直闪断的不行,我去查了一下,最后发现sshd_config里配置的用户所指定的家目录在服务器上早已经不在,原来是这个用户被更换了家目录,导致ssh配置文件找不到这个目录。

 

04. 解决方法

更换sshd_config里面配置的用户家目录路径。


作者:HaydenGuo

每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。

只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。