vsftp安裝及配置

一、安裝

# 安裝vsftpd
yum -y installvsftpd
# 啓動
service vsftpdstart
# 開機啓動
chkconfig vsftpdon

二、配置文件

2.1 vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
use_localtime=yes
tcp_wrappers=YES

local_root=/ftp
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list

************************************分割線,各配置項說明*****************************************
anonymous_enable=NO
#禁止匿名用戶anonymous登錄,默認爲YES
local_enable=YES
#允許本地用戶登錄
write_enable=YES
#讓登錄的用戶有寫權限(上傳,刪除)
local_umask=022
#默認umask文件的權限掩碼
dirmessage_enable=YES
#開啓目錄標語,默認是YES
xferlog_enable=YES
#開啓日誌,默認是YES
connect_from_port_20=YES
#指定FTP使用20端口進行數據傳輸,默認值爲YES。
xferlog_file=/var/log/vsftpd.log
#設置日誌文件名和路徑,默認值爲/var/log/vsftpd.log。
xferlog_std_format=YES
#如果啓用,則日誌文件將會寫成xferlog的標準格式

listen=YES
#設置vsftpd服務器是否以standalone模式運行。
#若設置爲NO,則vsftpd不是以獨立的服務運行,要受到xinetd服務的管控,功能上會受到限制。
#
pam_service_name=vsftpd
#PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
userlist_enable=YES 
#是否藉助vsftpd的抵擋機制來處理某些不受歡迎的賬號,與下面的參數設置有關
userlist_deny=YES
#當 userlist_enable=YES 時纔會生效的設定,若此設定值爲 YES 時,則當使用者賬號被列入到相應的文件時, 
#在該文件內的使用者將無法登入vsftpd服務器!該文件名與下面設置(userlist_file=/etc/vsftpd/user_list)有關。
#若設置爲YES,則/etc/vsftpd/user_list文件中的用戶不允許訪問FTP,若設置爲NO,則只有/etc/vsftpd/user_list文件中的用戶才能訪問FTP。
#/etc/vsftpd/ftpusers文件裏的用戶將禁止登錄ftp服務器,優先級高於user_list
#詳細可參考
#http://yuanbin.blog.51cto.com/363003/108262/
#http://blog.chinaunix.net/uid-26495963-id-3538970.html
 
userlist_file=/etc/vsftpd/user_list
#控制用戶訪問FTP的文件,裏面寫着用戶名稱,一個用戶名稱一行;
#若上面 userlist_deny=YES 時,則這個設置就有用處了!在這個文件內的賬號都無法使用 vsftpd !

use_localtime=yes
#是否使用本地時間,vsftpd 預設使用 GMT 時間(格林威治),所以預設的 FTP
#的日期會比中國晚 8 小時,建議修改設定爲 YES 
tcp_wrappers=YES
#如果啓用,則vsftpd服務器會檢查/etc/hosts.allow 和/etc/hosts.deny 
#中的設置,來決定請求連接的主機,是否允許訪問該FTP服務器

local_root=/ftp
#鎖定ftp訪問目錄(默認沒有此項)
chroot_list_enable=yes
#設置爲YES,即讓chroot_list文件裏的用戶列表有效。設置是否啓用chroot_list_file配置項指定的用戶列表文件。默認值爲NO。
chroot_list_file=/etc/vsftpd/chroot_list
#需要手動建立chroot_list文件,用於指定用戶列表文件,該文件用於控制哪些用戶可以切換到用戶家目錄的上級目錄。

2.2 ftpusers


此文件中的用戶禁止登錄ftp服務器


# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

2.3 user_list


在該文件內的使用者將無法登入vsftpd服務。

關聯配置項:

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

2.4 chroot_list


將某些賬號的使用者 chroot 在他們的家目錄下.

關聯配置項:

chroot_list_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list

test /ftp/test
#用戶名 限制訪問的目錄


三、創建用戶

1.擁有讀寫權限
#mkdir /ftp
#useradd -s /sbin/nologin -d /ftp -M admin
# passwd admin
Changing password for user admin.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

#chown admin:admin /ftp
#chmod 755 /ftp

2.只擁有讀權限
#mkdir -p /ftp/test
#useradd -s /sbin/nologin -d /ftp/test -M test
# passwd test
Changing password for user test.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

#chown test:admin /ftp/test
#chmod 575 /ftp/test

3.限制用戶只訪問所指定的目錄,不能訪問其他路徑
啓用chroot_list_enable=YES,chroot_local_user=NO,chroot_list_file=/etc/vsftpd/chroot_list。
在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
創建並編輯/etc/vsftpd/chroot_list文件,將受限制的用戶添加進去,每個用戶名一行
vim /etc/vsftpd/chroot_list
添加後如下:
test /ftp/test
即test用戶不能切換到其他目錄,未添加到chroot_list文件中的admin用戶可以切換。

共分爲一下四種情況:
①當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
②當chroot_list_enable=YES,chroot_local_user=NO(默認值)時,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄;未在文件中列出的用戶,可以切換到其他目錄。
③當chroot_list_enable=NO,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄。
④當chroot_list_enable=NO,chroot_local_user=NO時,所有的用戶均可以切換到其他目錄。
chroot_local_user=YES/NO(NO)
用於指定用戶列表文件中的用戶是否允許切換到上級目錄。默認值爲NO。

四、測試


1.使用admin用戶列出目錄

# curl ftp://10.10.60.197 -u admin:admin -s
-rw-r--r--    1 503      504             0 Nov 12 01:53 123
dr-xrwxr-x    2 501      504          4096 Nov 12 02:04 ctrip
dr-xrwxr-x    2 502      504          4096 Nov 12 02:05 test

# curl ftp://10.10.60.197/test/ -u admin:admin -s  
-rw-r--r--    1 503      504             0 Nov 12 02:05 123
-rw-r--r--    1 0        0               0 Nov 12 01:22 test.file
(注意test後有斜線,否則會返回"curl: (19) RETR response: 550)

[root@server ftp]# curl ftp://10.10.60.197/test -u test1:test1 
curl: (19) RETR response: 550
[root@server ftp]# 
[root@server ftp]# curl ftp://10.10.60.197/test/ -u test1:test1 
-rw-r--r--    1 503      504             0 Nov 12 02:04 123
-r-xrwxr-x    1 501      504           339 Nov 12 01:02 test.file
-rw-r--r--    1 504      504           556 Nov 12 04:25 test.sh
-rw-r--r--    1 501      504          5865 Nov 02 23:42 test.txt


2.測試上傳與下載

客戶端上傳

[root@client ~]# echo "123" > 123
[root@client ~]# 
使用admin賬戶傳到test ftp目錄下
[root@client ~]# curl ftp://10.10.60.197/test/ -u admin:admin -T 123
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     4    0     0  100     4      0     10 --:--:-- --:--:-- --:--:--    11

使用admin賬戶傳到其ftp目錄下
[root@client ~]# curl ftp://10.10.60.197 -u admin:admin -T 123 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     4    0     0  100     4      0     11 --:--:-- --:--:-- --:--:--    12


服務器端查看

[root@server ~]# cd /ftp/
[root@server ftp]# pwd
/ftp
[root@server ftp]# ll
total 12
-rw-r--r-- 1 admin admin    4 Nov 12 03:33 123
dr-xrwxr-x 2 test  admin 4096 Nov 12 03:29 test
[root@server ftp]# 
[root@server ftp]# cat 123
123
[root@server ftp]# 
[root@server ftp]# cat test/123
123


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