centos安裝VSFTP

來源:互聯網
上載者:User

1.此次為了測試瞭解一下,VSFTP,採用RPM包安裝方式

nvsftpd的安裝qrpm –qa | grep vsftpdqrpm –ivh vsftpd-1.1.3-8.i386.rpm

 

n啟動qservice vsftpd start/stop/restart

qps –A | grep vsftpd

 

首先
rpm -qa | grep vsftpd           ---------查看有無安裝,若沒有,則要安裝,我採用的是yum
yum install vsftpd
見下:
[root@ftp sbin]# yum install vsftpd
[root@ftp sbin]# service vsftpd status
vsftpd is stopped
[root@ftp sbin]# service vsftpd start
Starting vsftpd for vsftpd:                                [ OK ]

[root@ftp sbin]#

2.設定每次開機時自動運行及手工啟動它:
chkconfig vsftpd on
service vsftpd start
netstat -tl    可以查看ftp連接埠是否在偵聽了!

相關設定檔:/etc/vsftpd/vsftpd.conf裡面;

 

3.至此已經可以FTP已經可以正常運行了,
4.FTP配置參考以下設定:

關於主機的設定值
connect_from_port_20=YES (NO)
 這個設定項目在啟動主動聯機的port 20
listen_port=21
 使用的vsftpd命令通道的port number設定,如果想要使用非
 正規的ftp port,在這個設定項目修改吧!
dirmessage_enable=YES (NO)
 當使用者進入某個目錄時,會顯示該目錄需要注意的內容,顯示的
 檔案預設是.message,當然,可以使用底下的設定項目來修訂!
message_file=.message
 當dirmessage_enable=YES時,可以設定這個項目來讓vsftpd
 尋找該檔案來顯示訊息!您也可以設定其它檔名
listen=YES (NO)
 若設定為YES表示vsftpd是以standalone的方式來啟動的!
pasv_enable=YES (NO)
 啟動被動式聯機(passive mode),一定要設定為YES
use_localtime=YES (NO)
 是否使用主機的時間?!預設使用GMT時間(格林威治)
write_enable=YES (NO)
 是否允許使用者具有寫入的許可權?這包括刪除與修改等功能!
connect_timeout=60
 單位是秒,如果client嘗試串連我們的vsftpd命令通道超過60秒,
 則不等待,強制斷線咯。
accept_timeout=60
 當使用者以被動式PASV來進行資料轉送時,如果主機啟用passive
   port 並等待client超過60秒,那麼就給他強制斷線!
data_connection_timeout=300
 如果client與Server間的資料傳送在300秒內都無法傳送成功,
 那Client的聯機就會被我們的vsftpd強制剔除!
idle_session_timeout=300
 如果使用者在300秒內都沒有命令動作,強制離線!
max_clients=0
 如果vsftpd是以stand alone方式啟動的,可以設定同一時間最多有多少client可以同時連上vsftpd
max_per_ip=0
  是同一個IP同一時間可允許多少聯機?
connect_from_port_20=YES
   使用標準的20連接埠來串連ftp
listen_address=192.168.0.2
   綁定到某個IP,其它IP不能訪問

 

關於匿名者登入的設定值
anonymous_enable=YES (NO)
 設定為允許anonymous登入我們的vsftpd主機!預設是YES,底下的
   所有相關設定都需要將這個設定為anonymous_enable=YES後生效!
anon_world_readable_only=YES (NO)
 僅允許anonymous具有下載可讀檔案的許可權,預設是YES。
anon_other_write_enable=YES (NO)
 是否允許anonymous具有寫入的許可權?預設是NO!如果要設定為
   YES,那麼開放給anonymous寫入的目錄亦需要調整許可權,讓vsftpd
   的PID擁有者可以寫入才行!
anon_mkdir_write_enable=YES (NO)
 是否讓anonymous具有建立目錄的許可權?預設值是NO!如果要設定為
   YES,那麼anony_other_write_enable必須設定為YES!
anon_upload_enable=YES (NO)
 是否讓anonymous具有上傳資料的功能,預設是NO,如果要設定為
   YES,則anon_other_write_enable=YES必須設定。
no_anon_password=YES (NO)
 當設定為 YES 時,表示 anonymous 將會略過密碼檢驗步驟,
 而直接進入 vsftpd 伺服器內喔!所以一般預設都是 NO 的!
anon_max_rate=0
 這個設定值後面接的數值單位為 bytes/秒,限制 anonymous 的傳輸
  速度,如果是 0 則不限制(由最大頻寬所限制),如果您想讓
  anonymous 僅有  30 KB/s 的速度,可以設定
  『anon_max_rate=30000』
anon_umask=077
 限制 anonymous 的許可權!如果是 077 則 anonymous 傳送過來的檔案
 許可權會是 -rw-------

關於本機使用者登入的設定值
local_enable=YES  # default NO
local_umask=022
userlist_deny  為NO時,僅允許/etc/vsftpd/user_list中的使用者登入ftp
userlist_deny  為YES時(預設),不允許/etc/vsftpd/user_list中的使用者登入ftp
/etc/vsftpd/ftpusers  強制檔案中列出的使用者不可登入ftp

guest_enable=YES (NO)
 若這個值設定為 YES 時,那麼任何非 anonymous 登入的帳號,均會被
 假設成為 guest (訪客) 喔!
local_enable=YES (NO)
 這個設定值必須要為 YES 時,在 /etc/passwd 內的帳號才能以
 實體使用者的方式登入我們的 vsftpd 主機喔!
local_max_rate=0
 實體使用者的傳輸速度限制,單位為 bytes/second, 0 為不限制。
chroot_local_user=YES (NO)
 將使用者限制在自己的家目錄之內(chroot)!這個設定在 vsftpd
 當中預設是 NO,因為有底下兩個設定項目的輔助
 所以不需要啟動他!
chroot_list_enable=YES (NO)
 是否啟用將某些實體使用者限制在他們的家目錄內?預設是 NO ,
 不過,如果想要讓某些使用者無法離開他們的家目錄時,
 可以考慮將這個設定為 YES ,並且規划下個設定值
chroot_list_file=/etc/vsftpd.chroot_list
 如果 chroot_list_enable=YES 那麼就可以設定這個項目了!他裡面
   可以規定那一個實體使用者會被限制在自己的家目錄內而無法離開!
    (chroot) 一行一個帳號即可!
userlist_deny=YES (NO)
 若此設定值為 YES 時,則當使用者帳號被列入到某個檔案時,在該檔
   案內的使用者將無法登入 vsftpd 伺服器!該檔案檔案名稱與下列設定項
     目有關。
userlist_file=/etc/vsftpd.user_list
 若上面 userlist_deny=YES 時,在這個檔案內的帳號都無法使用
     vsftpd

關於系統安全的設定值
ascii_download_enable=YES (NO)
 如果設定為 YES ,那麼 client 就可以使用 ASCII 格式下載檔案。
 一般來說,由於啟動了這個設定項目可能會導致 DoS 的攻擊,因此預
     設是NO。
ascii_upload_enable=YES (NO)
 與上一個設定類似的,只是這個設定針對上傳而言!預設是 NO。
async_abor_enable=YES (NO)
 如果您的 FTP client 會下達“async ABOR”這個指令時,這個設定才
  需要啟用一般來說,由於這個設定並不安全,所以通常都是將他取的!
check_shell=YES (NO)
  如果想讓擁有任何奇怪的 shell 的使用者(在 /etc/passwd 的 shell 欄位) 可以使用 vsftpd 的話,這個設定可以設定為 NO
xferlog_enable=YES (NO)
 當設定為 YES 時,使用者上傳與下載檔案都會被紀錄起來。記錄檔案
 與下一個設定項目有關:
xferlog_file=/var/log/vsftpd.log
 如果上一個 xferlog_enable=YES 的話,這裡就可以設定了!
 這個是登入檔的檔名
xferlog_std_format=YES (NO)
 是否設定為 wu ftp 相同的登入檔格式?預設為 NO ,因為登入檔會比
    較容易讀!不過,如果您有使用 wu ftp 登入檔案的分析軟體,這裡才
     需要設定為 YES
nopriv_user=nobody
 vsftpd 預設以 nobody 作為此一服務執行者的許可權。因為 nobody 的
    許可權相當的低,因此即使被入侵,入侵者僅能取得 nobody 的許可權
pam_service_name=vsftpd
 是 pam 模組的名稱,放置在 /etc/pam.d/vsftpd

針對僅有開放實體使用者登入的設定

1.使用本地的時間而不是 GMT 時間;
2.所有在 /etc/passwd 裡面出現的實體帳號均能登入 vsftpd 主機;
3.但是系統帳號 (如 root 等, UID 小於 500 的帳號)均不能使用 vsftpd ;
4.而且由於 user1 與 user2 這兩個帳號使用者被關在自己的家目錄當中(chroot);
5.並且限制資料的傳輸速度為 100 Kbytes/second;
6.當使用者進入 /home 這個目錄時,顯示:『hello』的字樣在 Client 端的螢幕上;
7.使用者可以進行上傳、下載以及修改檔案等等動作

1、[root@test root]# vi /etc/vsftpd/vsftpd.conf (或 /etc/vsftpd.conf)
# 關於主機與安全性的設定
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
pam_service_name=vsftpd
tcp_wrappers=YES
# 關於 anonymous 的設定
anonymous_enable=NO
# 關於 Real User 的設定
local_enable=YES
write_enable=YES
local_umask=022
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
local_max_rate=100000
2、限制實體使用者在自己的家目錄內 (chroot) 的設定檔
[root@test root]# vi /etc/vsftpd.chroot_list
user1
user2
# 沒有寫到這個檔案內的其它使用者,就可以離開自己的家目錄,
# 而到其它目錄裡面去瀏覽了!

3、以 PAM 模組限制某些帳號無法登入主機的設定
[root@test root]# vi /etc/pam.d/vsftpd
# 會發現這樣的字句:
auth ..... file=/etc/vsftpd.ftpusers ....
# 那個 file=.. 後面接的檔案名稱就是以 PAM 模組抵擋的帳號內容了
或者以 userlist_file 抵擋某些帳號的登入
[root@test root]# vi /etc/vsftpd.user_list
# 這個檔案的設定與上面 /etc/vsftpd.ftpusers 相同即可

4、設定進入目錄時,顯示的訊息:
[root@test root]# vi /home/.message
hello

針對僅有開放匿名使用者登入的設定
1.使用本地的時間,而非 GMT 時間;
2.僅開放 anonymous 的登入;
3.檔案傳輸的速限為 30 Kbytes/second;
4.允許 anonymous 上傳檔案到 /var/ftp/upload 這個目錄當中,並且允許 anonymous 建立目錄;
5.資料連線的過程 (不是命令通道!) 只要超過 60 秒沒有回應,就強制 Client 斷線!
6.只要 anonymous 超過十分鐘沒有動作,就予以斷線;
7.被動式串連的連接埠為 65400 到 65420 這幾個 port number 即可;
8.最大同時上線人數限制為 50 人,且同一 IP 來源最大聯機數量為 5 人;
9.不許使用 ASCII 格式上傳或下載!

1、[root@test root]# vi /etc/vsftpd/vsftpd.conf
# 與主機與安全性有關的設定
use_localtime=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
data_connection_timeout=60
idle_session_timeout=600
max_clients=50
max_per_ip=5
ascii_upload_enable=NO
ascii_download_enable=NO
connect_from_port_20=YES
pasv_min_port=65400
pasv_max_port=65420
pam_service_name=vsftpd
tcp_wrappers=YES
nopriv_user=ftp

# 關於 anonymous 的設定
anonymous_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
deny_email_enable=YES
banned_email_file=/etc/vsftpd.banned_emails
anon_max_rate=30000
# 關於 real user 的設定
local_enable=NO

2、建立可以上傳的目錄

# 因為我們的 nopriv_user 設定為 ftp ,所以上傳的目錄擁有者為 ftp
[root@test root]# mkdir -p /var/ftp/upload
[root@test root]# chown ftp /var/ftp/upload

使用者登陸限制進其它的目錄,只能進它的主目錄
設定所有的本機使用者都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設定指定使用者執行chroot
Chroot_list_enable=yes (檔案中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有建立的需要自己添加,要想控制帳號就直接在檔案中加帳號即可

限制本機使用者訪問FTP
Userlist_enable=yes (用userlistlai 來限制使用者訪問)
Userlist_deny=no (名單中的人不允許訪問)
Userlist_file=/指定檔案存放的路徑/ (檔案放置的路徑)
註:開啟userlist_enable=yes匿名帳號不能登陸

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.