1. 程式人生 > >Centos7 安裝 ftp伺服器 --失敗了 媽蛋的

Centos7 安裝 ftp伺服器 --失敗了 媽蛋的

一、準備安裝


1.檢視當前是否安裝

# rpm -q  vsftpd

package vsftpd is not installed (顯示沒有安裝)

 

二、安裝


# yum install vsftpd -y (開始安裝)

# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

# systemctl status vsftpd.service (檢視vsftpd服務的狀態)

 

三、配置 


1.先備份配置檔案,怕改錯了

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

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
 

四 、建立使用者檔案


1.格式:第一行使用者名稱,第二行密碼,不能使用root為使用者名稱 

建立使用者檔案

vi  /etc/vsftpd/virtusersvirtusers 

  

我建立的 兩個使用者名稱和密碼  大家隨意

 

五、生成使用者資料檔案


1.先確定你是否有 db_load 的命令

# rpm -q db

package db is not installed

2.查詢符合你Centos7 的版本

#  yun search db4 

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
============================================ N/S matched: db4 =============================================
compat-db47.i686 : The Berkeley DB database 4.7.25 compatibility library
compat-db47.x86_64 : The Berkeley DB database 4.7.25 compatibility library(符合我得64位

3.安裝db

# yum install -y compat-db47.x86_64

4.生成 db檔案

 # db_load -T -t hash -f virtusers virtusers.db

5: 設定PAM驗證檔案,並指定對虛擬使用者資料庫檔案進行讀取 
# chmod 600 /etc/vsftpd/virtusers.db (許可權r,w即可)

 

六、/etc/pam.d/vsftpd檔案


1.修改前還是先備份檔案,以免發生錯誤沒發恢復

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

2.修改  vsftpd

# vi /etc/pam.d/vsftpd

將auth及account的所有配置行均註釋掉
在裡面新增這兩句話

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

 

七、新建系統使用者vsftpd,使用者目錄為/home/vsftpd


1.先在家目錄下建立vsftpd資料夾,這也是我們訪問的空間

# mkdir -p /home/vsftpd

2.使用者登入終端設為/bin/false(即:使之不能登入系統)

useradd vsftpd -d/home/vsftpd -s /bin/false: ---沒執行成功 我沒有理解什麼意思
chown -R vsftpd:vsftpd /home/vsftpd

 

八、建立虛擬使用者個人配置檔案


# mkdir /etc/vsftpd/vconf

# cd/etc/vsftpd/vconf
這裡建立兩個虛擬使用者配合檔案

# touch test1 test2

建立使用者根目錄

# mkdir -p /home/vsftpd/test1/

編輯test使用者配置檔案,內容如下,其他使用者類似

# vim test1

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
 

九 、防火牆設定


如果系統啟用了防火牆和SELinux,那麼還要做以下配置(預設情況下centos7是使用firewall和selinux的,不在使用iptables)
防火牆新增FTP服務:

# firewall-cmd --permanent --zone=public --add-service=ftp

# firewall-cmd --reload

設定SELinux:

# getsebool -a | grep ftp

# setsebool -P ftpd_full_access on

 

十、重啟vsftpd伺服器


# systemctl stop vsftpd.service

# systemctl start vsftpd.service

Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

# systemctl status vsftpd.service
 

媽蛋 失敗了。。。。。。。。。。。。。。。。。。。。。。。