詳解CentOS7 FTP服務(wù)搭建(虛擬用戶訪問(wèn)FTP服務(wù))
概述
最近在搞Oracle在Linux系統(tǒng)下集群,針對(duì)Linux系統(tǒng),筆人也是一片空白。Liunx外部文件的傳輸,避免不了使用FTP服務(wù),所以現(xiàn)在就整理下,CentOS7環(huán)境下,F(xiàn)TP服務(wù)的搭建。FTP服務(wù)器需要安裝vsftp服務(wù)端軟件。我們知道,在建立vsftpd用戶時(shí),我們一般是在linux下建立用戶useradd的方式來(lái)訪問(wèn)ftp,但有時(shí)我們只想提供ftp服務(wù),而避免用戶用ftp的帳號(hào)去登錄linux,采用一般的方式只能是限制該用戶的訪問(wèn)權(quán)限,但還是避免不了用戶登錄進(jìn)linux系統(tǒng),所以比較好的方法是用vsftpd的虛擬用戶(virtual users)。
FTP基于虛擬用戶的配置
一、配置防火墻,開啟FTP服務(wù)器需要的端口
CentOS 7.0默認(rèn)使用的是firewall作為防火墻,這里改為iptables防火墻。
1、關(guān)閉firewall:
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機(jī)啟動(dòng)
2、安裝iptables防火墻
yum install iptables-services #安裝 vi /etc/sysconfig/iptables #編輯防火墻配置文件,添加下面紅色部分進(jìn)入iptables,說(shuō)明:21端口是ftp服務(wù)端口;10060到10090是Vsftpd被動(dòng)模式需要的端口,可自定義一段大于1024的tcp端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT :wq! #保存退出 systemctl restart iptables.service #最后重啟防火墻使配置生效 systemctl enable iptables.service #設(shè)置防火墻開機(jī)啟動(dòng)
二、關(guān)閉SELINUX
vi /etc/selinux/config #SELINUX=enforcing #注釋掉 #SELINUXTYPE=targeted #注釋掉 SELINUX=disabled #增加 :wq! #保存退出 setenforce 0 #使配置立即生效
三、安裝vsftpd
rpm -qc vsftpd #查詢vsftpd是否安裝 yum install -y vsftpd #安裝vsftpd yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安裝vsftpd虛擬用戶配置依賴包 systemctl start vsftpd.service #啟動(dòng) systemctl enable vsftpd.service #設(shè)置vsftpd開機(jī)啟動(dòng)
四、新建系統(tǒng)用戶vsftpd
useradd vsftpd -d /home/wwwroot -s /bin/false #用戶目錄為/home/wwwroot, 用戶登錄終端設(shè)為/bin/false(即使之不能登錄系統(tǒng)) chown vsftpd:vsftpd /home/wwwroot -R
五、建立虛擬用戶個(gè)人Vsftp的配置文件和子賬號(hào)FTP權(quán)限
mkdir /etc/vsftpd/vconf cd /etc/vsftpd/vconf touch web1 #這里創(chuàng)建虛擬用戶配置文件 mkdir -p /home/wwwroot/web1/http/mydic #設(shè)置FTP上傳文件新增權(quán)限,最新的vsftpd要求對(duì)主目錄不能有寫的權(quán)限所以ftp為755,主目錄下面的子目錄再設(shè)置777權(quán)限 chmod -R 755 /home/wwwroot/web1/http chmod R 777 /home/wwwroot/web1/http/mydic vi web1 #編輯用戶web1配置文件,其他的跟這個(gè)配置文件類似,輸入下面紅色內(nèi)容 local_root=/home/wwwroot/web1/http/ #設(shè)置FTP賬號(hào)根目錄 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES :wq! #保存退出
六、配置vsftp服務(wù)器
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak #備份默認(rèn)配置文件
執(zhí)行以下命令進(jìn)行設(shè)置:
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf' sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf' echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300 \ndata_connection_timeout=1\nguest_enable=YES\nguest_username=vsftpd #此處要和剛剛創(chuàng)建的用戶名一直 \nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES \npasv_min_port=10060\npasv_max_port=10090 \naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf
配置文件說(shuō)明:
anonymous_enable=NO //設(shè)定不允許匿名訪問(wèn) local_enable=YES //設(shè)定本地用戶可以訪問(wèn)。注:如使用虛擬宿主用戶,在該項(xiàng)目設(shè)定為NO的情況下所有虛擬用戶將無(wú)法訪問(wèn) chroot_list_enable=YES //使用戶不能離開主目錄 ascii_upload_enable=YES ascii_download_enable=YES //設(shè)定支持ASCII模式的上傳和下載功能 pam_service_name=vsftpd //PAM認(rèn)證文件名。PAM將根據(jù)/etc/pam.d/vsftpd進(jìn)行認(rèn)證 #以下這些是關(guān)于vsftpd虛擬用戶支持的重要配置項(xiàng),默認(rèn)vsftpd.conf中不包含這些設(shè)定項(xiàng)目,需要自己手動(dòng)添加 guest_enable=YES //設(shè)定啟用虛擬用戶功能 guest_username=vsftpd //指定虛擬用戶的宿主用戶,CentOS中已經(jīng)有內(nèi)置的ftp用戶了,通過(guò)映射到vsftpd user_config_dir=/etc/vsftpd/vuser_conf //設(shè)定虛擬用戶個(gè)人vsftp的CentOS FTP服務(wù)文件存放路徑。存放虛擬用戶個(gè)性的CentOS FTP服務(wù)文件(配置文件名=虛擬用戶名)
七、建立虛擬用戶名單文件
touch /etc/vsftpd/virtusers
編輯虛擬用戶名單文件:(第一行賬號(hào),第二行密碼,注意:不能使用root做用戶名,系統(tǒng)保留)
vi /etc/vsftpd/virtusers web1 123456 :wq! #保存退出
八、生成虛擬用戶數(shù)據(jù)文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db chmod 600 /etc/vsftpd/virtusers.db #設(shè)定PAM驗(yàn)證文件,并指定對(duì)虛擬用戶數(shù)據(jù)庫(kù)文件進(jìn)行讀取
九、在/etc/pam.d/vsftpd的文件頭部加入以下信息(在后面加入無(wú)效)
修改前先備份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak
vi /etc/pam.d/vsftpd #先注釋到vsftpd所有配置,加入下面紅色部分
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意:如果系統(tǒng)為32位,上面改為lib,否則配置失?。?/p>
十、最后重啟vsftpd服務(wù)器
systemctl restart vsftpd.service
可通過(guò) tail -f /var/log/secure 指令,查看服務(wù)器安全日志,便于分析錯(cuò)誤問(wèn)題,設(shè)置操作效果一定要仔細(xì).....
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
linux下RPM包安裝基于xinetd的服務(wù)的管理
大家好,本篇文章主要講的是linux下RPM包安裝基于xinetd的服務(wù)的管理,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Apache 的 order deny allow 設(shè)置說(shuō)明
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用來(lái)控制目錄和文件的訪問(wèn)授權(quán)。2010-12-12Linux VPS安全設(shè)置之三:使用DDOS deflate抵御少量DDOS攻擊
這篇文章主要介紹了Linux VPS安全設(shè)置之三:使用DDOS deflate抵御少量DDOS攻擊,需要的朋友可以參考下2016-10-10Linux網(wǎng)絡(luò)DNS域名如何解析服務(wù)
詳解DNS系統(tǒng)的作用、分布式數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)類型、查詢類型及原理,介紹如何配置DNS正向解析,包括環(huán)境搭建、修改配置文件、啟動(dòng)服務(wù)等2024-09-09ubuntu中修改grub的啟動(dòng)時(shí)間生成
這篇文章主要介紹了ubuntu中修改grub的啟動(dòng)時(shí)間生成,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10CentOs下手動(dòng)升級(jí)node版本的方法
這篇文章主要介紹了CentOs下手動(dòng)升級(jí)node版本的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11