在開始之前先開啟伺服器20、21埠,關閉selinux,然後重啟伺服器
# 加20、21埠
firewall-cmd --permanent --add-port=20/tcp
firewall-cmd --permanent --add-port=21/tcp
# 重啟防火牆
firewall-cmd --reload
# 檢視哪些埠開啟
firewall-cmd --list-port
# 檢視selinux(重啟伺服器生效)
vim /etc/selinux/config
selinux=enforcing 改為 selinux=disabled
#重啟伺服器
shutdown -r now
1.安裝vsftp
yum install -y vsftpd
2.設定 vsftpd 開機自啟動
systemctl enable vsftpd
3.啟動ftp
service vsftpd start
4.查詢ftp是否啟動
netstat -antup | grep ftp
結果展示:
tcp6 0 0 :::21 :::* listen 17011/vsftpd
5.建立使用者並繫結目錄和登陸許可權(後面要改使用者預設目錄記得修改許可權chmod 755 資料夾名稱)
useradd johnny -d /var/ftp/files -s /bin/nologin
6.設定使用者密碼
passwd johnny
7.備份並配置檔案
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
vim vsftpd.conf
8.配置檔案引數,如下
# example config file /etc/vsftpd/vsftpd.conf
#監聽埠號
listen_port=21
#設定埠20進行資料連線。
connect_from_port_20=yes
#不允許匿名訪問
anonymous_enable=no
#設定本地使用者可以訪問。注意:主要是為虛擬宿主使用者,如果該專案設定為no那麼所有虛擬使用者將無法訪問
local_enable=yes
#設定可以進行寫操作
write_enable=yes
# 檔案許可權=666(系統預設檔案許可權,8進製)-local_umask(許可權掩碼)=644(rw-r--r--)
# 目錄許可權=777(系統預設檔案許可權,8進製)-local_umask=755(rwxr-xr-x)
local_umask=022
#禁止匿名使用者
anon_upload_enable=no
anon_mkdir_write_enable=no
#使用者配置檔案目錄
user_config_dir=/etc/vsftpd/conf
#設定開啟目錄標語功能
dirmessage_enable=yes
#設定開啟日誌記錄功能
xferlog_enable=yes
#設定禁止上傳檔案更改宿主
chown_uploads=no
#設定vsftpd的服務日誌儲存路徑。注意,該檔案預設不存在。必須要手動touch出來,並且由於這裡更改了vsftpd的服務宿主使用者為手動建立的vsftpd。必須注意給與該使用者對日誌的寫入許可權,否則服務將啟動失敗。
#xferlog_file=/opt/log/vsftpd/vsftpd.log
#設定日誌使用標準的記錄格式
xferlog_std_format=yes
#設定空閒連線超時時間,這裡使用預設。將具體數值留給每個具體使用者具體指定,當然如果不指定的話,還是使用這裡的預設值600,單位秒
#idle_session_timeout=600
#資料連線超時時間
#data_connection_timeout=120
#設定支撐vsftpd服務的宿主使用者為手動建立的vsftpd使用者。注意,一旦做出更改宿主使用者後,必須注意一起與該服務相關的讀寫檔案的讀寫賦權問題。比如日誌檔案就必須給與該使用者寫入許可權等。
#nopriv_user=ftpsecure
#設定支援非同步傳輸功能
async_abor_enable=yes
ascii_upload_enable=yes
ascii_download_enable=yes
#設定vsftpd的登陸歡迎語
ftpd_banner=welcome to ftp service.
#設定vsftpd的登陸標語的檔案
#banner_file =/etc/vsftpd/banner
#允許chroot使用者寫入(cent 7需要新增)
allow_writeable_chroot=yes
#chroot_list檔案目錄
chroot_list_file=/etc/vsftpd/chroot_list
#條件1:chroot_list使用者預設登入到系統根目錄
chroot_list_enable=no
#條件2:chroot_list之外使用者預設登入到使用者目錄
chroot_local_user=yes
#條件1和條件2有4中組合,具體的內容可以去別的地方檢視,這裡的設定是所有使用者登入都只能在其使用者目錄下
#例如我們前面建立的使用者默人目錄在/var/ftp/files這裡,登入後的預設目錄就在這
#設定本地使用者登入後所在的目錄
#local_root=/var/ftp/files
#禁止使用者登陸ftp後使用"ls -r"的命令。該命令會對伺服器效能造成巨大開銷。如果該項被允許,那麼擋多使用者同時使用該命令時將會對該伺服器造成威脅。
ls_recurse_enable=no
#當為yes時,vsftpd將以單獨模式執行.這意味著vsftpd不必以某種inetd執行,而是可以直接執行.vsftpd執行後會自己偵聽和操作進入的連線
listen=yes
#類似listen選項,但該選項使vsftpd偵聽的位址為ipv6格式的
listen_ipv6=no
#設定,啟用pam認證,並指定認證檔名/etc/pam.d/vsftpd
pam_service_name=/etc/pam.d/vsftpd
#是否啟用user_list
userlist_enable=no
#user_list檔案路徑
userlist_file=/etc/vsftpd/user_list
#user_list使用者是(yes)否(no)被拒絕,yes黑名單 no白名單
userlist_deny=no
# 若是啟動這項功能,則必須提供乙個檔案/etc/vsftpd/banner_emails,內容為email address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許進入。預設值為no。
#deny_email_enable=no
# 此檔案用來輸入email address,只有在deny_email_enable=yes時,才會使用到此檔案。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許進入。
#banned_email_file=/etc/vsftpd/banned_emails
9. 因為前面建立的使用者沒有通過shell登入的授權,此處注釋掉pam_shells.so引數
vim /etc/pam.d/vsftpd
#%pam-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
10. 重啟ftp服務
service vsftpd restart
11. 登入ftp檢視效果
(1) 命令列登入
ftpopen 你的ip位址
輸入賬號和密碼
(2) 在我的電腦位址列輸入,根據提示輸入賬號密碼
ftp://你的ip位址
Centos7搭建FTP服務
yum y install vsftpd yum install ftp y vi etc vsftpd vsftpd.conf 部分介紹 anonymous enable yes 允許登入 anon upload enable yes 允許上傳 write enable yes 賦予寫許可權 an...
CentOS7搭建FTP服務
centos部署ftp yum install y vsftpd vi etc vsftpd vsftpd.conf anonymous enable no data connection timeout 300 chroot local user no allow writeable chroot...
centos7搭建ftp服務
vsftpd是linux下的一款小巧輕快,安全易用的ftp伺服器軟體,是一款在各個linux發行版中最受推崇的ftp伺服器軟體。yum y install vsftpduseradd ftpuserpasswd ftpuser因為ftp預設的埠為21,而centos預設是沒有開啟的,所以要修改ipt...