vsftpd

作者:龍磊

這是我這個菜鳥學習LINUX所寫的第一篇文章,是比較基礎的FTP架設的應用,如果我寫有什麼問題請大家多指教,我後續會陸續出進階篇把FTP中各種詳細的配置跟大家一起進行探討。

我所用的是LINUX AS+VSFTPD-1.2.0-4的系統架構,在這裏說明的是如果對配置文件不是很熟悉,最好做個備份,以免誤操作:

1. 匿名服務器的連接(獨立的服務器)

在/etc/vsftpd/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服務器)*

功能:只能連接FTP服務器,不能上傳和下傳

注:其中所有和日誌歡迎信息相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項

2. 開啓匿名FTP服務器上傳權限

在配置文件中添加以下的信息即可:

Anon_upload_enable=yes (開放上傳權限)

Anon_mkdir_write_enable=yes (可創建目錄的同時可以在此目錄中上傳文件)

Write_enable=yes (開放本地用戶寫的權限)

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

3. 開啓匿名服務器下傳的權限

在配置文件中添加如下信息即可:

Anon_world_readable_only=no

注:要注意文件夾的屬性,匿名帳戶是其它(other)用戶要開啓它的讀寫執行的權限

(R)讀-----下傳 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去

4.普通用戶FTP服務器的連接(獨立服務器)

在配置文件中添加如下信息即可:

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

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

功能:可以用本地帳戶登陸vsftpd服務器,有下載上傳的權限

注:在禁止匿名登陸的信息後匿名服務器照樣可以登陸但不可以上傳下傳

5. 用戶登陸限制進其它的目錄,只能進它的主目錄

設置所有的本地用戶都執行chroot

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

設置指定用戶執行chroot

Chroot_list_enable=yes (文件中的名單可以調用)

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

注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中加帳號即可

6. 限制本地用戶訪問FTP

Userlist_enable=yes (用userlistlai 來限制用戶訪問)

Userlist_deny=no (名單中的人不允許訪問)

Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)

注:開啓userlist_enable=yes匿名帳號不能登陸

7. 安全選項

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端口進行數據連接)

8. 查看誰登陸了FTP,並殺死它的進程

ps –xf |grep ftp

kill 進程號

VSFTPD的高手篇

作者:龍磊

我可不是高手!!!^_^我只不過是個菜鳥,盡我的能力寫出了我這個菜鳥覺得的高手篇,所以有什麼錯誤請大家指正哦!!!

環境:linux as 3.0 + vsftpd -1.2.0-4的系統架構,是在獨立服務器下的哦!討厭XINETD^_^

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=/任意指定的路徑//任意文件目錄 (指定虛擬用戶存放配置文件的路徑)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章