vsftp部署和優化(CentOS自帶的ftp軟件)

一、(1)首先安裝vsftpd

yum install -y vsftpd

(2)安裝完vsftpd後啓動vsftpd服務

/etc/init.d/vsftpd start

(這時啓動的時候可能會失敗,原因是上面我們pure-ftpd已經佔用了21端口,ftp服務使用的都是21端口,所以這時候出現衝突,這時候vsftpd服務自然無法啓動起來;這時我們就得先把pure-ftpd先kill掉,再次啓動就可以了)

(3)切換到客戶端直接用系統用戶登錄

lftp [email protected] (www是創建的一個用戶)

(這時候登錄的你會發現在ftp裏可以自由的切換目錄,甚至etc啊tmp啊等等目錄下的內容你都能看到並下載,這是個很危險的情況,所以我們要禁止用戶切換到其它目錄下去,也就是要把用戶限制到某個目錄下)

(4)將用戶限制到某個目錄下:

修改配置文件: vim /etc/vsftpd/vsftpd.conf

在配置文件中找到: chroot_local_user=YES 這一行,將其前面的註釋去掉即可,然後再去客戶端測試是否還能切換目錄操作。

(5)生成一個虛擬的用戶來操作ftp(正常我們配置ftp一般是不能用系統用戶來使用的,要不然都知道你係統用戶了那都可以通過sshd來登錄系統了,這也是一個安全隱患,所以我們需要配置一個虛擬用戶來操作)

二、1、創建一個虛擬用戶對應的那個系統用戶:useradd virftp -s /sbin/nologin

2、創建一個虛擬用戶存放用戶名密碼的文件:vim /etc/vsftpd/vsftpd_login

寫入內容:

test1

111222aaa

test2

aaa111bbb

然後更改其權限:chmod 600 /etc/vsftpd/vsftpd_login

3、將vsftpd_login這個文件生成一個vsftpd這個服務能識別的一個二進制的庫文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

4、創建虛擬用戶:

(1)創建一個虛擬用戶配置文件存放的一個目錄: mkdir /etc/vsftpd/vsftpd_user_conf

(2)進入到這個目錄下進行配置文件的創建: cd /etc/vsftpd/vsftpd_user_conf

(3)創建一個跟第2步配置文件中用戶名同名的一個配置文件: vim test1

寫入內容: local_root=/home/virftp/test1

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

(4)既然在上面配置文件中我們有限制test1的家目錄到/home/vsftpd/test1下,我們自然要去創建這個目錄:

mkdir /home/virftp/test1

然後更改其屬主以及屬組爲我們的系統用戶:

chown -R virftp:virftp /home/virftp/test1

(5)編輯認證相關的一個配置文件:(告訴配置文件你得用哪種方式去認證,要不然會用系統默認的用戶名和密碼,

現在我們要用虛擬用戶的來認證,這時候就需要告訴配置文件他的這些密碼庫文件這些在哪裏,要去用它)

vim /etc/pam.d/vsftpd

添加兩行信息即可:

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

保存之前我們要先去確認下/lib/security/pam_userdb.so這個文件存在不存在

(因爲這個關係到系統是32位還是64位的問題,32位的系統是存放在上面所說的路徑下的,但是如果是64位操作系統的話

是存放在/lib64/security/pam_userdb.so裏的) 可以用uname -a查看系統是多少位的操作系統

(6)編輯vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf

(將一些關於匿名用戶信息行的選項打開並將其改成NO;注:local_enable=YES這一行就是默認的YES別去改)

並在配置文件最底下添加一些配置信息:

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

(7)重啓vsftpd服務: /etc/init.d/vsftpd restart

5、接下來就是登陸測試了

(1)可以在本服務器上進行測試:

lftp [email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章