CentOS 8 安裝vsftpd 服務器


1、CentOS卸載vsftpd的方法

如果服務器上已經安裝了vsftpd服務,配置出錯需要卸載vsftpd服務。

1.1 查找vsftpd服務

[root@localhost /]# rpm -aq vsftpd

返回結果顯示:

vsftpd-3.0.2-21.el7.x86_64 #此處是查找vsftpd的返回結果

表示此服務期之前已經安裝過vsftpd服務。

1.2 刪除查找到的vsftpd服務

注:在卸載vsftpd之前,先停止vsftpd

[root@localhost /]# /sbin/service vsftpd stop

卸載vsftpd:

[root@localhost /]# rpm -e vsftpd-3.0.2-21.el7.x86_64

返回結果顯示:

warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave #刪除時將備份vsftp的用戶列表文件

1.3 輸入驗證命令,驗證vsftpd服務是否已經刪除

[root@localhost /]# /sbin/service vsftpd stop

Redirecting to /bin/systemctl stop vsftpd.service

Failed to stop vsftpd.service: Unit vsftpd.service not loaded. #找不到vsftpd

[root@localhost /]# /sbin/service vsftpd start

Redirecting to /bin/systemctl start vsftpd.service

Failed to start vsftpd.service: Unit not found. #找不到vsftpd

如果輸入以上兩個命令都顯示找不到vsftpd服務的話,那就證明已經卸載成功。

2、安裝vsftpd組件

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

2.1 啟動ftp

[root@localhost home]# systemctl start vsftpd.service

2.2 放開21端口

[root@localhost /]# firewall-cmd --zone=public --add-port=21/tcp --permanent

[root@localhost /]# firewall-cmd --reload

3、vsftpd服務的詳細配置

3.1 關閉匿名用戶

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf

在vsftpd.conf配置文件中修改以下三項:

anonymous_enable=NO

#anon_upload_enable=YES

#anon_mkdir_write_enable=YES

然后重啟ftp服務:

[root@localhost vsftpd]# systemctl restart vsftpd.service

通過配置重啟之后,匿名用戶不可以登錄了。

3.2 建立ftp虛擬宿主賬戶

新建一個不能登錄系統用戶. 只用來登錄ftp服務 ,這里如果沒設置用戶目錄。默認是在home下:

[root@localhost vsftpd]# useradd ftpuser -s /sbin/nologin

為ftpuser用戶設置密碼:

[root@localhost /]# passwd ftpuser

3.3 查看ftp的狀態

[root@localhost /]# getsebool -a|grep ftp

顯示結果:

ftpd_anon_write --> off

ftpd_connect_all_unreserved --> off

ftpd_connect_db --> off

ftpd_full_access --> off

ftpd_use_cifs --> off

ftpd_use_fusefs --> off

ftpd_use_nfs --> off

ftpd_use_passive_mode --> off

httpd_can_connect_ftp --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

tftp_home_dir --> off

將上面紅色兩項狀態設置為on:

[root@localhost vsftpd]# setsebool -P allow_ftpd_full_access on

[root@localhost vsftpd]# setsebool -P tftp_home_dir on

3.4 配置vsftpd.conf

限制系統用戶鎖定在/home/ftpuser目錄

如果設置為

chroot_local_user=YES

chroot_list_enable=YES(這行可以沒有, 也可以有)

chroot_list_file=/etc/vsftpd.chroot_list

那么, 凡是加在文件vsftpd.chroot_list中的用戶都是不受限止的用戶

即, 可以瀏覽其主目錄的上級目錄.

 

所以, 如果不希望某用戶能夠瀏覽其主目錄上級目錄中的內容,可以如上設置, 然后在

文件vsftpd.chroot_list中不添加該用戶即可(此時, 在該文件中的用戶都是可以瀏覽其主目錄之外的目錄的).

或者, 設置如下

chroot_local_user=NO

chroot_list_enable=YES(這行必須要有, 否則文件vsftpd.chroot_list不會起作用)

chroot_list_file=/etc/vsftpd.chroot_list

然后把所有不希望有這種瀏覽其主目錄之上的各目錄權限的用戶添加到文件vsftpd.chroot_list(此時, 在該文件中的用戶都是不可以瀏覽其主目錄之外的目錄的)

中即可(一行一個用戶名).

   

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf

這里有兩種方案,我采用第二種,配置如下:

chroot_local_user=NO

chroot_list_enable=YES #(這行必須要有, 否則文件vsftpd.chroot_list不會起作用)

chroot_list_file=/etc/vsftpd/chroot_list

默認chroot_list是不存在的

[root@localhost vsftpd]# vim /etc/vsftpd/chroot_list

然后加入 ftpuser ,表示只有ftpuser不能訪問上級目錄,重啟vsftpd。

3.5 修改權限

修改/home/ftpuser 的權限為不可寫

[root@localhost vsftpd]# chmod a-w /home/ftpuser/taotao

這是因為我們在上面將/home/ftpuser/taotao文件的權限改為不可寫了,那么我們在這個目錄下創建一個images文件夾,用來上傳文件。並將權限賦值給 ftpuser 用戶

[root@localhost taotao]# mkdir images

[root@localhost images]# chown ftpuser images

4、開啟PASV(被動模式)

在 /etc/vsftpd/vsftpd.conf 的最下面加入

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=30999

並且在userlist_enable=YES文件后面添加

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

開啟防火牆:

[root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent

[root@localhost taotao]# firewall-cmd --reload

這樣就可以使用ftp服務器上傳文件了。

轉載自:https://www.linuxidc.com/Linux/2017-08/146085.htm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM