我需要一些帮助.
我试图将SSH用户安装到他们自己的文件夹中,以便他们可以在不看文件系统的情况下将SFTP导入服务器
我在网上关注了一个简单的指南,并设法将用户监禁到他们的默认主文件夹(/ home / user).但是,如果我尝试更改其主文件夹,则用户无法登录.
我有2个用户:kevin和default
cat / etc / passwd显示
kevin:x:500:500::/home/kevin:/bin/false default:x:501:500::/var/www/vhosts/default:/bin/false
和我的sshd_config文件看起来像
Subsystem sftp internal-sftp Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
和cat / etc / group揭示
sftponly:x:500:default,kevin kevin:x:501: default:x:502:
有谁知道用户kevin为什么按预期工作,但用户默认无法登录.
谢谢.
编辑
我编辑了我的passwd文件并更改了默认值:x:501:500 :: / var / www / vhosts / default:/ bin / false为默认值:x:501:500 :: / home / default:/ bin / false并且默认用户现在可以登录.
如果我想将用户的主目录更改为/ var / www / vhosts / user,则似乎只会出现此问题
我猜它是SELinux阻止了它.
要暂时禁用它以查看是否存在问题,请执行setenforce 0将其设置为许可模式.它将在重新启动后重新打开或将标志切换回1.
要永久将其设置为许可模式,请编辑/ etc / selinux / config并设置SELINUX = permissive.如果这是最终用户的目标机器,我建议保持打开状态.安装一个名为setroubleshoot的套件,并找到一些有关如何使用与其捆绑的sealert命令的指南.它会尝试智能地为您提供有关如何处理SELinux阻止的项目的建议.它还为您编写和编写策略,因此它非常适合初学者.