Centos7安裝搭建FTP伺服器(親測可用)

2021-09-24 11:46:36 字數 3235 閱讀 2168

centos7安裝搭建ftp伺服器(親測可用)

簡介:vsftpd 是「very secure ftp daemon」的縮寫,安全性是它的乙個最大的特點。

vsftpd 是乙個 unix 類作業系統上執行的伺服器的名字,它可以執行在諸如 linux、bsd、solaris、 hp-unix等系統上面,是乙個完全免費的、開放源**的ftp伺服器軟體,支援很多其他的 ftp 伺服器所不支援的特徵。

比如:非常高的安全性需求、頻寬限制、良好的可伸縮性、可建立虛擬使用者、支援ipv6、速率高等。

vsftpd是一款在linux發行版中最受推崇的ftp伺服器程式。特點是小巧輕快,安全易用。

特點:①vsftpd 是以一般身份啟動服務,所以對於 linux 系統的使用許可權較低,對於linux 系統的危害就相對的減低了。此外, vsftpd 亦利用 chroot() 這個函式進行改換根目錄的動作,使得系統工具不會被vsftpd 這支服務所誤用;

②任何需要具有較高執行許可權的 vsftpd 指令均以一支特殊的上層程式( parent process ) 所控制 ,該上層程式享有的較高執行許可權功能已經被限制的相當的低,並以不影響linux 本身的系統為準;

③所有來自 clients 端,想要使用這支上層程式所提供的較高執行許可權之vsftpd 指令的需求,均被視為『不可信任的要求』來處理,必需要經過相當程度的身份確認後,方可利用該上層程式的功能。例如chown(), login 的要求等等動作;

④此外,上面提到的上層程式中,依然使用 chroot() 的功能來限制使用者的執行許可權。

1.安裝vsftpd

環境:centos 7

vsftpd版本:vsftpd.x86_64 0:3.0.2-25.el7 1.1執行yum命令安裝:

[root@sungeek ~]# yum -y install vsftpd1.2.修改配置檔案

按照下面修改配置檔案

[root@sungeek ~]# cd /etc/vsftpd

[root@sungeek ~]# vim vsftpd.conf

#是否允許匿名,預設no

anonymous_enable=no

#這個設定值必須要為yes 時,在/etc/passwd內的賬號才能以實體使用者的方式登入我們的vsftpd主機

local_enable=yes

#具有寫許可權

write_enable=yes

#本地使用者建立檔案或目錄的掩碼

local_umask=022

#當dirmessage_enable=yes時,可以設定這個專案來讓vsftpd尋找該檔案來顯示訊息!您也可以設定其它檔名!

dirmessage_enable=yes

#開啟20埠

connect_from_port_20=yes

#通過搭配能實現以下幾種效果:

①當chroot_list_enable=yes,chroot_local_user=yes時,在/etc/vsftpd.chroot_list檔案中列出的使用者,可以切換到其他目錄;未在檔案中列出的使用者,不能切換到其他目錄。

②當chroot_list_enable=yes,chroot_local_user=no時,

在/etc/vsftpd.chroot_list檔案中列出的使用者,不能切換到其他目錄;未在檔案中列出的使用者,可以切換到其他目錄。

③當chroot_list_enable=no,

chroot_local_user=yes時,所有的使用者均不能切換到其他目錄。

④當chroot_list_enable=no,

chroot_local_user=no時,所有的使用者均可以切換到其他目錄。

chroot_local_user=yes

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd/chroot_list

#這個是pam模組的名稱,我們放置在/etc/pam.d/vsftpd

pam_service_name=vsftpd

#不新增下面這個會報錯:500 oops: vsftpd: refusing to run with writable root inside chroot()

allow_writeable_chroot=yes

#ftp的埠號

listen_port=60021

#啟動被動式聯機(passivemode)

pasv_enable=yes

#上面兩個是與passive mode 使用的 port number 有關,如果您想要使用65400 到65410 這 11 個 port 來進行被動式資料的連線,可以這樣設定

pasv_min_port=65400

pasv_max_port=65410

#ftp訪問目錄

local_root=/data/ftp/

2.建立ftp使用者

新增ftp使用者命令:useradd ***

設定ftp使用者密碼:passwd ***

[root@sungeek vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser

[root@sungeek vsftpd]# passwd ftpuser

檢視ftp使用者是否設定不能通過ssh登入,只能使用ftp

[root@sungeek vsftpd]# vim /etc/passwd

找到建立的使用者把/bin/bash修改為/sbin/nologin

設定使用者訪問許可權:

[root@sungeek vsftpd]# chown -r ftpuser /data/ftp3.設定vsftpd服務開機啟動

[root@sungeek ~]# systemctl enable vsftpd.service

4.啟動暫停檢視服務狀態命令

[root@sungeek ~]# systemctl start vsftpd.service

[root@sungeek ~]# systemctl status vsftpd.service

5.安裝ftp客戶端驗證能否連線隨便用乙個ftp客戶端訪問測試是否連線成功即可!我用的是filezilla client

補充:埠號為60021

響應: 553 could not create file.

1、檢查資料夾是否設定了讀寫許可權

2、關掉防火牆 (systemctl stop firewalld)

3、selinux限制了,把selinux關掉就可以了。(setenforce 0)

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...