Ubuntu
chroot 目錄 ubuntu 12.04 的 SFTP 致命錯誤所有權或模式
我剛剛設置了我的 SFTP 伺服器,當我從我的第一個使用者帳戶使用它時它工作正常。我想添加一個我們稱之為“magnarp”的使用者。起初我在 sshd_config 中是這樣做的:
Subsystem sftp internal-sftp Match group sftponly ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
效果很好,使用者 magnarp 進入了他的主目錄。然後我嘗試向它添加一個符號連結。
home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"
符號連結通過 SSH 工作正常,但不能通過 SFTP。
所以我現在要做的是將 Chroot 組 sftponly 到 /home/DUMP,我這樣做了:
Match group sftponly ChrootDirectory /home/DUMP X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
DUMP 文件夾的權限如下。
drwxrwxrwx 5 root root 4096 aug 18 02:25 DUMP
這是錯誤程式碼:
Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354 Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2 Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user magnarp by (uid=0) Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467 Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP" Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp
sshd
對 chroot 目錄有一定程度的偏執。我認為這不能被禁用(即使使用StrictModes no
)。chroot 目錄和所有父目錄必須正確設置:
- chroot 目錄及其所有父目錄不得具有組或世界寫入功能(即
chmod 755
)- chroot 目錄及其所有父目錄必須由 root 擁有。
在您的情況下,登錄錯誤可以通過
chmod 755 /home/DUMP
您明顯的意圖來修復,即擁有一個 sftpuser 可以登錄的世界可寫目錄,並且每個人都可以將文件放入可以通過將該目錄設為子目錄來解決/home/DUMP/