在Linux中,您可以使用OpenSSH服务器软件来设置SFTP访问
安装OpenSSH服务器(如果尚未安装): 对于基于Debian的系统(如Ubuntu),请使用以下命令:
sudo apt-get update
sudo apt-get install openssh-server
对于基于RPM的系统(如CentOS、Fedora),请使用以下命令:
sudo yum update
sudo yum install openssh-server
创建一个新的用户组,用于限制SFTP访问:
sudo groupadd sftp_users
为新用户创建一个账户,并将其添加到sftp_users组中。在此过程中,您需要设置用户的密码和其他详细信息。例如,要创建名为sftp_user
的用户,请执行以下命令:
sudo adduser sftp_user
sudo passwd sftp_user
sudo usermod -aG sftp_users sftp_user
限制SFTP用户的根目录访问。编辑/etc/ssh/sshd_config
文件,找到或添加以下内容:
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制sftp_users组的成员仅能访问其主目录。
如果需要,您可以针对特定用户进行更详细的限制。在sshd_config
文件中,找到或添加以下内容(用实际用户名替换<username>
):
Match User <username>
ChrootDirectory /path/to/restricted/directory
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭sshd_config
文件。
重新启动SSH服务以应用更改:
sudo systemctl restart ssh
现在,SFTP用户将被限制在其主目录中,无法访问其他用户的文件或系统文件。请注意,您可能需要根据您的具体需求调整这些设置。