在Ubuntu系统中,设置SFTP权限需要遵循以下步骤:
安装OpenSSH服务器(如果尚未安装): 打开终端,然后输入以下命令:
sudo apt-get update
sudo apt-get install openssh-server
创建一个新的用户(如果需要):
若要创建一个新用户,请输入以下命令,将username
替换为您选择的用户名:
sudo adduser username
按照提示设置密码和其他详细信息。
限制用户访问SFTP:
编辑/etc/ssh/sshd_config
文件,以限制用户访问SFTP。在终端中输入以下命令:
sudo nano /etc/ssh/sshd_config
找到以下行:
#Subsystem sftp /usr/lib/openssh/sftp-server
取消注释(删除行首的#
),然后在其下方添加以下内容:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭文件。
创建一个新组(如果需要):
若要创建一个名为sftpusers
的新组,请输入以下命令:
sudo groupadd sftpusers
将用户添加到新组:
将用户添加到sftpusers
组,以便应用SFTP限制。将username
替换为您创建的用户名:
sudo usermod -aG sftpusers username
更改用户的主目录权限:
为了使chroot生效,需要更改用户主目录的权限。将username
替换为您创建的用户名:
sudo chown root:root /home/username
sudo chmod 755 /home/username
创建用户的SFTP目录:
在用户的主目录中创建一个名为sftp
的子目录,用于存放用户的文件:
sudo mkdir /home/username/sftp
sudo chown username:sftpusers /home/username/sftp
sudo chmod 755 /home/username/sftp
重启SSH服务: 为了使更改生效,请重启SSH服务:
sudo systemctl restart ssh
现在,您已经成功设置了Ubuntu系统上的SFTP权限。用户username
现在可以通过SFTP访问其主目录中的sftp
子目录。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu SFTP如何防止攻击