在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子目录。