我需要创build一个用户只能SFTP到特定的目录,并采取一些信息的副本。 这就对了。 我一直在线查看,并提供有关chroot的信息,并修改了sshd_config。
到目前为止,我可以
useradd sftpexport -M -d / u02 / export / cdrs -s / bin / false
任何人都可以提出什么意思编辑,以便用户只能login和复制文件?
我更喜欢创建一个用户组sftp
并将该组中的用户限制到他们的主目录。
首先,编辑你的/etc/ssh/sshd_config
文件,并在底部添加这个文件。
Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
这告诉OpenSSH,sftp组中的所有用户将被chrooted到他们的主目录( %h
代表ChrootDirectory命令)
添加一个新的sftp组,添加你的用户到组中,限制他从ssh访问并定义他的主目录。
groupadd sftp usermod username -g sftp usermod username -s /bin/false usermod username -d /home/username
重新启动ssh:
sudo service ssh restart
如果仍然遇到问题,请检查主目录上的目录权限是否正确。 根据您的设置适当调整755值。
sudo chmod 755 /home/username
编辑:基于你的问题的细节,它看起来像你只是缺少sshd_config部分。 在你的情况下,用sftpexport
代替sftp
。 还要确保文件权限可以在/u02/export/cdrs
目录下访问。
一个更好的设置(甚至比我将要提出的更好的设置)是将/u02/export/cdrs
目录符号链接到用户主目录。
你可能需要添加一个受限的shell,这个用户可以把一些文件放在那里。 你可以使用rssh工具。
usermod -s /usr/bin/rssh sftpexport
在config /etc/rssh.conf
启用允许的协议。