CentOS 7 2安裝配置Vsftp伺服器

2022-09-06 14:06:27 字數 4967 閱讀 3758

一、配置防火牆,開啟ftp伺服器需要的埠

centos 7.2預設使用的是firewall作為防火牆,這裡改為iptables防火牆。

1、關閉firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall開機啟動

2、安裝iptables防火牆

yum install iptables-services #安裝

vi /etc/sysconfig/iptables #編輯防火牆配置檔案

# firewall configuration written by system-config-firewall

# manual customization of this file is not recommended.

*filter

:input accept [0:0]

:forward accept [0:0]

:output accept [0:0]

-a input -m state --state established,related -j accept

-a input -p icmp -j accept

-a input -i lo -j accept

-a input -m state --state new -m tcp -p tcp --dport 22 -j accept

-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

-a input -j reject --reject-with icmp-host-prohibited

-a forward -j reject --reject-with icmp-host-prohibited

commit

:wq! #儲存退出

systemctl restart iptables.service #最後重啟防火牆使配置生效

systemctl enable iptables.service #設定防火牆開機啟動

說明:21埠是ftp服務埠;10060到10090是vsftpd被動模式需要的埠,可自定義一段大於1024的tcp埠。

二、關閉selinux

vi /etc/selinux/config

#selinux=enforcing #注釋掉

#selinuxtype=targeted #注釋掉

selinux=disabled #增加

:wq! #儲存退出

setenforce 0 #使配置立即生效

三、安裝vsftpd

yum install -y vsftpd #安裝vsftpd

yum install -y psmisc net-tools systemd-devel libdb-devel perl-dbi  #安裝vsftpd虛擬使用者配置依賴包

systemctl start vsftpd.service #啟動

systemctl enable vsftpd.service #設定vsftpd開機啟動

四、配置vsftp伺服器

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak #備份預設配置檔案

執行以下命令進行設定

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

\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

vi /etc/vsftpd/vsftpd.conf 在最後一行新增如下內容:

allow_writeable_chroot=yes

否則登入時報錯:oops: vsftpd: refusing to run with writable root inside chroot()

五、建立虛擬使用者名單檔案

touch /etc/vsftpd/virtusers

vi /etc/vsftpd/virtusers

web1

web2

web3

:wq! #儲存退出

六、生成虛擬使用者資料檔案

db_load -t -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

chmod 600 /etc/vsftpd/virtusers.db #設定pam驗證檔案,並指定對虛擬使用者資料庫檔案進行讀取

七、在/etc/pam.d/vsftpd的檔案頭部加入以下資訊(在後面加入無效)

修改前先備份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak

vi /etc/pam.d/vsftpd

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

注意:如果系統為32位,上面改為lib,否則配置失敗

八、新建系統使用者vsftpd,使用者目錄為/home/wwwroot, 使用者登入終端設為/bin/false(即使之不能登入系統)

useradd vsftpd -d /home/wwwroot -s /bin/false

chown vsftpd:vsftpd /home/wwwroot -r

chown www:www /home/wwwroot -r #如果虛擬使用者的宿主使用者為www,需要這樣設定。

九、建立虛擬使用者個人vsftp的配置檔案

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch web1 web2 web3 #這裡建立三個虛擬使用者配置檔案

vi web1 #編輯使用者web1配置檔案,其他的跟這個配置檔案類似

十、最後重啟vsftpd伺服器

systemctl restart vsftpd.service

備註:guest_username=vsftpd #指定虛擬使用者的宿主使用者(就是我們前面新建的使用者)

guest_username=www #如果ftp目錄是指向**根目錄,用來上傳**程式,可以指定虛擬使用者的宿主使用者為nginx執行賬戶www,可以避免很多許可權設定問題

把guest_username=www 新增進/etc/vsftpd/vconf/web1

注:字型標綠色的是ftp站點檔案用於www應用需要進行的操作

至此,centos 7.2安裝配置vsftp伺服器配置完成。

centOs7 2安裝Nginx並配置

一 安裝前準備 yum install yum utils 二 新增源 cd etc yum.repos.d cd到 etc yum.repos.d 目錄下 vim nginx.repo新建nginx.repo檔案 輸入以下內容 nginx stable name nginx stable repo...

CentOS 7 2 安裝教程

目錄 1.what is centos?介紹 特點 官網 2.download 製作u盤啟動 centos community enterprise operating system,中文意思是社群企業作業系統 是linux發行版之一,它是來自於red hat enterprise linux依照開...

centOS學習part4 安裝配置vsftp

上一章 我們完成了對遠端工具vnc的安裝配置,接下來我們將安裝另外乙個常用工具 vsftp。vsftp作為linux上最為常用的ftp工具,可以向我們提供各種ftp服務,以下我們將進行簡單的介紹。1 環境 作業系統 centos6.5 ftp服務 vsftp ftp訪問工具 cmd filezill...