Centos6.9安裝vsftpd并配置多用戶的方法
本文介紹了Centos6.9安裝vsftpd并配置多用戶的方法,分享給大家,具體如下:
一、安裝vsftpd
#安裝vsftpd yum -y install vsftpd #設(shè)置開機(jī)啟動(dòng) chkconfig vsftpd on #查看服務(wù)狀態(tài) service vsftpd status #默認(rèn)是關(guān)閉的,如下 # 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 #設(shè)置密碼(格式:passswd 用戶名),輸入密碼回車,再次輸入密碼回車 passwd vsftpd #創(chuàng)建指定訪問(wèn)目錄 mkdir -p /data/vsftpd #更改權(quán)限 chown vsftpd:vsftpd /data/vsftpd chmod -R 775 /data/vsftpd
可以查看添加進(jìn)來(lái)的新用戶
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
說(shuō)下/bin/false跟/sbin/nologin的區(qū)別
1、/bin/false什么也不做只是返回一個(gè)錯(cuò)誤狀態(tài),然后立即退出。將用戶的shell設(shè)置為/bin/false,用戶會(huì)無(wú)法登錄,并且不會(huì)有任何提示。
2、/sbin/nologin會(huì)禮貌的向用戶顯示一條信息,并拒絕用戶登錄:This account is currently not available.
3、有一些軟件,比如一些ftp服務(wù)器軟件,對(duì)于本地非虛擬賬戶,只有用戶有有效的shell才能使用ftp服務(wù)。這時(shí)候就可以使用/sbin/nologin使用戶即不能登錄系統(tǒng),還能使用一些系統(tǒng)服務(wù),比如ftp服務(wù)。/bin/false則不行,這是二者的重要區(qū)別之一
三、修改配置文件
#備份原文件 mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.txt #生成新的配置文件 touch /etc/vsftpd/vsftpd.conf #編輯配置文件 vim /etc/vsftpd/vsftpd.conf
粘貼下面這些配置進(jìn)去
# Example config file /etc/vsftpd/vsftpd.conf # # 如果vsftpd處于獨(dú)立模式,則這是它將偵聽傳入FTP連接的端口。 listen_port=21 # # 登入目錄 local_root=/data/vsftpd # # 是否允許匿名用戶登錄 anonymous_enable=NO # # 設(shè)定本地用戶可以訪問(wèn)。注:如使用虛擬宿主用戶,在該項(xiàng)目設(shè)定為NO的情況下所有虛擬用戶將無(wú)法訪問(wèn) local_enable=YES # # 設(shè)定允許進(jìn)行寫操作(上傳、刪除),默認(rèn)為YES write_enable=YES # # 是否使用本地時(shí)間 #use_localtime=YES # # 此參數(shù)在VSFTPD使用單獨(dú)(standalone)模式下有效。此參數(shù)定義了FTP服務(wù)器最大的并發(fā)連接數(shù),當(dāng)超過(guò)此連接數(shù)時(shí),服務(wù)器拒絕客戶端連接。默認(rèn)值:0(無(wú)限制)。 #max_clients=5 # # 此參數(shù)在VSFTPD使用單獨(dú)(standalone)模式下有效。此參數(shù)定義每個(gè)IP地址最大的并發(fā)連接數(shù)目。超過(guò)這個(gè)數(shù)目將會(huì)拒絕連接。此選項(xiàng)的設(shè)置將影響到象網(wǎng)際快車這類的多進(jìn)程下載軟件。默認(rèn)值為0,表示不限制。 #max_per_ip=3 # # 掩飾碼 local_umask=002 # # 是否允許匿名FTP用戶上傳文件。 #anon_upload_enable=NO # # 是否允許匿名FTP用戶能夠創(chuàng)建新目錄 #anon_mkdir_write_enable=NO # # 激活目錄消息 - 當(dāng)遠(yuǎn)程用戶進(jìn)入某個(gè)目錄時(shí)發(fā)送的消息。 dirmessage_enable=YES # # 設(shè)置為yes時(shí),用戶上傳和下載文件都會(huì)被記錄下來(lái),記錄文件位置與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 # # 設(shè)置另外一個(gè)vsftpd的日記文件,也可以不設(shè)置 dual_log_enable=YES xferlog_file=/var/log/vsftpd/xferlog # # 設(shè)置日志目錄 vsftpd_log_file=/var/log/vsftpd/vsftpd.log # # 端口樣式連接始發(fā)的端口(只要名稱不正確的 connect_from_port_20 啟用),默認(rèn)值:20 connect_from_port_20=YES # # 是否修改匿名用戶所上傳文件的所有權(quán)。YES,匿名用戶所上傳的文件的所有權(quán)將改為另外一個(gè)不同的用戶所有,用戶由chown_username參數(shù)指定。此選項(xiàng)默認(rèn)值為NO。 #chown_uploads=YES # # 指定擁有匿名用戶上傳文件所有權(quán)的用戶 #chown_username=whoever # # 遠(yuǎn)程客戶端建立與PASV樣式數(shù)據(jù)連接的連接的超時(shí)(以秒為單位),默認(rèn)值:60。 #accept_timeout=60 # # 遠(yuǎn)程客戶端響應(yīng)我們的端口樣式數(shù)據(jù)連接的超時(shí)時(shí)間(秒)。默認(rèn)值:60。 #connect_timeout=60 # # 遠(yuǎn)程客戶端可能在FTP命令之間花費(fèi)的最長(zhǎng)時(shí)間(以秒為單位)。如果超時(shí)觸發(fā),遠(yuǎn)程客戶端將被啟動(dòng)。默認(rèn)值:300 #idle_session_timeout=300 # # 超時(shí)時(shí)間(以秒為單位),大概是允許數(shù)據(jù)傳輸停止而無(wú)進(jìn)度的最大時(shí)間。如果超時(shí)觸發(fā),遠(yuǎn)程客戶端將被啟動(dòng)。默認(rèn)值:300 #data_connection_timeout=300 # # 創(chuàng)建上傳文件的權(quán)限。Umasks應(yīng)用于此值的頂部。如果要上傳的文件可執(zhí)行,您可能希望更改為0777。默認(rèn)值:0666 #file_open_mode=002 # # 本地認(rèn)證用戶允許的最大數(shù)據(jù)傳輸速率(以字節(jié)為單位)。默認(rèn)值:0(無(wú)限制) #local_max_rate=0 # # 建議您在系統(tǒng)上定義一個(gè)唯一的用戶,ftp服務(wù)器可以用作完全獨(dú)立且無(wú)特權(quán)的用戶。 #nopriv_user=ftpsecure # # 是否啟動(dòng)異步傳輸功能 #async_abor_enable=YES # # 是否啟用ASCII功能 ascii_upload_enable=YES ascii_download_enable=YES # # 自定義登錄顯示的字符串 #ftpd_banner=Welcome to blah FTP service. # # 指定某個(gè)純文本作為用戶登錄時(shí)顯示的歡迎字眼,也可以放置一些讓用戶知道本FTP服務(wù)器的目錄架構(gòu) #banner_file=/etc/vsftpd/welcome.txt # # 您可以指定一個(gè)不允許的匿名電子郵件地址的文件。 顯然有助于打擊某些DoS攻擊。 #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # 鎖定某些用戶在自家目錄中。即當(dāng)這些用戶登錄后,不可以轉(zhuǎn)到系統(tǒng)的其他目錄,只能在自家目錄(及其子目錄)下。 # 當(dāng)chroot_local_user=YES,chroot_list_enable=YES時(shí),chroot_list_file目錄里面的用戶不被chroot在主目錄中。 # 當(dāng)chroot_local_user=YES,chroot_list_enable=NO時(shí),chroot_list_file目錄里面的用戶全部給被chroot在主目錄中 chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list # # 此選項(xiàng)默認(rèn)值為NO , 此時(shí)ftpusers 文件中的用戶禁止登錄FTP 服務(wù)器;若此項(xiàng)設(shè)為YES ,則 user_list 文件中的用戶允許登錄 FTP 服務(wù)器,而如果同時(shí)設(shè)置了 userlist_deny=YES ,則 user_list 文件中的用戶將不允許登錄FTP 服務(wù)器,甚至連輸入密碼提示信息都沒有,直接被FTP服務(wù)器拒絕 userlist_enable=YES # # 此項(xiàng)默認(rèn)為YES ,設(shè)置是否阻扯user_list 文件中的用戶登錄FTP 服務(wù)器,設(shè)置為NO時(shí)只允許user_list 當(dāng)中的用戶使用ftp,對(duì)于后新建的用戶起到屏蔽作用,如果想要使用ftp則必須加入這個(gè)列表文件中 userlist_deny=NO # # 當(dāng)userlist_enable=YES,當(dāng)userlist_deny=YES,這里面的用戶不能登錄,當(dāng)userlist_deny=NO時(shí),只有這里面的用戶才能登錄ftp 。 userlist_file=/etc/vsftpd/user_list # # 當(dāng)啟用“l(fā)isten”指令時(shí),vsftpd以獨(dú)立模式運(yùn)行,并在IPv4套接字上偵聽。 該指令不能與listen_ipv6指令一起使用。 listen=YES # # 此指令允許偵聽I(yíng)Pv6套接字。 要監(jiān)聽I(yíng)Pv4和IPv6套接字,您必須運(yùn)行兩個(gè)vsftpd副本和兩個(gè)配置文件。請(qǐng)確保其中一個(gè)listen選項(xiàng)被注釋! #listen_ipv6=YES # # 設(shè)置 PAM 外掛模塊提供的認(rèn)證服務(wù)所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件 pam_service_name=vsftpd # # 是否開啟用虛擬用戶功能 #guest_enable=YES # # 指定虛擬用戶的宿主用戶,CentOS中已經(jīng)有內(nèi)置的ftp用戶了 #guest_username=ftp # # 匿名客戶端允許的最大數(shù)據(jù)傳輸速率(以字節(jié)為單位)。默認(rèn)值:0(無(wú)限制) #anon_max_rate=0 # # 為匿名用戶設(shè)置文件創(chuàng)建的umask的值。注意!如果要指定八進(jìn)制值,請(qǐng)記住“0”前綴,否則該值將被視為基數(shù)10整數(shù)!默認(rèn)值:077 #anon_umask=002 # # 設(shè)定虛擬用戶個(gè)人vsftp的CentOS FTP服務(wù)文件存放路徑。存放虛擬用戶個(gè)性的CentOS FTP服務(wù)文件(配置文件名=虛擬用戶名) #user_config_dir=/etc/vsftpd/virtual_conf # # 如果要禁止PASV方法獲取數(shù)據(jù)連接,請(qǐng)?jiān)O(shè)置為NO。 pasv_enable=YES # # 設(shè)定在PASV模式下,建立數(shù)據(jù)傳輸所可以使用port范圍的下界和上界,0 表示任意。默認(rèn)值為0。把端口范圍設(shè)在比較高的一段范圍內(nèi) pasv_min_port=20000 pasv_max_port=30000 # # 默認(rèn)值為NO。為YES時(shí),將關(guān)閉PASV模式的安全檢查。該檢查確保數(shù)據(jù)連接和控制連接是來(lái)自同一個(gè)IP地址。小心打開此選項(xiàng)。此選項(xiàng)唯一合理的用法是存在于由安全隧道方案構(gòu)成的組織中。 #pasv_promiscuous=YES # # 如果您不想使用PORT方法獲取數(shù)據(jù)連接,則設(shè)置為NO。 #port_enable=YES # # 默認(rèn)值為NO。如果要禁用PORT安全檢查,確保傳出數(shù)據(jù)連接只能連接到客戶端,請(qǐng)?jiān)O(shè)置為YES。 #port_promiscuous=YES # # 表明服務(wù)器使用 tcp_wrappers 作為主機(jī)訪問(wèn)控制方式,tcp_wrappers 可以實(shí)現(xiàn)linux 系統(tǒng)中網(wǎng)絡(luò)服務(wù)的基于主機(jī)地址的訪問(wèn)控制,在/etc 目錄中的hosts.allow 和hosts.deny 兩個(gè)文件用于設(shè)置tcp_wrappers 的訪問(wèn)控制,前者設(shè)置允許訪問(wèn)記錄,后者設(shè)置拒絕訪問(wèn)記錄。例如想限制某些主機(jī)對(duì)FTP 服務(wù)器12.36.126.141 的匿名訪問(wèn),編緝/etc/hosts.allow 文件,如在下面增加兩行命令:vsftpd:192.168.2.1:DENY 和vsftpd:192.168.2.20:DENY 表明限制IP 為192.168.2.1/192.168.2.20 主機(jī)訪問(wèn)IP 為12.36.126.141 的FTP 服務(wù)器,此時(shí)FTP 服務(wù)器雖可以PING 通,但無(wú)法連接 tcp_wrappers=YES #
四、設(shè)置FTP用戶信息
#建立限制用戶訪問(wèn)目錄的空文件 touch /etc/vsftpd/chroot_list #添加ftp用戶進(jìn)來(lái) 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 服務(wù) service iptables restart
六、重啟vsftpd服務(wù)
#停止vsftpd 服務(wù) service vsftpd stop #啟動(dòng)vsftpd 服務(wù) service vsftpd start #重啟vsftpd 服務(wù) service vsftpd restart 可以查看ftp端口是否已經(jīng)給占用,一般情況下是21端口 netstat -lnp|grep 21
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn)
本篇文章主要介紹了詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)
這篇文章主要介紹了Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06linux 驅(qū)動(dòng)編寫之虛擬字符設(shè)備的編寫實(shí)例詳解
這篇文章主要介紹了linux 驅(qū)動(dòng)編寫之虛擬字符設(shè)備的編寫實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01在Linux中限制root用戶SSH遠(yuǎn)程登錄的流程詳解
在Linux系統(tǒng)中,root用戶擁有最高權(quán)限,因此為了增強(qiáng)系統(tǒng)安全性,我們通常會(huì)限制root用戶通過(guò)SSH遠(yuǎn)程登錄,本文將介紹如何在Linux系統(tǒng)中限制root用戶的SSH遠(yuǎn)程登錄,需要的朋友可以參考下2024-03-03Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析
這篇文章主要介紹了Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09