centos7 配置ftp服務器搭建(匿名訪問,以及本地登錄)


大家好,今天來給大家分享一個基於centos 7的ftp服務器搭建

實現功能:匿名訪問,本地登錄

查看系統版本:

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

 

查看本地ip地址

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 240e:3a2:743:df40:bb08:8c86:f745:edd4 prefixlen 64 scopeid 0x0<global>
inet6 fe80::617f:ef93:80d4:e14e prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:87:af:a6 txqueuelen 1000 (Ethernet)
RX packets 50282 bytes 3247879 (3.0 MiB)
RX errors 0 dropped 922 overruns 0 frame 0
TX packets 6542 bytes 8519343 (8.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

我們連一下xshell   (遠程控制終端)

 

[C:\~]$ ssh 192.168.1.5


Connecting to 192.168.1.5:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Sat Oct 23 11:15:44 2021 from 192.168.1.2
[root@localhost ~]#

測試網絡:

 

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=54 time=10.0 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=54 time=9.79 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=54 time=7.52 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=54 time=8.06 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 22033ms
rtt min/avg/max/mdev = 7.523/8.862/10.065/1.094 ms

 

 

這樣的話,我們的服務器就可以上網了 (可使用網絡yum源)

 

 

接下來我們安裝vsftpd服務程序

 

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

進入vsftpd主目錄

 

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh      
[root@localhost vsftpd]#

 

將主配置文件內容當中#全部去掉

 

[root@localhost vsftpd]# cat vsftpd.conf |grep -v "#"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

 

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

這些是有效地配置文件,我們需要對它進行改動

 

對主配置文件改名為vsftpd.conf.bak

 

[root@localhost vsftpd]# mv vsftpd.conf vsftpd.conf.bak

 

查看

[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf.bak vsftpd_conf_migrate.sh

將vsftpd.conf.bak的#號過濾掉,將這個結果過濾到vsftp.conf

[root@localhost vsftpd]# cat vsftpd.conf.bak |grep -v "#" >vsftpd.conf

 

編輯vsftpd 主配置文件

 

[root@localhost vsftpd]# vim vsftpd.conf

anon_umask=022
anon_update_enable=YES
anon_nkdir_write_enable=YES
anon_other_write_enable=YES     //將這四行的配置文件加入vsftpd.conf,(實現匿名訪問)

 

 

 

 

如下

anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

:wq

保存退出

重啟ftp服務器:

[root@localhost vsftpd]# systemctl restart vsftpd

[root@localhost vsftpd]# systemctl enable vsftpd.service    //設置開機自啟動

Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost vsftpd]#

 

[root@localhost vsftpd]# systemctl stop firewalld       //關閉防火牆

 

 

 本地測試,顯示vsftpd服務器正常

 

 

 

[root@localhost vsftpd]# cd /var/ftp/
[root@localhost ftp]# ls
pub(本來就有的文件

[root@localhost ftp]#

 

 

 

[root@localhost ftp]# touch 123.txt       //創建文件123.txt
[root@localhost ftp]#

 

 

 

 

 

 

 

 

 

 

創建文件報錯,(權限不夠)

[root@localhost ftp]# chmod 777 pub/       //加權限

 

 

 

 

 

 

匿名用戶訪問成功

 

 

 

 

 

 

開始做本地用戶

 

 

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf      //編輯配置文件

 

anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES         //這是我們剛剛編輯的配置文件

 

 

 按箭頭去修改

 

改成:

 

 

 或者注釋掉這四行也是一樣的效果:

anonymous_enable=NO
#anon_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
#anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

編輯這個文件

[root@localhost vsftpd]# vim ftpusers

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

根據具體要求,刪掉你想登錄FTP服務的本地用戶。

例如,刪掉root。

 

# Users that are not allowed to login via ftp
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
~

 

[root@localhost vsftpd]# systemctl restart vsftpd       //重啟vsftpd 服務

 

 

 

 實驗成功。測試的時候,既可以用windows的文件搜索,也可以用第三方工具

 


免責聲明!

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



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