CentOS 7 firewalld vsftpd开放端口

本文记录了在CentOS7环境下配置FTP服务的过程及遇到的问题。作者分享了因防火墙导致无法连接FTP服务的经历,并提供了开启及永久开启FTP端口的详细步骤。

闲来无事想研究下FTP服务,使用的是CentOS 7,在网上到处找教程,安装好了以后就是连接不上,各种卸载重装配置不堪回首。最后一怒之下直接把防火墙关了,结果居然通了,然后上网上专门搜了下Firewalld如何开放FTP端口。
  
以下为原本已开放端口,但是连接不上,开放FTP端口后也不知道这些开放的端口还有没有用,也懒得关闭了,反正是自己玩玩的。
已开放端口

开放FTP端口的方法:
暂时开放 ftp 服务
firewall-cmd --add-service=ftp
永久开放 ftp 服务
firewall-cmd --add-service=ftp --permanent
永久关闭ftp服务
firewall-cmd --remove-service=ftp --permanent
重启防火墙让设定生效
systemctl restart firewalld
测试连接成功后的样子:

连接成功


PS:希望能帮到各位

<think>嗯,用户问的是如何在CentOS 7上开启vsftpd服务。我得先回想一下步骤,确保自己记得没错。首先,安装vsftpd应该是用yum吧,对的,因为CentOS 7默认的包管理器是yum。安装完成后,服务管理是用systemctl,所以启动和设置开机启动的命令应该是systemctl start vsftpd和systemctl enable vsftpd。接下来需要配置防火墙,可能用户用的是firewalld,所以得开放21端口,或者添加ftp服务。这部分要注意,可能有些用户会忽略防火墙设置,导致连接不上。 然后,配置文件的路径是/etc/vsftpd/vsftpd.conf。常见的配置选项比如匿名访问、本地用户登录、被动模式这些。用户可能需要调整这些设置,比如允许本地用户登录的话,要确保anonymous_enable是NO,而local_enable是YES。还有,被动模式可能需要设置端口范围,并在防火墙里放行这些端口,避免被动模式连接失败。 另外,SELinux的问题也可能导致服务无法正常访问。记得检查SELinux的状态,可能需要设置相应的布尔值或者关闭它,但建议不要直接关,而是用setsebool调整。比如ftp_home_dir和ftpd_full_access这些布尔值可能需要开启。 测试部分也很重要,可以用本地访问或者ftp客户端,比如lftp或者FileZilla。用户可能遇到的常见问题包括防火墙没配置好、目录权限不足,或者配置文件中的某些选项冲突。需要提醒用户检查日志,/var/log/vsftpd.log可能会有错误信息。 另外,用户可能不知道如何创建新用户,可能需要指导他们用useradd命令,并设置合适的目录权限,比如chmod。还有,如果允许上传文件,vsftpd.conf里需要启用write_enable,并确保目录有写权限。 可能还要提到被动模式的具体配置,比如pasv_min_port和pasv_max_port,以及对应的防火墙规则。这部分如果用户遇到被动模式的问题,可能需要详细说明如何设置端口范围,并在防火墙开放这些端口。 总之,步骤要分清楚,先安装,再启动服务,配置防火墙,调整SELinux,然后修改配置文件,测试连接。每个步骤都要简明扼要,同时提醒用户注意常见问题,比如权限、防火墙和SELinux。可能需要给出配置示例,比如允许本地用户登录和被动模式的设置,这样用户可以直接复制粘贴,节省时间。最后,测试部分要具体,给出命令和可能用到的客户端,帮助用户验证服务是否正常。</think>以下是在CentOS 7系统中启用vsftpd服务的分步指南: --- ### 一、安装vsftpd ```bash # 更新yum缓存 sudo yum makecache # 安装vsftpd sudo yum install -y vsftpd ``` --- ### 二、启动服务 ```bash # 启动服务 sudo systemctl start vsftpd # 设置开机自启 sudo systemctl enable vsftpd # 检查状态 sudo systemctl status vsftpd ``` --- ### 三、防火墙配置 ```bash # 开放21端口FTP默认端口) sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload ``` --- ### 四、配置文件修改 编辑主配置文件: ```bash sudo vi /etc/vsftpd/vsftpd.conf ``` #### 常用配置示例: ```conf anonymous_enable=NO # 禁用匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 启用文件写入 local_umask=022 # 文件权限掩码 dirmessage_enable=YES # 显示目录消息 xferlog_enable=YES # 启用传输日志 connect_from_port_20=YES # 启用主动模式 listen=YES # 以独立模式运行 # 被动模式配置(可选) pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 ``` --- ### 五、SELinux配置 ```bash # 临时设置SELinux(重启失效) setsebool -P ftp_home_dir on setsebool -P ftpd_full_access on # 或临时禁用SELinux(不建议生产环境使用) setenforce 0 ``` --- ### 六、用户权限管理 #### 1. 创建FTP专用用户 ```bash sudo useradd -d /var/ftp/user1 -s /sbin/nologin user1 sudo passwd user1 sudo chmod 750 /var/ftp/user1 ``` #### 2. 禁止SSH登录(可选) ```bash sudo usermod -s /sbin/nologin user1 ``` --- ### 七、测试连接 ```bash # 本地测试 ftp localhost # 客户端测试命令 lftp ftp://user1@your_server_ip ``` --- ### 八、故障排查 1. **检查日志**: ```bash tail -f /var/log/vsftpd.log ``` 2. **常见问题**: - 连接超时:检查防火墙/安全组规则 - 530 Login incorrect:验证用户密码及`/etc/vsftpd/user_list`白名单 - 550 Permission denied:检查目录权限和SELinux状态 --- 通过以上步骤,即可完成vsftpd服务的基本配置。建议根据实际需求调整配置文件参数,生产环境需特别注意安全设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值