vsftp 開啟 chroot 及問題修正
發表迴響
OS:ubuntu server 12.04
vsftp version:2.3.5-1ubuntu2
開啟 chroot
1.設定檔 /etc/vsftpd.conf
#開啟本機帳戶 chroot
chroot_local_user=YES
#啟用不使用 chroot 的帳戶清單
chroot_list_enable=YES
#不使用 chroot 的帳戶清單路徑,一定要有這個檔案,沒有的話自己新增
#假如 chroot_local_user=NO ,則清單內的帳戶變成要 chroot
chroot_list_file=/etc/vsftpd.chroot_list
2.重新啟動 vsftpd
sudo /etc/init.d/vsftpd restart
問題描述
啟動 chroot 之後,登入時會出現以下訊息:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
原因是新版本要求 chroot 的目錄,使用者不可具有寫入的權限,通常 chroot 進入的目錄是使用者的家目錄(例如:/home/user),這樣變成使用者對自己的家目錄沒有寫入權限,而必須將資料存放在家目錄下的子目錄,該目錄可能需要在新增帳號時一併建立(可透過/etc/skel)。
問題修正
方法1
(1)在設定檔中加入
local_root=/home
(2)重新啟動 vsftpd
登入時會在 /home 下,要再自行進入自己的家目錄
方法2
(1)在設定檔中加入
passwd_chroot_enable=YES
(2)修改 /etc/passwd ,要使用 chroot 的帳戶更改其家目錄路徑,例如:
/home/./user
(3)重新啟動 vsftpd
登入時會直接進到家目錄,但可以切換到上一層目錄( /home )
方法3
下載 vsftpd-ext 的原始碼,自行編譯 ==>太麻煩,算了~~
不論採用方法1或方法2,建議使用者家目錄權限可設為 711 比較安全
參考資料
http://linux.vbird.org/linux_server/0410vsftpd.php
http://www.benscobie.com/fixing-500-oop ... mment-2051
vsftp 開啟 chroot 及問題修正
誰在線上
正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客