ftp服務器的簡單配置

ftp的簡單配置
所需環境:redhat enterprise 5.4

1.把防火牆和selinux關了,以免影響後面的試驗。
#iptables -F
#setenforce 0

2.安裝vsftpd軟件包,啓動服務,然後查看21號端口是否處於監聽狀態。
#yum install vsftpd
#service vsftpd start
#netstat -tnlp |grep 21

這樣,我們的ftp服務器就可以工作了,在瀏覽器中輸入你的ip就可以訪問了。具體的配置的選項,可以參考下面的文章。

3.vsftpd的幾個配置文件
  1./etc/vsftpd/vsftpd.conf
    這個是vsftpd的主配置文件,幾乎所有的功能都可以在這裏實現
  2./etc/pam.d/vsftpd
    這是vsftpd使用PAM模塊時的相關配置文件,主要用來作爲身份認證之用,
    還有阻止某些用戶賬號的功能也是通過這個文件實現的。
  3./etc/vsftpd/ftpusers
    這個文件與上面那個文件有關係,也就是PAM模塊/etc/pam.d/vsftpd 中所指定
    的那個無法登錄的用戶的配置文件,在這裏還可以自己修改的,不必非要使用默認的。
  4./etc/vsftpd/user_list
    這個文件是否能夠生效與/etc/vsftpd/vsftpd.conf文件中定義的兩個參數有關
    分別是userlist_enable,userlist_deny,這個文件是否起作用與主配文件vsftpd.conf
    內的“userlist_deny={YES|NO}”有關
  5./etc/vsftpd.chroot_list,這個文件默認是不存在的,所以需要自己手動建立,這個     文件的主要功能是將某些用戶鎖在它們的家目錄下,這個文件是否生效與主配文件
     /etc/vsftpd/vsftpd.conf中的兩個參數有關
     分別是chroot_list_enable,chroot_list_file兩個參數。
  6./usr/sbin/vsftpd
     這個就是vsftpd的主要執行文件,vsftpd只有這一個執行文件。

上面這些文件就是vsftpd的所有配置文件了。

4.簡單說明一下vsftpd.conf的設置說明。

與主機相關的設置

(1) connect_from_port_20=YES|NO
ftp工作在主動模式下,數據傳輸使用的端口
(2) listen_port=21
vsftpd命令傳輸的端口
(3)pasv_enable=YES|NO
啓動被動連接模式,儘量設爲YES
(4)write_enable=YES|NO
是否允許用戶上傳數據
(5)connect_timeout=60
單位是秒,在主動模式下,發出的連接請求在60秒內得不到客戶端的響應,就不再等待並
強制斷線
(6)accept_timeout=60
單位是秒,在被動模式下,服務端等待客戶端連接,如果超過60秒還沒有迴應,那麼就要強制斷線,不再等待。這個設置與connect_timeout類似,只不過一個是管理主動連接,一個
管理被動連接
(7)data_connection_timeout=300
不論是主動連接還是被動連接,只要服務器與客戶端的數據連接已經建立,但可能是由於網絡等問題,導致在300秒內還沒有順利的完成數據的傳輸,那麼客戶端的連接就會被vsftpd強制斷開。
(8)idle_session_timeout=300
如果在300秒內還沒有命令操作,則強制斷開
(9)max_clients=0
如果vsftpd是以stand alone方式工作的,那麼這個設置項目可以設置在同一時間內最多有多少client可以同時連上vsftpd,等於0則表明不作限制。儘量把這個值設置一下,不要等於0
(10)pasv_max_port=0,pasv_min_port=0
與被動模式下連接的端口有關,如果想使用65400 ~~ 65410 這個11個端口來進行被動連接
,可以這樣設置:pasv_min_port=65400,pasv_max_port=65410
如果是0的話,則表示隨機選取而不用限制。

與實體用戶相關的設置

(1)guest_enable=YES|NO
若這個值設爲YES,那麼任何非匿名用戶登錄的賬號,均會被假設爲guest訪客。
訪客在vsftpd中默認取得ftp這個用戶的相關權限,但可以通過guest_username來修改
(2)guest_username=ftp
在guest_enable=YES時纔會生效,指定訪客的身份而已。
(3)local_enable=YES|NO
這個值設爲YES時,/etc/passwd中的賬號纔可以以實體用戶的方式登錄vsftpd主機。
(4)chroot_local_user=YES|NO
將用戶鎖在它們的默認目錄下,這個設置在vsftpd中默認爲NO,因爲下面兩個設置項,
所以可以不使用它。
(5)chroot_list_enable=YES|NO
是否將某些實體用戶限制在他們的默認目錄下,默認爲NO
(6)chroot_list_file=/etc/vsftpd/chroot_list
如果chroot_list_enable=YES,那麼寫在這個文件中的賬號將鎖在他們的默認家目錄下,
一行一個賬號即可。
(7)userlist_enable=YES|NO
是否啓用vsftpd的阻止機制來阻止某些不受歡迎的賬號登陸ftp服務器。與下面兩個設置項有關。
(8)userlist_deny=YES|NO
這個設置只有userlist_enable=YES時才起作用,且當用戶賬號寫入到某個文件中時,在該文件中的用戶將無法登陸ftp服務器的。這個文件的設置與下面選項有關
(9)userlist_file=file-path
若上面的userlist_deny=YES時,這裏配置文件纔有用處,在這個文件內的賬號都無法登陸主機。

與匿名用戶登陸的設置值

(1)annonymous_enable=YES|NO
設置爲允許anonymous登錄ftp主機,默認爲YES,下面的所有相關設置都需要將此項設置爲
annonymous_enable=YES時才能生效
(2)anon_world_readable_only=YES|NO
僅允許anonymous具有下載可讀文件的權限,默認爲YES
(3)anon_other_write_enable=YES|NO
是否允許anonymous具有寫入的權限?默認爲NO,
(4)anon_mkdir_write_enable=YES|NO
是否讓anonymous具有建立目錄的權限,如果爲YES,則anon_other_write_enable必須爲YES
才行。
(5)anon_upload_enable=YES|NO
是否讓anonymous具有上傳數據的權限,默認爲NO,如果要設爲YES,則anon_other_write_enable必須爲YES才行
(6)anon_umask=077
限制匿名用戶的權限,如果是077,則匿名用戶上傳上來的文件權限爲-rw------

其它的配置
tcp_wrappers-YES|NO
pam_service_name=vsftpd

建立虛擬賬號
1.建立虛擬ftp用戶的賬號數據庫文件
2.創建ftp根目錄及虛擬用戶映射的系統用戶
3.建立支持虛擬用戶的PAM認證文件
4.在vsftpd.conf文件中添加支持配置選項
5.爲個別虛擬用戶建立獨立的配置文件
6.重新加載vsftpd配置文件
7.使用虛擬ftp賬戶訪問測試

下面我們就來一步一步做出來

1.#cd
2.#vim login.txt
在login.txt寫入下面兩個賬號。奇數行爲賬號,偶數行爲相應的賬號的密碼,如下
user1
123456
user2
redhat

然後保存退出。

3.使用db_load工具把login.txt轉換成數據庫文件
先查一下db4-tuils這個工具裝了沒,
#rpm -q db4-tuils  若沒裝,用yum裝上即可
#yum install db4-tuils
#db_load -T -t hash -f login.txt /etc/vsftpd/login.db
#chmod 600 /etc/vsftpd/login.db

4.建立ftp根目錄及虛擬賬號所映射的系統賬號
#useradd -d /var/ftproot -s /sbin/nologin -M virtual
#chmod go+rx /var/ftproot

5.建立支持虛擬用戶的PAM認證文件
vim /etc/pam.d/vsftpd.vu ,添加如下內容後,保存退出
auth        required    pam_userdb.so    db=/etc/vsftpd/login
account        required    pam_userdb.so    db=/etc/vsftpd/login

6.在/etc/vsftpd/vsftpd.conf中添加如下內容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu  (這一項是改的,不是添加的)

7.爲個別用戶添加獨立配置文件,這裏我們以user1爲例
#mkdir /etc/vsftpd/vsftpd_user_conf
#cd /etc/vsftpd/vsftd_user_conf
#vim user1   (添加如下內容)
anonymous_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES

保存退出
爲個別用戶添加獨立配置文件時,在/etc/vsftpd/vsftpd_user_conf目錄中
新建與虛擬用戶相同的文件名,在該文件中就可以添加該虛擬用戶相應的權限了。

8.重新加載ftp主配文件
#service vsftpd restart
然後就可以用虛擬賬號驗證登錄了。



 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章