天天看點

vsftp

說明:

    vsftpd是一款在linux發行版中最受推崇的ftp伺服器程式。特點是小巧輕快,安全易用。vsftpd 的名字代表"very secure ftp daemon", 安全是它的開發者 chris evans 考慮的首要問題之一。在這個 ftp 伺服器設計開發的最開始的時候,高安全性就是一個目标 

常用的ftp指令

ftp [email protected]

連接配接伺服器

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

繼續閱讀