在CentOS系统中,设置SFTP(SSH File Transfer Protocol)权限通常涉及以下几个方面:
用户和组权限:
sftp_users。usermod命令将用户添加到该组:sudo usermod -aG sftp_users username 配置SSH服务器:
/etc/ssh/sshd_config。Subsystem sftp internal-sftp Match Group sftp_users ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no ChrootDirectory %h将用户的根目录限制在其主目录中。ForceCommand internal-sftp强制使用SFTP而不是SSH shell。AllowTcpForwarding no和X11Forwarding no禁用了TCP和X11转发,以提高安全性。设置目录权限:
chmod和chown命令设置权限:sudo chown root:root /home/username sudo chmod 755 /home/username sudo chown username:sftp_users /home/username/upload sudo chmod 755 /home/username/upload sudo chmod 700 /home/username/upload/* /home/username是用户的根目录,/home/username/upload是用户可以上传文件的目录。SELinux配置(如果启用):
setsebool命令启用必要的布尔值:sudo setsebool -P sftp_home_dir on 重启SSH服务:
sshd_config文件后,重启SSH服务以应用更改:sudo systemctl restart sshd 通过以上步骤,你可以设置CentOS系统上的SFTP权限,确保用户只能通过SFTP访问其主目录及其子目录,并且不能执行其他命令或访问其他用户的文件。