Centos7 配置ftp的詳細步驟。

2021-09-18 07:56:18 字數 4484 閱讀 1196

#安裝

yum install -y vsftpd

#設定開機啟動

systemctl enable vsftpd.service

#啟動systemctl start vsftpd.service

#停止systemctl stop vsftpd.service

#檢視狀態

systemctl status vsftpd.service

#開啟配置檔案

vim /etc/vsftpd/vsftpd.conf

#顯示行號

:set number

#修改配置 12 行

anonymous_enable=no

#修改配置 33 行

anon_mkdir_write_enable=yes

#修改配置48行

chown_uploads=yes

#修改配置72行

async_abor_enable=yes

#修改配置82行

ascii_upload_enable=yes

#修改配置83行

ascii_download_enable=yes

#修改配置86行

ftpd_banner=welcome to blah ftp service.

#修改配置100行

chroot_local_user=yes

#新增下列內容到vsftpd.conf末尾

use_localtime=yes

listen_port=21

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=40000

pasv_max_port=40010

accept_timeout=5

connect_timeout=1

allow_writeable_chroot=yes

#建立編輯使用者檔案
vim /etc/vsftpd/virtusers
#第一行為使用者名稱,第二行為密碼。不能使用root作為使用者名稱 

leo12345

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

#設定pam驗證檔案,並指定對虛擬使用者資料庫檔案進行讀取

chmod 600 /etc/vsftpd/virtusers.db

# 修改前先備份 

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

vi /etc/pam.d/vsftpd

#先將配置檔案中原有的 auth 及 account 的所有配置行均注釋掉
auth sufficient pam_userdb.so db=/etc/vsftpd/virtusers

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

auth required pam_userdb.so db=/etc/vsftpd/virtusers

account required pam_userdb.so db=/etc/vsftpd/virtusers

# 如果系統為32位,上面改為lib

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

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

chown -r vsftpd:vsftpd /home/vsftpd

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

#這裡建立虛擬使用者leo配置檔案

touch leo

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

vi leo

local_root=/home/vsftpd/leo/

write_enable=yes

anon_world_readable_only=no

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

#建立leo使用者根目錄

mkdir -p /home/vsftpd/leo/

iptables 的設定方式:

vi /etc/sysconfig/iptables

#編輯iptables檔案,新增如下內容,開啟21埠

-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 40000:40010 -j accept
firewall 的設定方式:
firewall-cmd --zone=public --add-service=ftp --permanent

firewall-cmd --zone=public --add-port=21/tcp --permanent

firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
systemctl restart vsftpd.service
500、503 、200等問題。這個時候,可以進行以下操作:

#開啟selinux配置檔案

vim /etc/selinux/config

#修改配置引數

#注釋

selinux=enforcing

#增加

selinux=disabled

#修改完成後,需要重啟!

setenforce 0 #暫時讓selinux進入permissive模式

#列出與ftp相關的設定

getsebool -a|grep ftp

#以下是顯示出來的許可權,off是關閉許可權,on是開啟許可權。不同的機器顯示的可能不一樣。我看了我的顯示的,和網上其他教程就不太一樣

#將包含有 ftp_home_dir 和 ftpd_full_access 相關的都設定為 1

setsebool -p ftp_home_dir 1

setsebool -p allow_ftpd_anon_write 1

setsebool -p ftp_home_dir 1

setenforce 1 #進入enforcing模式

setsebool -p ftpd_connect_all_unreserved 1
如果還是有問題嘗試給我們使用者的ftp目錄,設定一下操作許可權

chmod -r 775 /home/vsftpd/leo

centos7配置ftp服務

rpm qa grep vsftpd service iptables stop 關閉防火牆 安裝ftp yum install y vsftpd 解除安裝 rpm e vsftpd 啟動 bin systemctl start vsftpd.service 重啟 bin systemctl res...

CentOS7下的ftp配置

root host temp yum install ftp root host temp yum install vsftpd root host vim etc vsftpd vsftpd.conf listen port 21 root host vim etc services ftp 21...

CentOS 7 安裝配置FTP

安裝vsftpd yum install y vsftpd編輯ftp配置檔案 vi etc vsftpd vsftpd.conf anonymous enable no anonymous enable yes chroot local user yes 去掉前面的注釋 chroot list en...