linux下ftp的搭建及優化
[日期:2007-11-04]
李磊19840817 吳康
[字型:大 中 小]

首先安裝linux 企業版第一張CD光牒中的vsftpd-2.0.1-5.i386.rpm
#rpm –ivh /media/cdrom/redhat/rpms/vsftpd-3.0.1-5.i386.rpm
啟動vsftpd服務
#service vsftpd start
重新整理防火牆
#iptables -f
這樣一個簡單linux下的ftp就已經搭建好了!
下面就來慢慢優化我們的ftp伺服器:
實驗一:如果我不允許ftp匿名登陸,我們可以修改vsftpd的主配置檔案來實作
#vi /etc/vsftpd/vsftpd.conf 把anonymous_enable=yes 改為anonymous_enable=no
重新開機vsftpd即可!
實驗二:windows中ftp伺服器可以設定歡迎詞,最大連接配接數,那我們在linux的ftp伺服器中設定呢?我要回答的是:同樣可以,我們同樣可以vsftpd的主配置檔案來實作
# vi /etc/vsftpd/vsftpd.conf
在最後添加 ftpd_banner=welcome to here! 這就是歡迎詞
max_clients=100 這就表示最多可以有100個使用者同時通路
實驗三:如果我想把借我錢不還的同僚(lilei),不想讓他登陸到我們的ftp站點,那我可以把使用者lilei添加到vi /etc/vsftpd.ftpusers 重新開機vsftpd服務即可。
實驗四:上午總經理說要提拔公司的一小部分人,聽到這個消息,趕緊行動,我隻允許總經理一個人可以登陸ftp伺服器,其他人休想,拍經理馬匹,限制其他人。我可以這樣做:
# vi /etc/vsftpd/vsftpd.conf 到最後添加2條,
userlist_deny=no /這個清單裡的人不拒絕,其他人拒絕(包括匿名)
userlist_file=/etc/mp /指明清單的路徑
然後:#vi /etc/mp 把經理的名字添加上去
重新開機vsftpd 服務即可!
但是下午經理把提拔的人的名字給公布了,憤怒的是既然沒有我。為了表現一下我的憤怒,我決定讓經理不能登陸ftp伺服器,其他人都可以。我可以這樣做:
# vi /etc/vsftpd/vsftpd.conf 把上午添加的userlist_deny=no
改為userlist_deny=yes /這個清單中的人拒絕,其他人通過。
<b></b>
實驗五:注冊的使用者我們可以給他很高的下載下傳速度(200k),匿名使用者的話,給他們20k的速度,可以這樣做:
# vi /etc/vsftpd/vsftpd.conf 在最後添加
local_max_rate=200000
anon_max_rate=20000
實驗六:前天同僚一(zhangsan)發了一根煙給我,昨天同僚二(lisi)給了我一包煙,今天同僚三(wangwu)給了我一條煙,我想根據他們給我的煙,來給他們設定不同的ftp下載下傳速度,我可以這樣做:
# vi /etc/vsftpd/vsftpd.conf 到最後添加
user_config_dir=/etc/vsftpd /定義使用者的配置檔案
#vi /etc/vsftpd/zhangsan 添加以下
local_max_rate = 3000 /與一根煙等價
#vi /etc/vsftpd/lisi 添加以下
local_max_rate = 30000 /與一包煙等價
#vi /etc/vsftpd/wangwu 添加以下
local_max_rate = 300000 /與一條煙等價
實驗七:如何建立簡單的虛拟使用者呢?我隻想讓他們可以登陸ftp,但不能登陸我的linux系統,這樣可以保證ftp伺服器的安全。可以這樣做:
adduser –g ftp –s /sbin/nolgin user01 /直接添加user01使用者到ftp組,
passwd user01 /給user01設定密碼
實驗八:上面所說的雖然簡單,但還是不安全,那還有沒有其他的方法來建立更安全的虛拟使用者呢?有!我們可以這樣做:
1, 建立虛拟使用者的密碼庫檔案
#vi logins.txt 添加以下
zhangsan /使用者名
123 /密碼
lisi
234
wangwu
345
2, 生産vsftpd的認證資料庫
#db_load –t –t hash –f logins.txt /etc/vsftpd/vsftpd_logins.db
改資料庫權限
#chmod 600 /etc/vsftpd/vsftpd_logins.db
3,建立虛拟使用者所需的pam配置檔案
#vi /etc/pam.d/vsftpd.vu 添加以下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins
4,建立虛拟使用者及所要通路的目錄并設定相應的權限
#useradd -d /home/ftpsite virtual /建立vsftpd虛拟使用者所需的系統帳号
#chmod 700 /home/ftpsite/ 設定宿主目錄的權限為700
5,設定vsftpd.conf配置檔案
#vi /etc/vsftpd/vsftpd.conf 添加如下:
guest_enable=yes
guest_username=virtual
pan_service_name=vsftpd.vu
anon_world_readable_only=no
重新開機vsftpd服務即可!
實驗九:管理虛拟使用者,要求如下:
wangwu有浏覽目錄、上傳、改名、删除等權限
lisi 有浏覽目錄、上傳、下載下傳權限
zhangsan 有浏覽目錄、下載下傳的權限(且隻能在/misc/abc目錄下,速度為20k)
我們可以這樣做:
首先編輯vsftpd的主配置檔案,
#vi /etc/vsftpd/vsftpd.conf 添加如下:
user_config_dir=/etc/vsftpd /指定虛拟使用者配置檔案的存放處
然後滿足wangwu的需求:
vi /etc/vsftpd/wangwu 添加如下:
anon_world_readable_only=no //開放讀的權限(如果沒有添加此項,使用者看到的目錄是隐藏的)
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
滿足lisi的需求:
vi /etc/vsftpd/lisi 添加如下:
滿足zhangsan的需求:
vi /etc/vsftpd/zhangsan 添加如下:
local_root=/misc/abc //設定目錄為本地
anon_max_rate=20000
最後重新開機vsftpd服務即可!
實驗十:如何設定匿名的使用者可以上傳以及删除的權限
#vi /etc/vsftpd/vsftpd.conf 添加如下:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
#chmod - r 777 /var/ftp/pub /改變pub目錄的權限
重新開機vsftpd服務即可!