在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
的限制,他们将被限制在这个目录树中,无法访问外部目录。
####如有侵权请联系删除####