一、初始練習
先檢視一下有沒有安裝該軟體包
[root@bainuo ~]# rpm -qa |grep vsftpd
沒有的話yum安裝一下
[root@bainuo ~]# yum install vsftpd -y
[root@bainuo ~]# service vsftpd start //啟動服務
為 vsftpd 啟動 vsftpd: [確定]
[root@bainuo ~]# chkconfig vsftpd on //設定開機啟動
ftp預設發布目錄/var/ftp/pub/
直接訪問測試一下
可以在該目錄下新建乙個檔案試試,沒有的話重新整理一下頁面就行
初始狀態下該ftp是允許匿名訪問的,也沒有上傳許可權
接下來測試使用使用者名稱密碼的方式來訪問
編輯vsftpd的配置檔案
[root@bainuo pub]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=yes //將yes改為no,禁止匿名訪問
在檔案末尾新增
chroot_local_user=yes //禁止使用者離開主目錄
附上一些其他選項,可以根據自己的需求來設定
listen_port=5021 ;命令通道埠,預設為21
listen_data_port=5020 ;資料通道埠,預設為20
pasv_enable=yes ;允許被動模式
pasv_min_port=10000 ;被動模式使用埠範圍
pasv_max_port=10010
local_max_rate=200000 ;使用者寬頻限制
chroot_local_user=yes ;禁使用者離開主目錄
listen_address=192.168.0.21 ;讓他監聽ip:192.168.0.21
注:在新增過程中請不要加上」;」
儲存檔案然後退出,重啟一下vsftpd服務,再重新登入,彈出了使用者名稱密碼框
接下來新增乙個ftp使用者,只允許通過ftp訪問,不能登入系統
[root@bainuo pub]# useradd -s /sbin/nologin -d /var/ftp/pub/marry marry
-s /sbin/nologin是讓其不能登陸系統,-d 是指定使用者目錄為/var/ftp/pub/marry,useradd預設是自動為使用者建立主目錄的,
所以無須提前建立該目錄
在/var/ftp/pub目錄下ll檢視
[root@bainuo pub]# ll
總用量 8
drwx------ 3 marry marry 4096 8月 21 10:11 marry
-rw-r--r-- 1 root root 4 8月 21 09:46 test.txt
如果發現登入時輸入使用者名稱密碼後需要很長時間才能顯示ftp內容的話,那是因為dns解析的原因
需要編輯vsftpd.conf,新增如下內容
reverse_lookup_enable=no
重啟服務,再試試是不是快多了。
二、高階練習
同一目錄多使用者不同許可權的測試
把前面建立的marry帳號作為本地虛擬賬號
/var/ftp/pub/marry為主目錄
建立虛擬使用者資料庫
[root@bainuo ~]# cd /etc/vsftpd/
[root@bainuo vsftpd]# vi login.txt
輸入內容如下:
xiaoming
123456
xiaohong
123456
guanli
123456
注:奇數行為使用者名稱,偶數行為密碼。
[root@bainuo vsftpd]# db_load -t -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db //從login.txt生成資料庫
[root@bainuo vsftpd]# chmod 600 vsftpd_login.db //安全起見,修改資料庫許可權
生成資料庫檔案之後建議刪除或移走login.txt。
db_load的選項解釋
選項-t允許應用程式能夠將文字檔案轉譯載入進資料庫。由於我們之後是將虛擬使用者的資訊以檔案方式儲存在檔案裡的,為了讓vsftpd這個應用程式能夠通過文本來載入使用者資料,必須要使用這個選項。
如果指定了選項-t,那麼一定要追跟子選項-t
子選項-t,追加在在-t選項後,用來指定轉譯載入的資料庫型別。擴充套件介紹下,-t可以指定的資料型別有btree、hash、queue和recon資料庫。
建立基於vsftpd_login的pam授權檔案
建立用來存放使用者許可權配置檔案的目錄[root@bainuo pam.d]# vi /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
[root@bainuo vsftpd]# mkdir /etc/vsftpd/virtual
並在該資料夾下依次建立與login.txt對應的帳號名稱相同的檔案
[root@bainuo virtual]# vi xiaoming
anon_world_readable_only=no
local_root=/var/ftp/pub/marry
[root@bainuo virtual]# vi xiaohong
anon_world_readable_only=no
write_enable=yesanon_mkdir_write_enable=yes
anon_upload_enable=yes
local_root=/var/ftp/pub/marry
備註: 編輯vsftpd.conf檔案,新增或修改如下內容[root@bainuo virtual]# vi guanli
anon_world_readable_only=no
write_enable=yesanon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=yes
local_root=/var/ftp/pub/marry
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/virtual
guest_enable=yes
guest_username=marry
登入各個帳號測試許可權是否如期。
當然,後期肯定會牽涉到使用者的維護,比如增加刪除使用者,比如修改密碼等:
先試試增加使用者
直接新建乙個login.txt,照前輸入使用者名稱密碼,再匯入到資料庫即可
修改使用者密碼呢
同樣,只需新建乙個login.txt,輸入使用者名稱和新的密碼,再匯入到資料庫即可
那麼刪除使用者呢
暫時沒找到好的方法,但可以刪除該賬戶的配置檔案,也可以阻止他登入ftp
Vsftpd伺服器安裝配置
4 ftp伺服器其它檔案介紹 1 ftpusers檔案 vi etc vsftpd ftpusers ftpusers檔案位於 etc vsftpd 目錄中,用於儲存不允許進行ftp登陸的本地使用者帳號,這些帳號 包括root使用者在內 通常不是普通使用者帳號,而是在系統中具有較高許可權的帳號。禁止...
配置伺服器 安裝vsftpd及配置
用yum安裝我們需要的vsftpd root iz2844brz0xz sudo yum install vsftpd安裝完成後可以找到 etc vsftpd vsftpd.conf,這就是vsftp的配置檔案。接下來我們需要新增乙個ftp使用者,這個使用者就是用來登入ftp伺服器用的。userad...
vsftpd伺服器配置
vsftpd是非常安全的ftp伺服器程式,在開發linux應用程式中它是乙個非常好的工具。安裝linux系統時一般已經安裝,但需要配置起來作為與開發板進行ftp檔案傳輸的後台服務 器。通過命令可以看到系統中是否已經安裝vsftpd伺服器 rpm q vsftpd vsftpd 2.0.4 1.2 如...