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