Ubuntu

chroot 目錄 ubuntu 12.04 的 SFTP 致命錯誤所有權或模式

  • August 18, 2012

我剛剛設置了我的 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 目錄和所有父目錄必須正確設置

  1. chroot 目錄及其所有父目錄不得具有組或世界寫入功能(即chmod 755
  2. chroot 目錄及其所有父目錄必須由 root 擁有。

在您的情況下,登錄錯誤可以通過chmod 755 /home/DUMP 您明顯的意圖來修復,即擁有一個 sftpuser 可以登錄的世界可寫目錄,並且每個人都可以將文件放入可以通過將該目錄設為子目錄來解決/home/DUMP/

引用自:https://serverfault.com/questions/418931