1. 程式人生 > >CentOS7種搭建FTP服務器

CentOS7種搭建FTP服務器

data 備份 不能 完成後 system acc onf install session

1.安裝vsftpd

#首先要查看你是否安裝vsftp

 [root@localhost /]# rpm -q vsftpd

vsftpd-3.0.2-10.el7.x86_64 (顯示也就安裝成功了!)

#如果沒有則安裝vsftpd

[root@localhost/]# yum  install -y  vsftpd

#完成後再檢查一遍

 [root@localhost /]# whereis  vsftpd

vsftpd:/usr/sbin/vsftpd /etc/vsftpd/usr/share/man/man8/vsftpd

#查看vsftpd服務的狀態

 [root@localhost /]# systemctl statusvsftpd.service

(如果是激活狀態的話會有active綠色的標記)

#激活vsftpd服務

 [root@localhost /]# systemctl startvsftpd.service

#設置vsftpd服務開機自啟

     [root@localhost /]#systemctl enablevsftpd.service
  1. 配置vsftpd.conf

#首先備份配置文件(必須要備份,以免出現意外時恢復。)

cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak

#執行以下命令(sed -i 命令相當於直接修改原文件)

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 toFTP service./g"‘/etc/vsftpd/vsftpd.conf‘

(其實你也可以直接使用

vim /etc/vsftpd/vsftpd.conf 進入配置文件修改如下

        anonymous_enable=NO  # 禁用匿名登錄

        ascii_upload_enable=YES

     ascii_download_enable=YES

     chroot_local_user=YES  # 啟用限定用戶在其主目錄下

)

#之後添加下列內容到vsftpd.conf末尾

use_localtime=YES

listen_port=21

chroot_local_user=YES

idle_session_timeout=300

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/vconf

data_connection_timeout=1

virtual_use_local_privs=YES

pasv_min_port=10060

pasv_max_port=10090

accept_timeout=5

connect_timeout=1

3.建立用戶文件

#第一行用戶名,第二行密碼,不能使用root為用戶名

vim /etc/vsftpd/virtusers

添加內容

test

123456

liu

123456

4.生成用戶數據文件

首先你需要確定你是否有db_load這個命令

rpm –q  db

安裝之前先查詢一下

yum  search db4

安裝

yum install-y compat-db47.x86_64 (以你的機器為準)

生成db文件

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

#設定PAM驗證文件,並指定對虛擬用戶數據庫文件進行讀取

chmod600/etc/vsftpd/virtusers.db   (權限r,w即可)

5. 修改/etc/pam.d/vsftpd文件

修改前先備份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

將auth及account的所有配置行均註釋掉

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位,上面lib64改為lib

6.新建系統用戶vsftpd,用戶目錄為/home/vsftpd

#先在家目錄下建立vsftpd文件夾,這也是我們訪問的空間

mkdir -p /home/vsftpd

#用戶登錄終端設為/bin/false(即:使之不能登錄系統)

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

chown -R vsftpd:vsftpd /home/vsftpd

7.建立虛擬用戶個人配置文件

mkdir /etc/vsftpd/vconf

cd/etc/vsftpd/vconf

#這裏建立兩個虛擬用戶配合文件

touch test liu

#建立用戶根目錄

mkdir -p /home/vsftpd/test/

#編輯test用戶配置文件,內容如下,其他用戶類似

vi test

local_root=/home/vsftpd/test/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

8.防火墻設置(centos 7)

#如果系統啟用了防火墻和SELinux,那麽還要做以下配置(默認情況下centos7是使用firewall和selinux的,不在使用iptables)

#防火墻添加FTP服務:

[root@localhost vsftpd]#firewall-cmd --permanent --zone=public --add-service=ftp

[root@localhost vsftpd]#firewall-cmd --reload

#設置SELinux:

[root@localhost vsftpd]#getsebool -a | grep ftp

[root@localhost vsftpd]#setsebool -P ftpd_full_access on
  1. 重啟vsftpd服務器

    [root@localhostchris]# systemctl stop  vsftpd.service
    
    [root@localhostchris]# systemctl start  vsftpd.service

    [root@localhostchris]# systemctl status vsftpd.service

  2. 在/home/vsftpd/test/下面件幾個文件夾做測試

    mkdir /home/vsftpd/test/test{1..5}

  3. 在瀏覽器或者我的電腦裏輸入ftp://192.168.163.126(局域網)測試

CentOS7種搭建FTP服務器