vsftp 開啟 chroot 及問題修正

回覆文章
tony
文章: 585
註冊時間: 2012-02-26, 07:04
聯繫:

vsftp 開啟 chroot 及問題修正

未閱讀文章 tony »

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
回覆文章

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 3 位訪客