在SFTP服务器中设置用户权限为只读,意味着该用户只能下载和列出文件,不能上传、删除或修改文件。为了实现这一点,你需要限制用户的权限并且可能需要修改chroot环境。
以下是一个基于internal-sftp的例子,展示如何设置只读权限:
-
编辑你的SFTP配置文件(通常是
/etc/ssh/sshd_config),为你的用户设置ChrootDirectory,并且使用internal-sftp作为指定用户的Subsystem。
Match User sftpuser
ChrootDirectory /path/to/chroot/directory
ForceCommand internal-sftp
X11Forwarding no
AllowTCPForwarding no
-
设置用户的权限,确保用户不能写入目录。
chown root:sftpgroup /path/to/chroot/directory
chmod 755 /path/to/chroot/directory
-
如果需要,为用户创建他们的家目录(
HomeDirectory)并设置权限。
mkdir -p /path/to/chroot/directory/home/sftpuser
chown root:sftpgroup /path/to/chroot/directory/home/sftpuser
chmod 755 /path/to/chroot/directory/home/sftpuser
确保sftpuser的家目录是755权限,这样用户可以列出目录,但不能创建或修改文件。
重启SSH服务以应用更改。
sudo systemctl restart sshd
这样设置后,sftpuser将只能通过SFTP访问/path/to/chroot/directory目录及其子目录,并且由于ChrootDirectory的限制,他们将被限制在这个目录树中,无法访问外部目录。
####如有侵权请联系删除####
本文详细介绍了如何在SFTP服务器上为特定用户设置只读权限,包括修改ChrootDirectory、限制用户操作、设置文件权限和重启SSH服务。确保了用户只能下载和查看文件,而不能进行写入或修改操作。


1458

被折叠的 条评论
为什么被折叠?



