Linux安裝及配置vsftpd

vsftpd(Very Secure FTP Daemon)是一款流行的Linux系統FTP服務器程序。下面講解一下vsftpd的安裝、配置及使用。
shell

1、vsftpd的安裝服務器

一、使用 yum install vsftpd 安裝ftp服務器程序app

[root@aliyun ~]# yum install vsftpd

二、使用 yum install ftp 安裝ftp客戶端程序tcp

[root@aliyun ~]# yum install ftp

三、啓動 vsftpdide

[root@aliyun ~]# service vsftpd start

四、使用 ftp 客戶端鏈接登錄 vsftpd 服務器
測試

[root@aliyun ~]# ftp
ftp > open localhost
Name (localhost:root): anonymous
Password:
230 Login successful
ftp > ls
drwxr-xr-x 2 0 0 4096 Nov 20 19:22 pub

注:
spa

1)安裝 vsftpd 時默認容許匿名登錄,因此在使用客戶端鏈接到 vsftpd 服務器時,能夠使用登錄名爲 ftp 或 anonymous,口令爲空的方式登錄。rest

2)匿名用戶不能離開匿名用戶的家目錄 /var/ftp/pub,且只能下載,不能上傳日誌

3)若是使用service vsftpd start沒法啓動 vsftpd 服務的話,能夠使用 /etc/rc.d/init.d/vsftpd start 來啓動code


2、vsftpd的配置

一、默認配置詳解

# 容許匿名用戶登錄,登錄時登錄名爲 ftp 或 anonymous,口令爲空
anonymous_enable=YES
# 容許本地用戶登錄,登錄名爲本地用戶名,口令爲本地用戶的口令
local_enable=YES
# 容許本地用戶寫擁有FTP服務器文件的寫權限
write_enable=YES
# 本地用戶的文件默認掩碼022,文件的默認最大權限爲666,也就是上傳文件的默認權限爲644
local_umask=022
# 激活目錄的歡迎信息功能
dirmessage_enable=YES
# 啓用上傳和下載日誌功能,該日誌文件默認的存放位置爲 /var/log/xferlog
xferlog_enable=YES
# 指定FTP使用20端口進行數據傳輸(默認FTP工做模式爲被動模式,也就是PASV FTP,服務器將使用20端口與客戶端進行數據傳輸)
connect_from_port_20=YES
# 啓用xferlog的標準格式輸出
xferlog_std_format=YES
# 設置vsftpd服務器不以standalone模式運行
listen=NO
# 支持ipv6
listen_ipv6=YES
# 設置PAM使用的名稱,默認值爲 /etc/pam.d/vsftpd
pam_service_name=vsftpd
# 啓動user_list文件(該選項需與userlist_deny選項配合使用,userlist_deny默認爲YES,也就是說默認請況下user_list表中的用戶將被阻止登錄ftp服務器)
userlist_enable=YES
# 設置vsftpd與tcp wrapper組合來進行訪問控制,YES的狀況下,vsftpd將檢查/etc/hosts.allow以及/etc/hosts.deny中的設置,來進行主機的訪問控制
tcp_wrappers=YES

注:

1)在默認的配置中,咱們能夠看到,/etc/vsftpd/user_list文件中的用戶是沒法訪問vsftpd服務器的,另外須要特別注意的是 /etc/vsftpd/ftpusers文件中的用戶也是沒法訪問vsftpd服務器的,至於爲什麼要分兩個文件,由於user_list指定的是本地用戶,而ftpusers指定的是虛擬用戶。


3、vsftpd的本地測試用戶

一、添加本地ftp測試用戶 ftptest,並將該測試用戶的家目錄設置爲 /home/ftptest

[root@aliyun ~]# useradd -d /home/ftptest ftptest

二、爲ftptest用戶設置密碼

[root@aliyun ~]# passwd ftptest

三、限制ftptest使用telnet登錄

[root@aliyun ~]# usermod -s /sbin/nologin ftptest


4、限制本地測試用戶只能訪問家目錄

在 /etc/vsftpd/vsftpd.conf 配置文件中添加以下信息:

# 限制指定用戶只能訪問家目錄
chroot_list_enable=YES
# 設置受限制的用戶配置文件
chroot_list_file=/etc/vsftpd/chroot_list

新建 chroot_list 文件,並將受限制的用戶添加進去

[root@aliyun vsfptd]# touch chroot_list
[root@aliyun vsftpd]# echo ftptest >> chroot_list

設置成功後,重啓 vsftpd

[root@aliyun vsftpd]# service vsftpd restart

注:

1)當咱們限制用戶不能跳出其家目錄以後,使用該用戶登錄FTP時會報錯:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

緣由是由於,若是該用戶被限制在其家目錄下,則該用戶對家目錄不能再擁有寫權限,修復這個錯誤,能夠使用

[root@aliyun ~]# chmod 500 /home/ftptest

來去掉ftptest對家目錄的寫權限,這時可能有人會問,去掉了寫權限,那ftptest用戶該怎麼使用ftp來上傳文件呢?其實能夠經過在ftptest家目錄下新建文件夾,再將文件上傳到家目錄的子目錄下便可

固然還有一種解決方式是在vsftpd.conf中添加一行:

allow_writeable_chroot=YES
相關文章
相關標籤/搜索