LINUX中運用VSFTPD的高手篇(轉)

ba發表於2007-08-12
LINUX中運用VSFTPD的高手篇(轉)[@more@]此文章細緻的講解了VSFTP的配置

環境:linux as 3.0 + vsftpd -1.2.0-4的系統架構,是在獨立伺服器下的哦!
1. 配置本地組訪問的FTP

首先建立使用者組 test和FTP的主目錄

groupadd test

mkdir /tmp/test

然後建立使用者

useradd -G test –d /tmp/test –M usr1

注:G:使用者所在的組 d:表示建立使用者的自己目錄的位置給予指定

M:不建立預設的自家目錄,也就是說在/home下沒有自己的目錄

useradd –G test –d /tmp/test –M usr2

接著改變資料夾的屬主和許可權

chown usr1.test /tmp/test ----這表示把/tmp/test的屬主定為usr1

chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什麼許可權都沒有

這個實驗的目的就是usr1有上傳、刪除和下載的許可權

而usr2只有下載的許可權沒有上傳和刪除的許可權

當然啦大家別忘了我們的主配置檔案vsftpd.conf

要確定local_enable=yes、write_enable=yes、chroot_local_usr=yes這三個選項是有的哦!

2. 配置獨立FTP的伺服器的非埠標準模式進行資料連線

這個非常容易:在VSFTPD。CONF中新增

Listen_port=33333

就可以了啦!

好了重頭戲來了,這也是我為什麼叫高手篇的緣故!^_^(大家不要扔雞蛋哦!)

3. 配置單獨的虛擬FTP,使用虛擬FTP使用者,並使建立的四個帳戶中有不同的許可權

(兩個有讀目錄的許可權,一個有瀏覽、上傳、下載的許可權,一個有瀏覽、下載、刪除和改檔名的許可權)

A:配置網路卡

第一塊網路卡地址是10.2.3.4 掩碼是255.255.0.0

ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

B:寫入/etc/sysconfig中(為了重起後IP地址不會丟失)

cd /etc/sysconfig/network-scripts

cp ifcfg-eth0 ifcfg-eth0:1

vi ifcfg-eth0:1在其中修改內容如下

DEVICE=eth0:1

BROADCAST=211.131.4.255

HWADDR=該網路卡的MAC地址

IPADDR=211.131.4.253

NETMASK=255.255.255.0

NETWORK=211.131.4.0

ONBOOT=yes

TYPE=Ethernet

wq推出

C:進入vsftpd.conf所在的資料夾

cp vsftpd.conf vsftpd2.conf

修改vsftpd.conf新增以下資訊

Listen_address=10.2.3.4

修改vsftpd2.conf新增以下資訊

Listen_address=211.131.4.253

Ftpd_banner=this is a virtual ftp test

到此虛擬的FTP伺服器建立好了

D:建立logins.txt

vi /tmp/logins.txt

新增入下資訊:

longlei------------使用者名稱

longlei------------密碼

zhangweibo

zhangweibo

jinhui

jinhui

lxp

lxp

格式要按照我的來哦,一個使用者名稱,一個密碼啦

F:建立訪問者的口令庫檔案,然後修改其許可權

db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db

G:進如/etc/pam.d/中建立ftp.vu

在此檔案中新增如下資訊

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

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

H:在/var/ftp/建立目錄並改變其屬性和它的屬主

useradd -d /var/ftp/test qiang

chmod 700 /var/ftp/test

在目錄中新增test_file測試檔案

I:進入vsftpd2.conf修改其中的資訊(我加的是)

Listen_yes

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=qiang------將虛擬使用者對映為本地使用者

Listen_port=5555

Max_client=10

Max_per_ip=1

Ftpd_banner=this is a virtual server and users

Pam_service_name=ftp.vu

注:在主配置檔案中給的許可權越低,在後面分使用者管理的時候對擁護的許可權劃分的空間就越大,因為主配置檔案最高的限制服務先讀主配置檔案,然後再讀使用者的配置檔案

重起服務

到此虛擬USER就建好了

J:在VSFTPD。CONF所在的目錄中建立virtaul檔案目錄

並在檔案目錄中建立以你使用者名稱命名的配置檔案

Longlei zhangweibo jinhui lxp

在longlei中新增:

Anon_world_readable_only=no

在lxp中新增

Anon_world_readable_only=no

這樣此兩個使用者就有了瀏覽目錄的許可權了

在jinhui中新增

Anon_world_readable_only=no

Write_enable=yes

Anon_upload_enable=yes

此使用者就有了上傳、下載和瀏覽的許可權

在zhangweibo中新增

Anon_world_readable_only=no

Write_enable=yes

Anon_upload_enable=yes

Anon_other_write_enable=yes

此使用者就有了上傳、下載、刪除檔案目錄、修改檔名和瀏覽的許可權

K:修改vsftpd2.conf

加入user_config_dir=/vsftpd.conf所在的目錄/virtual

重起伺服器就搞定了

好了大家別走開,現在隆重推出VSFTPD。CONF中的我所知道的所有配置資訊

Anonymous_enable=yes (允許匿名登陸)

Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)

Local_umask=022 (FTP上本地的檔案許可權,預設是077)

Connect_form_port_20=yes (啟用FTP資料埠的資料連線)*

Xferlog_enable=yes (啟用上傳和下傳的日誌)

Xferlog_std_format=yes (使用標準的日誌格式)

Ftpd_banner=XXXXX (歡迎資訊)

Pam_service_name=vsftpd (驗證方式)*

Listen=yes (獨立的VSFTPD伺服器)*

Anon_upload_enable=yes (開放上傳許可權)

Anon_mkdir_write_enable=yes (可建立目錄的同時可以在此目錄中上傳檔案)

Write_enable=yes (開放本地使用者寫的許可權)

Anon_other_write_enable=yes (匿名帳號可以有刪除的許可權)

Anon_world_readable_only=no (放開匿名使用者瀏覽許可權)

Ascii_upload_enable=yes (啟用上傳的ASCII傳輸方式)

Ascii_download_enable=yes (啟用下載的ASCII傳輸方式)

Banner_file=/var/vsftpd_banner_file (使用者連線後歡迎資訊使用的是此檔案中的相關資訊)

Idle_session_timeout=600(秒) (使用者會話空閒後10分鐘)

Data_connection_timeout=120(秒) (將資料連線空閒2分鐘斷)

Accept_timeout=60(秒) (將客戶端空閒1分鐘後斷)

Connect_timeout=60(秒) (中斷1分鐘後又重新連線)

Local_max_rate=50000(bite) (本地使用者傳輸率50K)

Anon_max_rate=30000(bite) (匿名使用者傳輸率30K)

Pasv_min_port=50000 (將客戶端的資料連線埠改在

Pasv_max_port=60000 50000—60000之間)

Max_clients=200 (FTP的最大連線數)

Max_per_ip=4 (每IP的最大連線數)

Listen_port=5555 (從5555埠進行資料連線)

Local_enble=yes (本地帳戶能夠登陸)

Write_enable=no (本地帳戶登陸後無權刪除和修改檔案)

這是一組

Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)

Chroot_list_enable=yes (檔案中的名單可以呼叫)

Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list

(前提是chroot_local_user=no)

這又是一組

Userlist_enable=yes (在指定的檔案中的使用者不可以訪問)

Userlist_deny=yes

Userlist_file=/指定的路徑/vsftpd.user_list

又開始單的了

Banner_fail=/路徑/檔名 (連線失敗時顯示檔案中的內容)

Ls_recurse_enable=no

Async_abor_enable=yes

One_process_model=yes

Listen_address=10.2.2.2 (將虛擬服務繫結到某埠)

Guest_enable=yes (虛擬使用者可以登陸)

Guest_username=所設的使用者名稱 (將虛擬使用者對映為本地使用者)

User_config_dir=/任意指定的路徑/為使用者策略自己所建的資料夾

(指定不同虛擬使用者配置檔案的路徑)

又是一組

Chown_uploads=yes (改變上傳檔案的所有者為root)

Chown_username=root

又是一組

Deny_email_enable=yes (是否允許禁止匿名使用者使用某些郵件地址)

Banned_email_file=//任意指定的路徑/xx/

又是單的

Pasv_enable=yes ( 伺服器端用被動模式)

User_config_dir=/任意指定的路徑//任意檔案目錄 (指定虛擬使用者存放配置檔案的路徑)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章