Centos6

chroot 和 sftp:目錄所有權意外更改

  • September 30, 2016

我已經閱讀並遵循了一些關於使用在. 我擁有該目錄的正確權限和所有權。我可以讓新使用者登錄,但是他們無法將文件傳輸到他們應該擁有的文件夾中。chroot``sftp``chroot


例子

我要組chroot裡的成員sftpbackups。在我的sshd_config文件中,我有以下內容。

Subsystem sftp internal-sftp
Match Group sftpbackups
       ChrootDirectory %h
       X11Forwarding no
       AllowTcpForwarding no
       ForceCommand internal-sftp

首先,我創建了一個testuser未添加到sftpbackups組的使用者。主目錄是/home/testuser/,並且有一個/home/testuser/backups/我想通過 sftp 使用的子目錄。我可以使用 sftp 將文件傳輸到我的backups文件夾,例如

sftp> ls -l
drwxrwxrwx    2 testuser testuser     4096 Sep 25 00:09 backups
sftp> put a.txt backups
Uploading a.txt to /home/testuser/backups/a.txt
a.txt

當我添加testusersftpbackups組時,問題就來了。

sftp> ls -l
drwxrwxrwx    2 1290     1291         4096 Sep 30 14:58 backups
sftp> put a.txt backups
Uploading a.txt to /backups/a.txt
remote open("/backups/a.txt"): Permission denied

我不確定為什麼只有添加到sftpbackups組後目錄所有權才會改變,我認為這與我無法傳輸文件的原因有關。


任何想法如何前進?謝謝。伺服器是 CentOS 6.8。

我在部落格上找到了答案。我們需要告訴 SELinux 我們想通過 SFTP 將文件上傳到 chroot。預設情況下它是只讀的。

setsebool -P ssh_chroot_rw_homedirs on

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