溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Centos6.9安裝vsftpd并配置多用戶的方法

發(fā)布時間:2020-09-30 21:02:26 來源:腳本之家 閱讀:245 作者:馬兒愛吃草 欄目:服務器

本文介紹了Centos6.9安裝vsftpd并配置多用戶的方法,分享給大家,具體如下:

一、安裝vsftpd

#安裝vsftpd
yum -y install vsftpd
#設置開機啟動
chkconfig vsftpd on
#查看服務狀態(tài)
service vsftpd status
#默認是關閉的,如下
# vsftpd is stopped

二、修改系統(tǒng)保留FTP

#添加組
groupadd -g 1002 vsftpd
#創(chuàng)建用戶組目錄
mkdir -p /home/vsftpd
#添加用戶
useradd -c "FTP User" -d /home/vsftpd/vsftpd -g vsftpd -s /sbin/nologin -u 1002 vsftpd
useradd -c "FTP User" -d /home/vsftpd/test -g vsftpd -s /sbin/nologin test
#設置密碼(格式:passswd 用戶名),輸入密碼回車,再次輸入密碼回車
passwd vsftpd
#創(chuàng)建指定訪問目錄
mkdir -p /data/vsftpd
#更改權限
chown vsftpd:vsftpd /data/vsftpd
chmod -R 775 /data/vsftpd

可以查看添加進來的新用戶

cat /etc/passwd
#如下
# vsftpd:x:1002:1002:FTP User:/home/vsftpd/vsftpd:/sbin/nologin
# test:x:1003:1002:FTP User:/home/vsftpd/test:/sbin/nologin

說下/bin/false跟/sbin/nologin的區(qū)別

1、/bin/false什么也不做只是返回一個錯誤狀態(tài),然后立即退出。將用戶的shell設置為/bin/false,用戶會無法登錄,并且不會有任何提示。

2、/sbin/nologin會禮貌的向用戶顯示一條信息,并拒絕用戶登錄:This account is currently not available.

3、有一些軟件,比如一些ftp服務器軟件,對于本地非虛擬賬戶,只有用戶有有效的shell才能使用ftp服務。這時候就可以使用/sbin/nologin使用戶即不能登錄系統(tǒng),還能使用一些系統(tǒng)服務,比如ftp服務。/bin/false則不行,這是二者的重要區(qū)別之一

三、修改配置文件

#備份原文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.txt
#生成新的配置文件
touch /etc/vsftpd/vsftpd.conf
#編輯配置文件
vim /etc/vsftpd/vsftpd.conf

粘貼下面這些配置進去

# Example config file /etc/vsftpd/vsftpd.conf
#
# 如果vsftpd處于獨立模式,則這是它將偵聽傳入FTP連接的端口。
listen_port=21
#
# 登入目錄
local_root=/data/vsftpd
#
# 是否允許匿名用戶登錄
anonymous_enable=NO
#
# 設定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項目設定為NO的情況下所有虛擬用戶將無法訪問
local_enable=YES
#
# 設定允許進行寫操作(上傳、刪除),默認為YES
write_enable=YES
#
# 是否使用本地時間
#use_localtime=YES
#
# 此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義了FTP服務器最大的并發(fā)連接數,當超過此連接數時,服務器拒絕客戶端連接。默認值:0(無限制)。
#max_clients=5
#
# 此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義每個IP地址最大的并發(fā)連接數目。超過這個數目將會拒絕連接。此選項的設置將影響到象網際快車這類的多進程下載軟件。默認值為0,表示不限制。
#max_per_ip=3
#
# 掩飾碼
local_umask=002
#
# 是否允許匿名FTP用戶上傳文件。
#anon_upload_enable=NO
#
# 是否允許匿名FTP用戶能夠創(chuàng)建新目錄
#anon_mkdir_write_enable=NO
#
# 激活目錄消息 - 當遠程用戶進入某個目錄時發(fā)送的消息。
dirmessage_enable=YES
#
# 設置為yes時,用戶上傳和下載文件都會被記錄下來,記錄文件位置與xferlog_file=/var/log/vsftpd/xferlog
xferlog_enable=YES
#
# 在vsftpd_log_file和xferlog_file文件之間切換登錄文件信息,NO 寫入 vsftpd_log_file, YES 寫入 xferlog_file
xferlog_std_format=YES
#
# 設置另外一個vsftpd的日記文件,也可以不設置
dual_log_enable=YES
xferlog_file=/var/log/vsftpd/xferlog
#
# 設置日志目錄
vsftpd_log_file=/var/log/vsftpd/vsftpd.log
#
# 端口樣式連接始發(fā)的端口(只要名稱不正確的 connect_from_port_20 啟用),默認值:20
connect_from_port_20=YES
#
# 是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶所上傳的文件的所有權將改為另外一個不同的用戶所有,用戶由chown_username參數指定。此選項默認值為NO。 
#chown_uploads=YES
#
# 指定擁有匿名用戶上傳文件所有權的用戶
#chown_username=whoever
#
# 遠程客戶端建立與PASV樣式數據連接的連接的超時(以秒為單位),默認值:60。
#accept_timeout=60
#
# 遠程客戶端響應我們的端口樣式數據連接的超時時間(秒)。默認值:60。
#connect_timeout=60
#
# 遠程客戶端可能在FTP命令之間花費的最長時間(以秒為單位)。如果超時觸發(fā),遠程客戶端將被啟動。默認值:300
#idle_session_timeout=300
#
# 超時時間(以秒為單位),大概是允許數據傳輸停止而無進度的最大時間。如果超時觸發(fā),遠程客戶端將被啟動。默認值:300
#data_connection_timeout=300
#
# 創(chuàng)建上傳文件的權限。Umasks應用于此值的頂部。如果要上傳的文件可執(zhí)行,您可能希望更改為0777。默認值:0666
#file_open_mode=002
#
# 本地認證用戶允許的最大數據傳輸速率(以字節(jié)為單位)。默認值:0(無限制)
#local_max_rate=0
#
# 建議您在系統(tǒng)上定義一個唯一的用戶,ftp服務器可以用作完全獨立且無特權的用戶。
#nopriv_user=ftpsecure
#
# 是否啟動異步傳輸功能
#async_abor_enable=YES
#
# 是否啟用ASCII功能
ascii_upload_enable=YES
ascii_download_enable=YES
#
# 自定義登錄顯示的字符串
#ftpd_banner=Welcome to blah FTP service.
#
# 指定某個純文本作為用戶登錄時顯示的歡迎字眼,也可以放置一些讓用戶知道本FTP服務器的目錄架構
#banner_file=/etc/vsftpd/welcome.txt
#
# 您可以指定一個不允許的匿名電子郵件地址的文件。 顯然有助于打擊某些DoS攻擊。
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# 鎖定某些用戶在自家目錄中。即當這些用戶登錄后,不可以轉到系統(tǒng)的其他目錄,只能在自家目錄(及其子目錄)下。
# 當chroot_local_user=YES,chroot_list_enable=YES時,chroot_list_file目錄里面的用戶不被chroot在主目錄中。
# 當chroot_local_user=YES,chroot_list_enable=NO時,chroot_list_file目錄里面的用戶全部給被chroot在主目錄中
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#
# 此選項默認值為NO , 此時ftpusers 文件中的用戶禁止登錄FTP 服務器;若此項設為YES ,則 user_list 文件中的用戶允許登錄 FTP 服務器,而如果同時設置了 userlist_deny=YES ,則 user_list 文件中的用戶將不允許登錄FTP 服務器,甚至連輸入密碼提示信息都沒有,直接被FTP服務器拒絕
userlist_enable=YES
#
# 此項默認為YES ,設置是否阻扯user_list 文件中的用戶登錄FTP 服務器,設置為NO時只允許user_list 當中的用戶使用ftp,對于后新建的用戶起到屏蔽作用,如果想要使用ftp則必須加入這個列表文件中
userlist_deny=NO
#
# 當userlist_enable=YES,當userlist_deny=YES,這里面的用戶不能登錄,當userlist_deny=NO時,只有這里面的用戶才能登錄ftp 。
userlist_file=/etc/vsftpd/user_list
#
# 當啟用“l(fā)isten”指令時,vsftpd以獨立模式運行,并在IPv4套接字上偵聽。 該指令不能與listen_ipv6指令一起使用。
listen=YES
#
# 此指令允許偵聽IPv6套接字。 要監(jiān)聽IPv4和IPv6套接字,您必須運行兩個vsftpd副本和兩個配置文件。請確保其中一個listen選項被注釋!
#listen_ipv6=YES
#
# 設置 PAM 外掛模塊提供的認證服務所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件
pam_service_name=vsftpd
#
# 是否開啟用虛擬用戶功能
#guest_enable=YES
#
# 指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftp用戶了
#guest_username=ftp
#
# 匿名客戶端允許的最大數據傳輸速率(以字節(jié)為單位)。默認值:0(無限制)
#anon_max_rate=0
#
# 為匿名用戶設置文件創(chuàng)建的umask的值。注意!如果要指定八進制值,請記住“0”前綴,否則該值將被視為基數10整數!默認值:077
#anon_umask=002
#
# 設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)
#user_config_dir=/etc/vsftpd/virtual_conf
#
# 如果要禁止PASV方法獲取數據連接,請設置為NO。
pasv_enable=YES
#
# 設定在PASV模式下,建立數據傳輸所可以使用port范圍的下界和上界,0 表示任意。默認值為0。把端口范圍設在比較高的一段范圍內
pasv_min_port=20000
pasv_max_port=30000
#
# 默認值為NO。為YES時,將關閉PASV模式的安全檢查。該檢查確保數據連接和控制連接是來自同一個IP地址。小心打開此選項。此選項唯一合理的用法是存在于由安全隧道方案構成的組織中。
#pasv_promiscuous=YES
#
# 如果您不想使用PORT方法獲取數據連接,則設置為NO。
#port_enable=YES
#
# 默認值為NO。如果要禁用PORT安全檢查,確保傳出數據連接只能連接到客戶端,請設置為YES。
#port_promiscuous=YES
#
# 表明服務器使用 tcp_wrappers 作為主機訪問控制方式,tcp_wrappers 可以實現linux 系統(tǒng)中網絡服務的基于主機地址的訪問控制,在/etc 目錄中的hosts.allow 和hosts.deny 兩個文件用于設置tcp_wrappers 的訪問控制,前者設置允許訪問記錄,后者設置拒絕訪問記錄。例如想限制某些主機對FTP 服務器12.36.126.141 的匿名訪問,編緝/etc/hosts.allow 文件,如在下面增加兩行命令:vsftpd:192.168.2.1:DENY 和vsftpd:192.168.2.20:DENY 表明限制IP 為192.168.2.1/192.168.2.20 主機訪問IP 為12.36.126.141 的FTP 服務器,此時FTP 服務器雖可以PING 通,但無法連接
tcp_wrappers=YES
#

四、設置FTP用戶信息

#建立限制用戶訪問目錄的空文件
touch /etc/vsftpd/chroot_list

#添加ftp用戶進來
vim /etc/vsftpd/user_list

#注釋掉上面的用戶,在后面加上
vsftpd
test

#創(chuàng)建日志文件
mkdir -p /var/log/vsftpd
touch /var/log/vsftpd/xferlog
touch /var/log/vsftpd/vsftpd.log

五、開啟防火墻20000到30000端口

# 查看防火墻是否有端口,有就退出編輯,沒有就執(zhí)行下句
vim /etc/sysconfig/iptables

#添加端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20000:30000 -j ACCEPT

#保存
/etc/init.d/iptables save

#另外需要注意,如果是阿里云的,還需要登錄阿里云在安全組里面添加入方向規(guī)則

#重啟iptables 服務
service iptables restart

六、重啟vsftpd服務

#停止vsftpd 服務
service vsftpd stop

#啟動vsftpd 服務
service vsftpd start

#重啟vsftpd 服務
service vsftpd restart
可以查看ftp端口是否已經給占用,一般情況下是21端口

netstat -lnp|grep 21

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI