作者 主題: [問題]vsftpd , 能不能讓不同User 進到不同家目錄!?  (閱讀 10098 次)

0 會員 與 1 訪客 正在閱讀本文。

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
有三個User , user1 user2 user3

目錄結構如下
 user1
 --user2
 --user3

我想讓三個User 進到FTP 時, 是進到各自的Home Dir.

我試著用以下的設定, 但是好像沒辦法成功.
不知道是哪出了問題, 還是有其他辦法可以達到一樣的效果呢!?

#vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd_user_conf

#mkdir /etc/vsftpd_user_conf
#vi /etc/vsftpd_user_conf/user1
local_root=/ftp/user1

#vi /etc/vsftpd_user_conf/user2
local_root=/ftp/user1/user2

#vi /etc/vsftpd_user_conf/user3
local_root=/ftp/user1/user3

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4052
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
去看看鳥哥的文章吧
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
鳥哥的文章, 我已經拜讀多次了.
但是沒有提到 user_config_dir 的部分.
不知道是不是小弟的方向錯誤了!?

如果是指 chroot 的部份的話.
local_enable=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

#vi /etc/vsftpd.chroot_list
user2
user3

hsinan

  • 懷疑的國中生
  • **
  • 文章數: 66
    • 檢視個人資料
Can you tell us where you go after login? To its own home directory or /ftp/user1, /ftp/user1/user2, /ftp/user1/user3? Usually user's home directly is not /ftp/user1 something unless you specified it when you add this account.

By the way, it says NOT ALL options were supported when you used "user_config_dir" option.

http://vsftpd.beasts.org/vsftpd_conf.html

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
大概是我的表述不對.

我想讓三個User 進到 FTP 時, 分別導到不同的目錄.

user1   -->    /ftp/user1/
user2   -->    /ftp/user1/user2
user3   -->    /ftp/user1/user3
並以此目錄為他的 root

user_config_dir
是先前在恆毅上課時, Jacky 老師教的.
筆記都還在, 就是做不出來...

Orz

usnei

  • 憂鬱的高中生
  • ***
  • 文章數: 128
    • 檢視個人資料
    • http://www.usnei.net
引述: "jovy"
大概是我的表述不對.

我想讓三個User 進到 FTP 時, 分別導到不同的目錄.

user1   -->    /ftp/user1/
user2   -->    /ftp/user1/user2
user3   -->    /ftp/user1/user3
並以此目錄為他的 root

user_config_dir
是先前在恆毅上課時, Jacky 老師教的.
筆記都還在, 就是做不出來...

Orz


指定使用者的家目錄?
好像沒那麼複雜 :p

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
引述: "jovy"
大概是我的表述不對.

我想讓三個User 進到 FTP 時, 分別導到不同的目錄.

user1   -->    /ftp/user1/
user2   -->    /ftp/user1/user2
user3   -->    /ftp/user1/user3
並以此目錄為他的 root

user_config_dir
是先前在恆毅上課時, Jacky 老師教的.
筆記都還在, 就是做不出來...

Orz



我不記得我的 vsftpd 有做什麼額外的設定,

幾乎都是用預設設定, user 登入時就直接可以到他自己的目錄  :roll:

如果要登入到指定路徑, 我是直接將 user 的家目錄 ln 到指定的目錄..

deathlife

  • 可愛的小學生
  • *
  • 文章數: 17
    • 檢視個人資料
chroot
« 回覆 #7 於: 2006-08-31 10:41 »
有一個疑問耶!
user1 --> /ftp/user1/           <==會在\home\user1
user2 --> /ftp/user1/user2   <==會在\home\user2
user3 --> /ftp/user1/user3   <==會在\home\user3

為什麼你的user2跟user3會先要進到user1呢?

應該是使用者登入時,就直接到home底下自己的目錄啦!

chroot_local_user=YES(ON)
將使用者限制在自己的家目錄之內(chroot)!預設是NO的,因為下面兩個設定項目的輔助,所以不需要啟動它。

chroot_list_enable=YES(NO)
是否啟用將某些實體用戶限制在它們的家目錄內?預設是NO,不過,如果你想讓某些使用者無法離開它們的家目錄時,可以考慮將這個設定為YES,並且規劃下個設定值。

chroot_list_file=/etc/vsftp.chroot_list
如果chroot_list_enable=YES,那麼就可以設定這個項目了!它裡面可以規定那一個實體用戶會被限制在自己家目錄內而無法離開(chroot)一行一個帳號即可!



摘錄(鳥哥的LINUX私房菜---伺服器架設篇)24-11

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
恩, 印像中, vsftp 好像有一個設定檔可以指定不同帳號的 root dir 的.
我想樓主是要問這個吧?
不過一時忘了是哪個跟怎設了...  ^_^

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
我想問一樓主

user1的home裡有 user2和user3的home資料夾?

user1能進入 user2和user3

user2和user3只能在自己家

請問您是希望做成這樣嗎 ?

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
呃..   我再重述一下我的問題吧~~

使用者 ---    使用者登入Ftp 後, root 目錄所對應的實體路徑
user1 ---        /ftp/user
user2 ---        /ftp/user/user2
user3 ---        /ftp/user/user3
user4 ---        /ftp/user

因為想作到階層式管理.
讓 user1 , user4 可以看到其他 User 的資訊.

不知道能不能作到呢!?

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4052
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
去找鳥哥是因為鳥哥那裡已經有人問老師和學生的問題了,去找找吧
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
這個階層式~我現在就在用啦~~

不用動vsftpd.conf設定~

很單純的user群組設定和home目錄路徑指定而已~

不過照你這樣寫~~

user1 and  user4不就共用同一個資料夾了 ? 這樣有啥意義 :roll:

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
因為 User1 跟User4 都是部門主管.
很多資料, 要共用的.
所以才把二個人的 root 目錄, 設定為同一個.

By the way .
If you know that way to fix this problem .
Can you tell me how to do !?

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
是可以, 不過不需要用到 vsftpd 的 user_conf dir 來做吧...
我的做法是使用 /etc/passwd:
user1:x:501:501::/ftp/user1
user2:x:502:502::/ftp/user1/user2
user3:x:503:503::/ftp/user1/user3

/ftp/user1 是 777
/ftp/user1/user2 也是 777

這樣 user1 能進入 user2 的家目錄

在 vsftp.conf 限制 user 不能跑出自己的家目錄, user2 和 user3 就不會讀到 user1 的東西了

/ftp/user1 777 不安全的話, 試好了, 成功了, 才慢慢試把權限取去, 例如 755
700 的話小心 user2 和 user3 不能進到自己的家目錄...

jovy

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
嘿嘿~~  我做出來了~~

沒有動到 /etc/passwd

果然用 user_config_dir 是可以 Work 的.
先前不能 work 是因為我在
/etc/vsftpd/vsftpd.conf 中
加了 local_root 的參數.
把他 Mark 掉.
user_config_dir 內的 local_root 就生效了~~

這樣, 就不用動到 /etc/passwd 了~~
當然, 目錄的權限也是要設定的哦~~

謝謝大家的幫忙囉~~