Ale*_*ord 26 linux ssh shell sftp sshd
我需要创建一个只能SFTP到特定目录的用户并获取一些信息的副本.这就对了.我一直在网上看,他们提出了有关chroot和修改sshd_config的信息.
到目前为止,我可以
useradd sftpexport -M -d/u02/export/cdrs -s/bin/false
任何人都可以建议编辑的内容,以便用户只能登录并复制文件吗?
csi*_*csi 30
我更喜欢创建一个用户组,sftp并将该组中的用户限制在其主目录中.
首先,编辑您的/etc/ssh/sshd_config文件并在底部添加.
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Run Code Online (Sandbox Code Playgroud)
这告诉的OpenSSH的SFTP组中的所有用户都被chroot到他们的主目录(这%h代表了ChrootDirectory命令)
添加一个新的sftp组,将您的用户添加到该组,限制他访问ssh并定义其主目录.
groupadd sftp
usermod username -g sftp
usermod username -s /bin/false
usermod username -d /home/username
Run Code Online (Sandbox Code Playgroud)
重启ssh:
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
如果仍遇到问题,请检查主目录上的目录权限是否正确.根据您的设置适当调整755值.
sudo chmod 755 /home/username
Run Code Online (Sandbox Code Playgroud)
编辑:根据您的问题的详细信息,看起来你只是缺少sshd_config部分.在你的情况下,替换sftp为sftpexport.还要确保可以在/u02/export/cdrs目录中访问文件权限.
一个更好的设置(并且甚至比我将建议的更好的设置)是将/u02/export/cdrs目录符号链接到用户主目录.