我們的EC2實例安裝有通過vsftpd
程序與\home\user\
原來的主目錄有成功建立一個FTP用戶,我跟着這個stack overflow的說明,並有用戶的shell設置爲/bin/false
EC2 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"
,因爲它以前的工作,我我認爲這可能與權限有關,我只是不確定還有哪些地方需要更改。 感謝您的任何見解。
我試過使用符號鏈接,但由於它是一個chroot用戶,我無法訪問這些文件。 – hurrendor
服務器上的admin/root所有者必須執行此鏈接。 如果你是管理員,你可以用'sudo'來做到這一點。 – Jeff
在這一點上,我認爲這個問題可能存在於某些配置中,因爲符號鏈接通常不適用於chroot用戶。我已經將所需的目錄掛載到用戶的目錄中,在配置了chrooted目錄之後,只有新用戶通過sftp訪問這些文件的問題。 – hurrendor