在CentOS上设置SFTP用户权限,可以按照以下步骤进行:
首先,使用useradd
命令创建一个新用户。例如,创建一个名为sftpuser
的用户:
sudo useradd sftpuser
使用passwd
命令为新用户设置密码:
sudo passwd sftpuser
按照提示输入并确认密码。
编辑SSH配置文件/etc/ssh/sshd_config
,以允许SFTP访问:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
Subsystem sftp /usr/libexec/openssh/sftp-server
确保这一行没有被注释掉(即前面没有#
)。
为了安全起见,通常希望限制SFTP用户只能访问特定的目录。可以使用ChrootDirectory
指令来实现这一点。
首先,确保目标目录存在并且属于root用户:
sudo mkdir -p /home/sftpuser/uploads
sudo chown root:root /home/sftpuser/uploads
然后,在sshd_config
文件中添加或修改以下内容:
Match User sftpuser
ChrootDirectory /home/sftpuser/uploads
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存并关闭sshd_config
文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
使用SFTP客户端连接到服务器,验证配置是否正确:
sftp sftpuser@your_server_ip
如果一切配置正确,你应该能够成功登录并访问/home/sftpuser/uploads
目录。
如果你需要更细粒度的控制,可以使用PAM(Pluggable Authentication Modules)。编辑/etc/pam.d/sshd
文件,添加以下行:
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/sftpusers onerr=succeed
然后创建/etc/ssh/sftpusers
文件,并列出允许使用SFTP的用户:
sudo nano /etc/ssh/sftpusers
在文件中添加用户名:
sftpuser
保存并关闭文件。
通过以上步骤,你应该能够在CentOS上成功设置SFTP用户权限,并确保用户只能访问指定的目录。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:CentOS SFTP 用户权限怎么设置