2017-03-03 39 views
0

我們的EC2實例安裝有通過vsftpd程序與\home\user\原來的主目錄有成功建立一個FTP用戶,我跟着這個stack overflow的說明,並有用戶的shell設置爲/bin/falseEC2 FTP用戶目錄變化

什麼我希望做的是讓FTP用戶的登錄只對特定目錄訪問,在html目錄的文件夾 - \var\www\html\website.com\userfolder

我所做的:

  • 增加user一組新目錄的ftpgroup
  • 授權訪問權和所有權的用戶:ftponly
  • 改變在/etc/passwd
  • 用戶的主目錄添加.ssh/authorized_keys與用戶的密鑰在新目錄中
  • /etc/ssh/sshd_config中的ChrootDirectory更改爲新目錄
  • 將目錄上的權限更改爲chmod -R 775 user:ftpgroup
  • 安裝\var\www\html\website.com\userfolder

這些變化,我能夠訪問FTP,和現在在嘗試訪問我從Filezilla的客戶端收到以下錯誤之前:

Error: Disconnected: No supported authentication methods available (server sent:publickey) ... Status: Connection attempt failed with "ETIMEDOUT - Connection attempt timed out"

,因爲它以前的工作,我我認爲這可能與權限有關,我只是不確定還有哪些地方需要更改。 感謝您的任何見解。

回答

0

這對我有效。

使用vsftpd創建用戶後,用戶現在可以通過FileZilla訪問該目錄。 然後,我添加了從home/{user}目錄到/var/www/html/{user}目錄的鏈接。 用戶可以將文件上傳到主目錄,並可以從html目錄查看它。

這是一個簡單的黑客攻擊。讓我知道這是否能解決您的問題。

+0

我試過使用符號鏈接,但由於它是一個chroot用戶,我無法訪問這些文件。 – hurrendor

+0

服務器上的admin/root所有者必須執行此鏈接。 如果你是管理員,你可以用'sudo'來做到這一點。 – Jeff

+0

在這一點上,我認爲這個問題可能存在於某些配置中,因爲符號鏈接通常不適用於chroot用戶。我已經將所需的目錄掛載到用戶的目錄中,在配置了chrooted目錄之後,只有新用戶通過sftp訪問這些文件的問題。 – hurrendor