作者 主題: [教學]vsftp virtual user 教學與應用!  (閱讀 24215 次)

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

aloysius

  • 活潑的大學生
  • ***
  • 文章數: 403
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 於: 2004-01-14 22:49 »
前陣子看到版上有人問,最近因為一些需求,看了一下官方文件,把實做的步驟和大家分享一下:

首先說一下基本的環境:

OS: debian unstable
kernel: 2.6.0-1i386
vsftpd 1.2.1-1
libdb3-util 3.2.9-19  (Berkeley v3 Database Utilities)

1.首先請先編輯virtual user的名單,格式如下:
代碼: [選擇]

使用者名稱1
使用者密碼1
使用者名稱2
使用者密碼2
......

我們把他命名為 logins.txt

2.將使用者名單轉成資料庫格式
代碼: [選擇]

db3_load -T -t hash -f logins.txt /etc/vsftpd_login.db

(這邊依系統的不同會有不同的檔名,在debian unstable下是db3_load,您的系統有可能是 db_load...)

3.轉換 vsftpd_login.db 的權限
代碼: [選擇]

chmod 600 vsftpd_login.db


4.修改pam modules,將/etc/pam.d/vsftpd修改成只有以下兩行
代碼: [選擇]

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login


5.增加一個名為 virtual 的使用者
debian
代碼: [選擇]

adduser --home /home/ftpsite -disabled-password virtual

RedHat
代碼: [選擇]

useradd -d /home/ftpsite virtual


6.增加一個檔案給等會測試使用
代碼: [選擇]

touch /home/ftpsite/test_vuser


7.修改 /etc/vsftpd.conf 如下
代碼: [選擇]

anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
listen=YES
pasv_min_port=30000
pasv_max_port=30999


8.重新啟動 vsftpd
debian
代碼: [選擇]

/etc/init.d/vsftpd restart

RedHat
代碼: [選擇]

service vsftpd restart


9.測試 (這邊我使用的帳號是 acc , 密碼是 1234)
代碼: [選擇]

mail:~# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): acc
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Jan 14 22:22 test_vuser
226 Directory send OK.
ftp> quit
221 Goodbye.


大功告成!現在管理 ftp server是不是更方便了? :D

aloysius

  • 活潑的大學生
  • ***
  • 文章數: 403
    • 檢視個人資料
virtual user權限設定
« 回覆 #1 於: 2004-01-14 23:27 »
序上篇,來談談virtual user的進階管理吧...

假設我有兩個virtual user,分別為 abc 以及 acc ,我希望abc只能下傳,但acc可以下傳及上傳,這個時候就需要另外多設定一些東西了,如下:

首先,請先確定您的 vssftpd 版本必須在 1.1 (含)以後...

1. 編輯 /etc/vsftpd.conf 加入以下這行
代碼: [選擇]

user_config_dir=/etc/vsftpd_user_conf


2. 讓 abc 只能下載,不能上傳
代碼: [選擇]

echo "anon_world_readable_only=NO" > /etc/vsftpd_user_conf/abc


3.讓 acc 可以下載跟上傳
代碼: [選擇]

echo "anon_world_readable_only=NO" > /etc/vsftpd_user_conf/acc
echo "write_enable=YES" >> /etc/vsftpd_user_conf/acc
echo "anon_upload_enable=YES" >> /etc/vsftpd_user_conf/acc


就是這麼簡單....try it!

huckly

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3420
    • 檢視個人資料
    • http://blog.huckly.net
[教學]vsftp virtual user 教學與應用!
« 回覆 #2 於: 2004-01-15 09:36 »
好啊 好啊 推
我盡力了
IT doesn't matter

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #3 於: 2004-01-15 10:11 »
請教一下...
您是否有試成功過, Virtual user 與 實際帳號 二者共存的狀況呢?
我一直無法成功的讓二者共存....
Pail Luo.
Email: pail.luo@gmail.com

aloysius

  • 活潑的大學生
  • ***
  • 文章數: 403
    • 檢視個人資料
[補充]修改PAM讓virtual user與local user皆可登入ftp
« 回覆 #4 於: 2004-01-27 22:47 »
最近忙公司流程,今晚試了一下...
其實只要PAM這邊修改一下,就可以讓 virtual user跟local user共存,不過想不出來這樣有啥意義?因為都只能用 guest user的身份進入.. :)

/etc/pam.d/vsftpd 修改如下:
代碼: [選擇]

auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth    sufficient      /lib/security/pam_userdb.so db=/etc/vsftpd_login
auth    required        pam_shells.so
auth    required        pam_unix.so
account required        /lib/security/pam_userdb.so db=/etc/vsftpd_login


至於為何這樣設定,請參考PAM的相關文獻.. :D

hopeliao

  • 活潑的大學生
  • ***
  • 文章數: 319
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #5 於: 2004-05-01 03:31 »
請問密碼部份有無辦法使用加密過的,如MD5,讓pam可以正確辦別呢, 以明碼存密碼似乎比較危險?

hopeliao

  • 活潑的大學生
  • ***
  • 文章數: 319
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #6 於: 2004-05-12 14:37 »
已經解決了, 謝謝學長 ^^

arnix

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #7 於: 2004-10-16 01:12 »
請問 vsftpd 的 Virtual User 機制可以配合 Quota 管理嗎?
網路上好像都找不到相關的文章

aerocat

  • 可愛的小學生
  • *
  • 文章數: 23
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #8 於: 2005-03-03 15:29 »
我現在的情況是可以登入可以下傳, 但是沒辦法上傳
(1)myos=centos 3.4
(2)目錄已經 chmod 777 -R
(3) 上傳目錄 , 目錄會產生, 但檔案無法上傳
(4)local user 登入也會 進入 虛擬帳號的目錄, 可以讓local user 進入自己的目錄嗎?

wjs

  • 懷疑的國中生
  • **
  • 文章數: 42
    • 檢視個人資料
[教學]vsftp virtual user 教學與應用!
« 回覆 #9 於: 2005-05-03 15:32 »
引述: "hopeliao"
已經解決了, 謝謝學長 ^^


您說已經解決了, 是下面這個問題?
"請問密碼部份有無辦法使用加密過的,如MD5,讓pam可以正確辦別呢, 以明碼存密碼似乎比較危險?"

請問要如何在密碼部份用使用加密過的,如MD5,又可以讓pam可以正確辦別呢?