SFTP(SSH文件传输协议)是文件传输协议(FTP)的安全版本,它使用SSH(安全外壳)加密通过网络连接的数据,通常用于在客户端和服务器之间安全地传输文件。
如果想要在Linux中创建SFTP用户,可以遵循系统设置方法,这样能够确保用户具有受限制的访问权限,同时能够安全地传输文件。
在本文中,小编详细说明Linux系统设置SFTP用户详细步骤,主要以Ubuntu系统为示例,但其设置也广泛应用于其它Linux发行版。
创建新的SFTP用户
首先,需要创建一个新的SFTP用户帐户,该帐户将用于登录并使用SFTP传输文件:
sudo adduser sftpuser
为SFTP创建目录
接下来,需要创建一个目录,SFTP用户可以在其中上传和下载文件,该目录将成为SFTP用户的主目录。
sudo mkdir -p /home/sftpuser/uploads
为了确保安全,请为该目录设置正确权限。这样用户只能访问自己的目录,而不能访问系统其它文件目录:
sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser
设置完成之后,更改上传目录的所有权:
sudo chown sftpuser:sftpuser /home/sftpuser/uploads
为SFTP配置SSH
需要编辑SS 服务器配置文件来配置SSH,以允许新用户使用SFTP:
sudo nano /etc/ssh/sshd_config
在文件末尾添加以下行以配置SFTP访问:
Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
每行的功能作用如下解释:
- Match User sftpuser:仅将这些设置应用sftpuser用户。
- ChrootDirectory /home/sftpuser:限制用户对/home/sftpuser的访问。
- ForceCommand internal-sftp:强制用户仅使用SFTP,不允许SSH Shell访问。
- AllowTcpForwarding no和X11Forwarding no:额外的安全措施,以防止用户使用其它SSH功能。
保存更改后,重新启动SSH服务以应用更改:
sudo systemctl restart ssh
测试SFTP用户
现在可以使用SFTP客户端或命令行测试与SFTP服务器的连接情况,看看能否连接到远程服务器:
sftp sftpuser@your_server_ip
注意:将“your_server_ip”换成你自己的远程服务器IP地址。
一旦连接成功,可以使用SFTP命令浏览和管理上传目录中的文件。例如使用ls命令列出文件,使用put命令上传文件:
sftp> ls sftp> cd uploads sftp> get remotefile.txt sftp> put lists.txt
结论
实际上,在Linux系统中创建SFTP用户是一个简单的过程,它可以增强安全性和文件管理功能,从而充分保障系统的安全。
通过遵循以上设置步骤,你可以设置专用的SFTP访问用户,确保文件传输安全并限制在适当的目录中,有需要的小伙伴可以参考上述教程进行设置。