說明:
vsftpd是一款在linux發行版中最受推崇的ftp伺服器程式。特點是小巧輕快,安全易用。vsftpd 的名字代表"very secure ftp daemon", 安全是它的開發者 chris evans 考慮的首要問題之一。在這個 ftp 伺服器設計開發的最開始的時候,高安全性就是一個目标
常用的ftp指令
連接配接伺服器
bye
中斷與伺服器的連接配接
open
與伺服器相連接配接
send
上傳檔案用put也可以
get
下載下傳檔案
mget
下載下傳多個檔案
del
删除檔案
安裝軟體包:
[root@zzh /]# yum install vsftpd
相關檔案說明:
/etc/vsftpd/vsftpd.conf
核心配置檔案
/etc/vsftpd/ftpusers
用于指定哪些使用者不能通路ftp伺服器
/etc/vsftpd/user_list
指定允許使用vsftpd的使用者清單檔案
/etc/vsftpd/vsftpd_conf_migrate.sh
是vsftpd操作的一些變量和設定腳本
/var/ftp/
預設情況下匿名使用者的根目錄
需求:
1、公司技術部準備搭建一台功能簡單的ftp伺服器,允許所有員工上傳和下載下傳檔案,并允許建立使用者自己的目錄
2、允許kangte帳号登入ftp伺服器.但不能登入本地系統.并将這帳号的根目錄限制為/var/www/html.不能進入該目錄以外的任何目錄
[root@zzh /]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
匿名通路 #不用輸入使用者密碼之間進入
local_enable=yes
允許本地使用者登入
write_enable=yes
是否有寫入權限
ocal_umask=022
上傳的檔案所生成的權限
anon_upload_enable=yes
允許匿名使用者上傳檔案 預設為#注釋
anon_mkdir_write_enable=yes
允許匿名使用者建立目錄 預設為#注釋
chroot_list_enable=yes
激chroot功能 預設為#注釋
chroot_list_file=/etc/vsftpd/chroot_list
設定鎖定使用者在根目錄中的清單檔案 預設為#注釋
xferlog_enable=yes
啟用日志
xferlog_file=/var/log/xferlog
日志檔案存放位置
local_root=/var/www/html
設定本地使用者的根目錄 注意:這個字段需要自己添加
[root@zzh /]# vim /etc/vsftpd/chroot_list
根據上面設定建立鎖定使用者在根目錄中清單檔案
添加需要鎖定使用者在根目錄的帳号
kangte
zzh
建立目錄并配置權限:
注意:目錄權限是通路和建立檔案最關鍵的一定要注意
注意:這個目錄的權限預設是755一定不要改
[root@zzh /]# mkdir /var/ftp/niming
建立一個匿名通路目錄預設權限即可
[root@zzh /]# chown ftp /var/ftp/niming/
給匿名通路目錄目錄ftp屬主權限
[root@zzh /]# chmod -r o+w /var/www/html/
添加目錄其他使用者組可寫權限
建立使用者:
[root@zzh /]# useradd -s /sbin/nologin kangte
建立使用者并禁止本地登入
[root@zzh /]# passwd kangte
設定一下密碼
[root@zzh /]# service vsftpd restart
重新開機服務生效
注意:這個目錄現在有建立目錄和上傳檔案的權限但沒有删除的權限
進階虛拟賬戶
要求:用虛拟賬戶對使用者進行不同的權限配置
[root@zzh /]# vim /etc/vsftpd/vsftpd_user.txt
建立使用者資料庫檔案
添加兩個虛拟帳号
kangte1
123456
kangte2
1234567
生成資料庫:
[root@zzh centos]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm
安裝生成資料庫所需程式
儲存虛拟帳号和密碼的文本檔案無法被系統帳号直接調用我們需要使用db_load指令生成db資料庫檔案
[root@zzh /]# db_load -t -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
生成db庫檔案
[root@zzh /]# chmod 600 /etc/vsftpd/vsftpd_user.db
對檔案設定權限隻要root使用者有權限
配置pam檔案:
為了使伺服器能夠使用資料庫檔案.對用戶端進行身份驗證.需要調用系統的pam子產品
pam為可插拔認證子產品.不必重新安裝應用系統.通過修改指定的配置檔案.調整對該程式的認證方式。pam子產品配置檔案路徑為/etc/pam.d/目錄.此目錄下儲存着大量與認證有關的配置檔案.并以服務名稱命名
[root@zzh /]# vim /etc/pam.d/ktvsftpd
添加下面字段
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
建立虛拟帳号對應的系統使用者
[root@zzh /]# useradd -d /var/ftp/kagnte1 kangte1
[root@zzh /]# useradd -d /var/ftp/kagnte2 kangte2
将兩個帳号的目錄進行隔離.控制使用者的檔案通路
[root@zzh /]# chmod -r 500 /var/ftp/kagnte1
設定讀和執行權限
[root@zzh /]# chmod -r 700 /var/ftp/kagnte2
設定是以權限
注意:一定要對目錄做相應的權限設定.不然配置檔案有可寫權限也不能向目錄添加檔案
主配置檔案
anonymous_enable=no
匿名通路
pam_service_name=ktvsftpd
配置vsftpd使用的pam子產品 功能就是稽核使用者名密碼
user_config_dir=/etc/vsftpd/vuserconfig
設定虛拟帳号的主目錄 用于儲存虛拟賬戶權限配置檔案 注意:這個字段需要自己添加
max_clients=300
設定ftp伺服器最大接入用戶端數為300個 注意:這個字段需要自己添加
max_per_ip=10
設定每個ip位址最大連接配接數為10個 注意:這個字段需要自己添加
注意:在windows位址欄方式登入直接退出并沒有端口連接配接.設定最大數為10.windows第10個使用者就登不上去了
添加需要鎖定使用者在根目錄的帳号 注意:這裡必要設定
建立配置檔案
設定多個虛拟帳号的不同權限.需要為每個虛拟帳号建立獨立的配置檔案.并根據需要進行相應的設定
[root@zzh /]# mkdir /etc/vsftpd/vuserconfig
根據上面配置建立虛拟帳号的主目錄
在user_config_dir指定路徑下建立與虛拟帳号同名的配置檔案并添加相應的配置字段
[root@zzh /]# vim /etc/vsftpd/vuserconfig/kangte1
guest_enable=yes
開啟虛拟帳号登入
guest_username=kangte1
設定ftp對應的系統帳号
anon_world_readable_only=no
允許匿名使用者浏覽器整個伺服器的檔案系統
anon_max_rate=50000
限定傳輸速率為50kb/s
[root@zzh /]# vim /etc/vsftpd/vuserconfig/kangte2
guest_username=kangte2
允許在檔案系統寫入權限
允許建立檔案夾
開啟匿名帳号的上傳功能
anon_max_rate=100000
限定傳輸速度為100kb/s