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