centos7 搭建FTP伺服器

2021-08-30 15:35:29 字數 1994 閱讀 6958

1:安裝vsftpd

yum install vsftpd -y

2:啟動vsftpd

service vsftpd start

加入開機啟動

chkconfig vsftpd on

啟動後可以看到系統監聽21埠

netstat -nltp | grep 21

3:vsftpd的檔案說明

vsftpd.conf: 主要配置檔案

ftpusers:配置禁止訪問ftp伺服器的使用者列表

user_list:配置使用者訪問控制

4:配置阻止匿名使用者訪問和切換根目錄

vi /etc/vsftpd/vsftp.conf

找到以下兩處並按下面的樣子修改

# 禁用匿名使用者

anonymous_enable=no

# 禁止切換根目錄

chroot_local_user=yes

#開啟以下配置

chroot_local_user=yes

chroot_list_enable=yes

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list     #如果沒有此檔案則建立此檔案,不需要新增內容

檔案末尾新增

allow_writeable_chroot=yes 

不新增此項,連線ftp伺服器的時候會報500 oor。。。。

5:建立ftp使用者

useradd ftpuser

為使用者設定密碼

echo "ftpuser123" | passwd ftpuser --stdin

6:限制上步建立的使用者只能通過ftp訪問

usermod -s /sbin/nologin ftpuser

7:為使用者分配主目錄

用以下命令建立,但是該目錄不能上傳檔案

mkdir -p /home/ftp/pub 

建立歡迎檔案

echo "welcome to use ftp service." > /home/ftp/welcome.txt

設定訪問許可權

chmod a-w /home/ftp && chmod 777 -r /home/ftp/pub

設定為使用者主目錄

usermod -d /home/ftp ftpuser

8:儲存後重啟vsftpd

service vsftpd restart

9:配置防火牆

在防火牆的配置檔案中開啟21埠,並重啟防火牆

上述步驟即可完成vsftpd搭建,但是客戶端只能通過主動模式訪問vsftpd,例如使用filezilla需要將傳輸模式的預設模式改為主動模式才能訪問ftp伺服器,如果發現可以正常登陸但是無法將目錄列出來,就是這個原因.如果需要直接可以訪問的話,需要將ftp伺服器開啟被動模式

有時還是顯示500 oops: cannot change directory:/home/ftp,執行setsebool  ftp_home_dir  on即可

1:修改配置檔案

vi /etc/vsftpd/vsftpd.conf

2:在末尾新增

pasv_enable=yes

pasv_min_port=30000

pasv_max_port=31000

3:重啟vsftpd並將上述的30000埠至31000埠開啟,

-a input -m state --state new -m tcp -p tcp --dport 30000:31000 -j accept

備註:過程雖然不難,但遇到的坑比較多,按照很多網上的文章進行配置,最後都是各種錯誤,剛開始是無法連線,發現沒有給使用者設定主目錄,

當找到問題後修改,可以連線上但是發現許可權不夠(忘記給目錄賦值許可權),而且竟然發現建立的使用者可以直接通過ssh連線到伺服器,這樣子就

失去了我想要的,安全性也大大降低了,總之問題很多,最頭疼的還是提示已經登陸但是無法將目錄展示出來,經過自己分析日誌發現是模式不對,

centos7 搭建ftp伺服器

本文採用最新的centos7 來學習搭建linux各種伺服器,今天分享的是搭建ftp伺服器 ps 不建議使用最新的系統去學習,因為系統發生了改變,好多以前的搭建伺服器的方法就不行了,比如說centos7將防火牆由iptables換為了firewall,再按照原來的教程去搭建就會遇到很多問題.當然如果...

CentOS7 搭建FTP伺服器

說明 我的環境安裝時centos最小化安裝,所有很多任務具和軟體都是沒有預設安裝的。群號 通過 yum y install vsftpd 進行安裝。安裝完後,有 etc vsftpd vsftpd.conf 檔案,該檔案是 vsftp 的配置檔案。在此我已ftpuser為例子 命令 useradd ...

centos7 搭建ftp伺服器

本文測試環境 1 centos 7 2 測試伺服器ip 111.230.247.206 1.1 安裝 vsftpd 使用yum安裝vsftpd yum install y vsftpd1.2 啟動 vsftpd 安裝完成後,啟動 ftp 服務 service vsftpd start 啟動後,可以看...