
在Linux系统中,通过SFTP(SSH文件传输协议)管理多个用户可以按照以下步骤进行:
- 安装OpenSSH服务器: 确认你的Linux系统已安装OpenSSH服务器。如果未安装,请使用以下命令进行安装:
对于基于Debian的系统(如Ubuntu):
<code>sudo apt-get update sudo apt-get install openssh-server</code>
对于基于RPM的系统(如CentOS、Fedora):
<code>sudo yum update sudo yum install openssh-server</code>
- 新建用户: 使用adduser命令创建新用户。例如,创建一个名为sftp_user1的用户:
<code>sudo adduser sftp_user1</code>
按照提示设置密码及其他信息。
- 限制用户权限: 编辑/etc/ssh/sshd_config文件,找到或添加以下配置:
<code>Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no</code>这将限制sftp_users组的用户仅能通过SFTP访问,并将其根目录限定在其主目录。
- 创建新组并添加用户: 创建一个名为sftp_users的新组,并将新创建的用户添加到该组:
<code>sudo groupadd sftp_users sudo usermod -aG sftp_users sftp_user1</code>
- 设置用户主目录权限: 确保用户主目录的权限设置正确,以便用户只能访问其主目录。使用以下命令更改主目录的所有者和权限:
<code>sudo chown root:root /home/sftp_user1 sudo chmod 755 /home/sftp_user1</code>
- 重启SSH服务: 保存并关闭sshd_config文件后,重启SSH服务以应用更改:
对于基于Debian的系统(如Ubuntu):
<code>sudo systemctl restart ssh</code>
对于基于RPM的系统(如CentOS、Fedora):
<code>sudo systemctl restart sshd</code>
现在,你可以使用SFTP客户端连接到服务器,并使用新创建的用户进行身份验证。每个用户将被限制在其主目录内,无法访问其他用户的文件。










