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访问用户,确保文件传输安全并限制在适当的目录中,有需要的小伙伴可以参考上述教程进行设置。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。