sftp 配置
创建用户
useradd -m ftp_ip_user-g sftp -s /sbin/nologin -d
配置 sftp
vim /etc/ssh/ssh_config
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /www/wwwroot/ftp_ip_user
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
fatal: bad ownership or modes for chroot directory “/www/wwwroot/ftp_ip_user”
这个错误通常发生在使用SSH服务进行远程登录时,特别是当你尝试为特定用户设置chroot环境时。
chroot是一种安全机制,它将用户的根目录更改为另一个目录,从而限制用户只能在该目录及其子目录下操作。
报错信息fatal: bad ownership or modes意味着chroot目录的所有权或权限设置不正确,SSH服务无法以安全的方式访问该目录。
#sftp问题排查解决:
查看日志命令
tail -f /var/log/secure
排查用户账号是否过期命令
chage -l ftp_ip_user
修改密码
passwd ftp_ip_user
设置为永久不过期
chage -M -1 ftp_ip_user
检查/www/wwwroot/ftp_ip_user目录的所有权和权限。它应该只有root用户有写权限。可以使用以下命令来修复:
sudo chown root:root /www/wwwroot/ftp_ip_user
sudo chmod 0755 /www/wwwroot/ftp_ip_user
确保目录中没有任何不必要的文件或目录,特别是不应该有写权限给其他用户。
如果你使用的是sshd_config文件中的ChrootDirectory指令,确保指定的目录是你想要chroot jail的目录。
如果你在使用sftp服务,确保sshd_config文件中的Subsystem sftp指令指向正确的internal-sftp路径。
重启SSH服务以使更改生效。