在CentOS系统中,设置SFTP用户权限通常涉及以下几个步骤:
创建新用户(如果尚未创建):
sudo adduser username
设置用户密码:
sudo passwd username
限制用户只能通过SFTP访问:
编辑/etc/ssh/sshd_config文件:
sudo vi /etc/ssh/sshd_config
找到并修改以下行:
Subsystem sftp /usr/libexec/openssh/sftp-server
确保没有其他Subsystem sftp行干扰。
创建一个SFTP chroot环境: 创建一个目录用于chroot环境:
sudo mkdir /home/username/sftp
sudo chown root:root /home/username/sftp
sudo chmod 755 /home/username/sftp
将用户主目录设置为chroot环境:
编辑/etc/passwd文件,将用户的shell设置为/usr/sbin/nologin或自定义的shell:
sudo vi /etc/passwd
找到用户行并修改为:
username:x:1001:1001::/home/username:/usr/sbin/nologin
设置用户主目录的权限: 确保用户主目录及其子目录的权限设置正确:
sudo chown username:username /home/username
sudo chmod 755 /home/username
配置SFTP chroot环境:
创建一个authorized_keys文件用于SSH密钥认证:
sudo vi /home/username/.ssh/authorized_keys
将用户的公钥粘贴到这个文件中。
重启SSH服务: 使配置生效:
sudo systemctl restart sshd
通过以上步骤,你可以设置CentOS系统中的SFTP用户权限,确保用户只能通过SFTP访问,并且限制其在系统中的活动范围。