CentOS7安裝配置vsftp搭建FTP

為什么要安裝配置vsftpd做FTP服務(wù)?
其實(shí)是考慮到可能需要給其他人修改內(nèi)容,總不能給個(gè)最高權(quán)限的就給別人,于是就自己琢磨著弄了下vsftpd,記錄一下安裝配置過程。

安裝

在安裝前查看是否已安裝vsftpd

** 查看是否已安裝 方法一 **

[root@localhost ~]# rpm -q vsftpd

vsftpd-3.0.2-21.el7.x86_64

** 查看是否已安裝 方法二 **

[root@localhost ~]# vsftpd -v

vsftpd: version 3.0.2

** 安裝 vsftpd **

[root@localhost ~]# yum -y install vsftpd

查看位置

[root@localhost ~]# whereis vsftpd

vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

啟動(dòng)vsftpd服務(wù)

systemctl start vsftpd.service

// 在centos7以下的版本使用的是service vsftpd start

同時(shí),你需要把vsftpd服務(wù)添加進(jìn)系統(tǒng)的啟動(dòng)項(xiàng)中(不然重啟又得開一次ww

systemctl enable vsftpd.service

// 在centos7以下的版本使用的是chkconfig vsftpd on

不確定是否添加進(jìn)系統(tǒng)啟動(dòng)項(xiàng),可以使用systemctl list-unit-files
過濾查詢可以systemctl list-unit-files | grep [服務(wù)名]

更多CentOS7與中systemctl的使用與7之前版本的對(duì)比可以看這個(gè)

https://www.cnblogs.com/shanwater/p/6847196.html

關(guān)閉firewall和SELinux

setenforce 0 // 設(shè)置SELinux 成為permissive模式 (關(guān)閉SELinux)

setenforce 1 // 設(shè)置SELinux 成為enforcing模式 (開啟SELinux)

systemctl stop firewalld.service
//停止firewall

systemctl disable firewalld.service
//禁止firewall開機(jī)啟動(dòng)

*關(guān)閉的原因是一般系統(tǒng)中默認(rèn)開啟了防火墻,SELinux也處于啟動(dòng)狀態(tài),一般狀態(tài)為enforing。致使很多服務(wù)端口默認(rèn)是關(guān)閉的。有可能導(dǎo)致配置明明正確卻無法正常使用(然后你就找半天找不出原因

如果你不愿意關(guān)閉防火墻,需要防火墻添加FTP服務(wù)。

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --reload

ps:在服務(wù)器的安全組設(shè)置中放開端口應(yīng)該也是可以的(大概,我也沒試過

配置

** 配置文件/etc/vsftpd/vsftpd.conf修改配置文件(重要步驟) **

anonymous_enable=NO // 不允許匿名訪問,禁用匿名登錄

chroot_local_user=YES // 啟用限定用戶在其主目錄下

use_localtime=YES // 使用本地時(shí)(自行添加)

chroot_list_enable=YES

local_enable=YES // 允許使用本地帳戶進(jìn)行FTP用戶登錄驗(yàn)證

allow_writeable_chroot=YES // 如果啟用了限定用戶在其主目錄下需要添加這個(gè)配置,解決報(bào)錯(cuò) 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

xferlog_enable=YES // 啟用上傳和下載的日志功能,默認(rèn)開啟。

local_umask=022 // 設(shè)置本地用戶默認(rèn)文件掩碼022

// FTP上本地的文件權(quán)限,默認(rèn)是077,不過vsftpd安裝后的配置文件里默認(rèn)是022

很多人配置ftp最后用戶沒有權(quán)限和這里的步驟有關(guān)系(不要問我怎么知道的)

當(dāng)virtual_use_local_privs=YES 時(shí),虛擬用戶和本地用戶有相同的權(quán)限;虛擬用戶高級(jí)參數(shù)

  • 當(dāng)virtual_use_local_privs=NO 時(shí),虛擬用戶和匿名用戶有相同的權(quán)限,默認(rèn)是NO。

  • 當(dāng)virtual_use_local_privs=YES,write_enable=YES時(shí),虛擬用戶具有寫權(quán)限(上傳、下載、刪除、重命名)。

  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES時(shí),虛擬用戶不能瀏覽目錄,只能上傳文件,無其他權(quán)限。

  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO時(shí),虛擬用戶只能下載文件,無其他權(quán)限。

  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES時(shí),虛擬用戶只能上傳和下載文件,無其他權(quán)限。

  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES時(shí),虛擬用戶只能下載文件和創(chuàng)建文件夾,無其他權(quán)限。

  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES時(shí),虛擬用戶只能下載、刪除和重命名文件,無其他權(quán)限。

多用戶配置

多用戶配置需要自己手工添加配置,下面內(nèi)容到vsftpd.conf末尾

use_localtime=YES // 使用本地時(shí)(自行添加)

listen_port=21

chroot_local_user=YES // 啟用限定用戶在其主目錄下

idle_session_timeout=300

data_connection_timeout=120 // 數(shù)據(jù)連接超時(shí)時(shí)間

guest_enable=YES // 設(shè)定啟用虛擬用戶功能

guest_username=ftpuser // 指定虛擬用戶的宿主用戶 ftpuser(就是我們后面會(huì)新建這個(gè)用戶)

// guest_username=www

// 如果ftp目錄是指向網(wǎng)站根目錄,用來上傳網(wǎng)站程序

// 可以指定虛擬用戶的宿主用戶為nginx運(yùn)行賬戶www,可以避免很多權(quán)限設(shè)置問題

//這方面自行百度

user_config_dir=/etc/vsftpd/vuser_conf // 虛擬用戶配置文件目錄
virtual_use_local_privs=YES // NO時(shí),虛擬用戶和匿名用戶有相同的權(quán)限,默認(rèn)是NO

pasv_min_port=10060 // 被動(dòng)模式最小端口號(hào)10060

pasv_max_port=10090 // 被動(dòng)模式最大端口號(hào)10090

accept_timeout=5

connect_timeout=1

創(chuàng)建宿主用戶

// 方法一(我用的是這個(gè))

// 創(chuàng)建用戶 ftpuser 指定 /home/vsftpd 目錄

useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser

// 設(shè)置用戶 ftpuser 的密碼

passwd ftpuser

// 把 /home/vsftpd 的所有權(quán)給ftpuser.root

chown -R ftpuser.root /home/vsftpd

// 注意不要漏了,沒設(shè)置好的話新建的用戶就沒權(quán)限了

// 方法二(沒用過,有興趣的可以自己嘗試)

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

chown ftpuser:ftpuser /home/vsftpd -R

// 如果虛擬用戶的宿主用戶為www,需要這樣設(shè)置

// www目錄是你應(yīng)用的目錄

chown www:www /home/www -R

最后重啟vsftpd服務(wù)器

systemctl restart vsftpd.service

然后,剛剛創(chuàng)建的用戶就可以登錄ftp了

關(guān)于服務(wù)運(yùn)維

systemctl restart vsftpd.service # 重啟服務(wù)

systemctl start vsftpd.service # 啟動(dòng)服務(wù)

systemctl status vsftpd.service # 服務(wù)狀態(tài)查看

關(guān)于一些虛擬用戶與目錄設(shè)置相關(guān)等更詳細(xì)內(nèi)容,可以查看

http://blog.51cto.com/11728495/2057661?utm_source=oschina-app


我創(chuàng)建的用戶需要的權(quán)限是能正常修改內(nèi)容,但是是限定那個(gè)目錄下的,不能到達(dá)上一層目錄

如果需要設(shè)置別的不同權(quán)限,可以根據(jù)上面的舉一反三一下啦~

有問題可以留言,雖然我不一定懂(大概?),也許能交流出答案~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vsftpd配置文件詳解 1.默認(rèn)配置: a.允許匿名用戶和本地用戶登陸。 anonymous_enable=YE...
    指間_流年閱讀 9,417評(píng)論 0 2
  • 1.FTP簡(jiǎn)介 File Transfer Protocol 早期的三個(gè)應(yīng)用級(jí)協(xié)議之一? 基于C/S結(jié)構(gòu)? 雙通道...
    尛尛大尹閱讀 2,665評(píng)論 0 0
  • 圖片更清晰,文字在最下面 FTP是TCP/IP的一種應(yīng)用,使用TCP而不是UDP,所以是可靠的,面向連接的。 FT...
    停下浮躁的心閱讀 1,814評(píng)論 0 4
  • 昨晚自己一間睡得超好 終于補(bǔ)回來前幾天的疲勞 然而今天更加勞累 早上出發(fā)開到大觀景臺(tái) 面對(duì)著從右向左大姑娘一直到四...
    潘語閱讀 407評(píng)論 0 3
  • 高中的時(shí)候,我喜歡看閑書,郭敬明、韓寒、饒雪漫,課間或者晚自習(xí),借了書偷偷地看,書因?yàn)槭墙鑴e人的,所以更要爭(zhēng)分奪秒...
    柳青桐閱讀 879評(píng)論 5 7

友情鏈接更多精彩內(nèi)容