首页 > 其他分享 >ftp服务配置

ftp服务配置

时间:2024-05-24 16:27:17浏览次数:40  
标签:ftp enable 服务 配置 vsftpd YES root localhost

一:FTP服务

1:安装

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm

[root@localhost ~]# systemctl start vsftpd

打开一个客户端,安装ftp客户端软件,并访问测试

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/ftp-0.17-67.el7.x86_64.rpm

[root@localhost ~]# ftp 192.168.10.101

2:查看vsftpd的配置文件

[root@localhost ~]# grep -v "#" /etc/vsftpd/vsftpd.conf

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

备注:

以下语句可以将#号开头的行删掉

[root@localhost ~]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf

二:匿名访问FTP服务

1:准备匿名FTP访问目录

[root@localhost ~]# touch /var/ftp/test

[root@localhost ~]# chown ftp /var/ftp/pub

[root@localhost ~]# chmod 755 /var/ftp/pub

[root@localhost ~]# ls -ld /var/ftp/pub

drwxr-xr-x. 2 ftp root 6 11月  6 2016 /var/ftp/pub

2:开放匿名用户

添加如下红色内容:

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=YES #是否启用匿名用户

no_anon_password=YES #匿名用户login时不询问口令

anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)上传权限

anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限

anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限

anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名

[root@localhost ~]# systemctl restart vsftpd

[root@localhost ~]# netstat -anpt | grep vsftpd

tcp6       0      0 :::21                   :::*                    LISTEN      16710/vsftpd

3:测试匿名FTP服务器

(1)测试访问

[root@localhost ~]# ftp 192.168.10.101

Connected to 192.168.10.101 (192.168.10.101).

220 (vsFTPd 3.0.2)

Name (192.168.10.101:root): ftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> dir

227 Entering Passive Mode (192,168,10,101,221,180).

150 Here comes the directory listing.

drwxr-xr-x    2 14       0               6 Nov 05  2016 pub

-rw-r--r--    1 0        0               0 May 20 02:14 test

-rw-r--r--    1 0        0               0 May 20 02:14 text

226 Directory send OK.

ftp> lcd /opt

Local directory now /opt

ftp> get test

local: test remote: test

227 Entering Passive Mode (192,168,10,101,141,88).

150 Opening BINARY mode data connection for test (0 bytes).

226 Transfer complete.

ftp> lcd /root

Local directory now /root

ftp> cd pub

250 Directory successfully changed.

ftp> put initial-setup-ks.cfg

local: initial-setup-ks.cfg remote: initial-setup-ks.cfg

200 PORT command successful. Consider using PASV.

150 Ok to send data.

226 Transfer complete.

1638 bytes sent in 0.00327 secs (501.22 Kbytes/sec)

ftp> quit

221 Goodbye.

(2)wget测试

[root@localhost ~]# wget ftp://192.168.10.101/pub/111

--2021-11-16 09:50:15--  ftp://192.168.10.101/pub/111

           => “111”

正在连接 192.168.10.101:21... 已连接。

正在以 anonymous 登录 ... 登录成功!

==> SYST ... 完成。   ==> PWD ... 完成。

==> TYPE I ... 完成。 ==> CWD (1) /pub ... 完成。

==> SIZE 111 ... 完成。

==> PASV ... 完成。   ==> RETR 111 ... 完成。

    [ <=>                                   ] 0           --.-K/s 用时 0s      

2021-11-16 09:50:15 (0.00 B/s) - “111” 已保存 [0]

4:用户验证的FTP服务

(1)本地用户验证配置

[root@localhost ~]# vi /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

chroot_local_user=yes

allow_writeable_chroot=yes

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 ~]# systemctl restart vsftpd

[root@localhost ~]# useradd zhangsan

[root@localhost ~]# passwd zhangsan

(2)客户端测试

[root@localhost ~]# touch aaa

[root@localhost ~]# ftp 192.168.10.101

Connected to 192.168.10.101 (192.168.10.101).

220 (vsFTPd 3.0.2)

Name (192.168.10.101:root): zhangsan

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> put aaa

local: aaa remote: aaa

227 Entering Passive Mode (192,168,10,101,114,218).

150 Ok to send data.

226 Transfer complete.

ftp> quit

221 Goodbye.

(3)开启root访问权限

默认root等内置的账户不许访问FTP服务

[root@localhost ~]# vi /etc/vsftpd/user_list

在root账号前价格注释符

#root

[root@localhost ~]# vi /etc/vsftpd/ftpusers

在root账号前价格注释符

#root

客户端用root账号登录测试

(4)使用user_list用户列表

[root@localhost ~]# vi /etc/vsftpd/user_list

添加几个账号

zhangsan

lisi

wangwu

[root@localhost ~]# vi /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

chroot_local_user=yes

allow_writeable_chroot=yes

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

userlist_deny=no

tcp_wrappers=YES

[root@localhost ~]# systemctl restart vsftpd

在客户端用列表中的账号登录(登录成功)

用列表中不存在的账号登录(无法登录)

5:其他配置

(1)修改监听地址与端口

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

    listen=YES

    listen_address=192.168.10.101     \\添加监听地址

listen_port=2121              \\添加监听端口

listen_ipv6=no

[root@localhost ~]# systemctl restart vsftpd

(2)客户端测试

[root@localhost ~]# ftp 192.168.10.101 2121

(3)使用ftp的被动模式

    pasv_enable=yes

    pasv_min_port=24500

    pasv_max_port=24600

[root@localhost ~]# systemctl restart vsftpd

注意:

ftp默认使用被动模式

如果用被动模式,是客户端向服务器发起数据连接,要保证服务器的防火墙是关闭的

如果用主动模式,是服务器向客户端发起数据连接,要保证客户端的防火墙是关闭的

扩展:

1:修改匿名用户的目录

注意:默认的ftp匿名用户的目录在/var/ftp下

[root@localhost ~]# mkdir -p /opt/ftp/myftp

[root@localhost ~]# chown ftp /opt/ftp/myftp

注释:在新版本(2.3.5的版本后)的ftp服务中,ftp的根目录不能有写的权限,对于匿名用户来说,需要在ftp根目录下创建一个文件夹,给这个文件夹写的权限即

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

添加以下字段:

anon_root=/opt/ftp

2:修改系统用户的ftp根目录

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

添加以下字段:

#anon_root=/opt/ftp

local_root=/opt/ftp

注释:在新版本(2.3.5的版本后)的ftp服务中,ftp的根目录不能有写的权限,对于系统用户来说,可以让系统用户对ftp根目录有写权限

[root@localhost ~]# chmod a+w /opt/ftp

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

添加以下字段:

local_root=/opt/ftp

chroot_local_user=yes

allow_writeable_chroot=yes

标签:ftp,enable,服务,配置,vsftpd,YES,root,localhost
From: https://blog.csdn.net/weixin_71499831/article/details/139177884

相关文章

  • DNS域名解析服务02
    一:分离解析1:实验环境部署1:为dns服务器添加两个网卡,并按上图设置各个主机的网络桥接DNS服务器的主机名设置为ns1ns1的ens33网卡的桥接不变(NAT模式)------->内网客户机192.168.10.106(NAT模式)ns1的ens36网卡桥接到仅主机模式------>外网客户机172.16.16.106,桥接为仅主机模式......
  • springcloud和dubbo分别调用controller层和service层是两种微服务架构的最大区别?
    许多讨论微服务架构中springcloud和dubbo区别的文章中,主要强调dubbo只是springcloud的子集,只是服务治理工具,不是完整解决方案。但是看了一下两者,感觉完全无法兼容,理念完全不同啊。springboot开发的典型应用目录如下:分Controller、service接口、Serviceimpl实现、dao等层次。1、s......
  • 来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析
    背景介绍前面介绍过有道QAnything源码解析,通过深入了解工业界的知识库RAG服务,得到了不少调优RAG服务的新想法。因此本次趁热打铁,额外花费一点时间,深入研究了另一个火热的开源RAG服务RagFlow的完整实现流程,希望同样有所收获。项目概述框架设计首先依旧可以先......
  • 隐藏服务器 IP 很重要,但封堵泄露服务器 IP 的环节更重要
    明月一直都在提倡博客网站要注意隐藏服务器真实IP的观点,主要是明月自己的经历太深刻了,服务器真实IP泄露造成的后果损失是无法估量的,甚至往往会带来毁灭性的后果都不是不可能。比如: DDos/CC攻击、刷流量、后门植入、恶意扫描、漏洞入侵等等很多不可预料的危害。当然,隐藏服......
  • nodejs安装及环境配置
    Node.js的安装及环境配置可以遵循以下步骤:一、Node.js的安装访问Node.js的官方网站(https://nodejs.org/en/),下载对应你操作系统的Node.js安装包。找到下载的安装包目录,双击进行安装。在安装过程中,接受用户协议,选择安装的位置(最好是英文路径,不要有空格)。选择安装项,一般选择......
  • Risc-V 移植 ssh 与 sftp 记录
    Risc-V移植ssh与sftp记录关于Risc-V  天下苦intel久矣,而ARM的授权费也不低,导致市面上的SOC要么都很贵,要么厂家和品类没那么丰富,全志、ST、TI、RK、晶晨、海思、高通、联发科。。。都是中大规模的公司,小厂做不了,感觉限制了它的发展。  后来出了个Risc-V指令......
  • Zabbix04-zabbix邮件报警配置
    zabbix通过mailx报警配置cat<<EOF>> ~/163_alert_conf.sh#!/bin/bashCERT_DIR=/home/zabbix/.certsmkdir-p/home/zabbix/.certschown-Rzabbix.zabbix/home/zabbix/echo-n|openssls_client-connectsmtp.163.com:465|sed-ne'/-BEGINCERTIFICA......
  • 【2024年电工杯A题】园区微电网风光储协调优化配置(思路、代码......)
    ......
  • 【2024年电工杯A题】园区微电网风光储协调优化配置(思路、代码......)
    ......
  • 参数和配置管理:argparse 和 Hydra
    目录参数和配置管理:argparse和Hydraargparse特点示例Hydra特点示例主要区别选择建议参数和配置管理:argparse和Hydraargparse和Hydra是两个用于处理命令行参数和配置管理的Python库。虽然它们都可以用于解析命令行参数,但它们的设计目标和功能有很大的不同。以下是这两个库......