centos7.6下搭建vsftpd服务(ftp服务器)

本文详细介绍如何在Linux环境下使用VSFTPD搭建FTP服务器,包括安装、启动、配置及权限设置等步骤,确保Windows客户端能顺利访问并进行文件管理。
1、下载vsftpd
    yum -y install vsftpd*
2、查看安装路径和配置文件位置
    rpm -ql vsftpd|more
3、启动vsftpd服务器
    systemctl restart vsftpd.service
    或者:service vsftpd.service start
4、查看vsftpd服务是否起来
    ps -ef|grep vsftp
5、查看端口(21号端口)
    netstat -tunlp|grep 21
6、ifconfig查看linux的ip地址
    ifconfig查看后为:192.168.253.133
7、在windows下打开:ftp://192.168.253.133/,既可以看到刚刚创建的ftp服务器文件

如果在windows下打不开,提示错误:如下

,这时可以查看linux服务器的selinux状态:

[root@localhost pub]# getenforce 
Enforcing
[root@localhost pub]# setenforce 0
[root@localhost pub]# getenforce 
Permissive

,如果还是不行,看看防火墙,关掉即可:

[root@localhost ftp]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service

这时候在用  ftp://192.168.253.133/访问既可:

这时候可以查看 pub中的内容,但是无法编辑、新建、删除里面的内容。要想具有这些权限,需要修改vsftpd.conf配置文件中的内容如下:

[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf
anno_upload_enable = yes #允许匿名用户上传
anno_mkdir_enable = yes  #允许匿名用户创建目录
anno_other_write_enable = yes  #允许匿名用户其他权限

,然后重启服务:systemctl restart vsftpd.service即可。

在windows上创建个文件,然后查看:

发现:在windows上新建的文件名的属主属组均为ftp,所以上一步的修改权限也可以这么操作:

[root@localhost pub]# chown -R ftp pub/

 

如果此时需要限定特定用户对该文件有访问权限,可以添加账户

//添加两个用户,并设立密码
[root@localhost pub]# useradd shj1
[root@localhost pub]# useradd shj2
[root@localhost pub]#passwd shj1
[root@localhost pub]# passwd shj2 

然后修改vsftpd.conf配置文件中的anonymous_enable = NO,即可设置特定用户shj1,shj2访问。这时候他们如果创建新文件的话,新创建的文件在他们的家目录下(/home/shj1/、/home/shj2/),而不再在/var/ftp/pub了

<think> 我们面对的问题是在不联网的CentOS 7.6系统上安装FTP服务。由于不能联网,我们需要使用本地yum源(即使用系统安装光盘或ISO镜像)来安装软件包。 根据引用[1]和引用[4],我们可以设置本地yum源,然后使用yum命令安装FTP服务vsftpd)。 步骤概述: 1. 准备CentOS 7.6的ISO镜像文件,并挂载到系统目录(例如/mnt)。 2. 配置本地yum源,创建一个.repo文件(例如local.repo)并设置正确的参数(baseurl指向挂载目录)。 3. 清除yum缓存并创建新的缓存。 4. 使用yum命令安装vsftpdFTP服务器软件)。 5. 启动vsftpd服务并设置开机自启。 6. 配置防火墙允许FTP服务(如果防火墙开启)。 详细步骤: 步骤1:挂载ISO镜像 假设我们已将CentOS 7.6的ISO镜像文件上传到服务器(例如放在/root/CentOS-7.6-x86_64-DVD-1810.iso),然后挂载到/mnt目录: ```bash mkdir /mnt/iso # 如果不存在则创建 mount -o loop /root/CentOS-7.6-x86_64-DVD-1810.iso /mnt/iso ``` 注意:如果使用物理光盘,则放入光盘后,通常会自动挂载到/media目录,也可以手动挂载。 步骤2:配置本地yum源 进入yum源配置目录,备份原有配置(如果不需要可以不移除,但为了确保使用本地源,建议先备份再创建新的): ```bash cd /etc/yum.repos.d/ mkdir bak mv *.repo bak/ # 将原有的repo文件移动到bak目录 ``` 创建新的本地源配置文件,例如local.repo: ```bash vi local.repo ``` 输入以下内容(参考引用[1]和引用[4]): ``` [local] name=CentOS-Local baseurl=file:///mnt/iso # 这里写挂载目录 enabled=1 gpgcheck=0 ``` 保存退出。 步骤3:更新yum缓存 ```bash yum clean all # 清除缓存 yum makecache # 建立新的缓存 ``` 步骤4:安装vsftpd ```bash yum install vsftpd ``` 步骤5:启动服务并设置开机自启 ```bash systemctl start vsftpd systemctl enable vsftpd ``` 步骤6:配置防火墙(如果防火墙处于开启状态) 由于是不联网环境,防火墙可能关闭(如引用[3]中关闭了防火墙),但如果需要开启防火墙,则需要开放FTP端口: ```bash firewall-cmd --permanent --add-service=ftp firewall-cmd --reload ``` 或者,如果防火墙没有开启,可以忽略此步,也可以选择关闭防火墙(根据安全需求): ```bash systemctl stop firewalld systemctl disable firewalld ``` 步骤7:验证FTP服务 使用浏览器或FTP客户端访问ftp://服务器IP,或者本地使用命令: ```bash ftp localhost ``` 输入用户名和密码(注意:需要系统用户,可以先创建一个测试用户并设置密码)。 注意:默认配置下,vsftpd允许匿名访问(匿名用户名为ftp,密码为空)和本地用户登录。如果需要调整配置,可以编辑/etc/vsftpd/vsftpd.conf。 常见问题: 1. 如果遇到挂载问题,请确认ISO文件路径是否正确,以及挂载点是否存在。 2. 配置yum源时,baseurl的路径必须是挂载点的路径,且使用file://协议。 3. 如果安装过程中提示找不到包,请检查挂载的ISO是否包含了vsftpd包(一般在Package目录下),以及yum源配置是否正确。 引用[3]中提到关闭SELinux,如果安装后无法连接,可以临时关闭SELinux测试: ```bash setenforce 0 # 临时关闭 ``` 若要永久关闭,编辑/etc/selinux/config,设置SELINUX=disabled。 以上就是在不联网的CentOS 7.6系统上安装FTP服务的方法。 §§相关问题§§ 1. 如何创建本地yum源来安装其他软件? 2. 如何配置vsftpd以允许匿名上传文件? 3. 如何配置vsftpd使用被动模式? </think> ### 在不联网的CentOS 7.6系统上安装FTP服务的方法 以下是基于本地yum源的完整安装流程(无需联网): #### 1. **挂载系统ISO镜像** ```bash # 创建挂载目录 mkdir /mnt/iso # 挂载CentOS 7.6 ISO镜像(需提前上传ISO文件) mount -o loop /path/to/CentOS-7.6-x86_64-DVD-1810.iso /mnt/iso ``` #### 2. **配置本地yum源** ```bash vi /etc/yum.repos.d/local.repo ``` 写入以下内容(关键参数参考引用[1][4]): ```ini [local-ftp] name=CentOS-Local-FTP baseurl=file:///mnt/iso enabled=1 gpgcheck=0 ``` #### 3. **安装vsftpd服务** ```bash # 清除缓存并安装 yum clean all yum makecache yum install -y vsftpd ``` #### 4. **启动服务并设置防火墙** ```bash # 启动服务 systemctl start vsftpd systemctl enable vsftpd # 防火墙配置(若防火墙开启) firewall-cmd --permanent --add-service=ftp firewall-cmd --reload ``` #### 5. **基础配置(可选)** 编辑配置文件: ```bash vi /etc/vsftpd/vsftpd.conf ``` 常用配置项: ```ini anonymous_enable=YES # 允许匿名访问 local_enable=YES # 允许本地用户登录 write_enable=YES # 开放写权限 ``` #### 6. **重启服务生效** ```bash systemctl restart vsftpd ``` #### 7. **验证安装** ```bash # 检查服务状态 systemctl status vsftpd # 测试连接(本地测试) ftp localhost ``` > **关键说明** > 1. 必须确保ISO镜像版本与系统版本一致(CentOS 7.6) > 2. 若遇包依赖问题,可尝试 `yum install --downloadonly` 预先下载 > 3. SELinux需关闭或配置策略(参考引用[3])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值