防火墙,开启FTP服务器需要的端口

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

*:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service#禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

Firewall configuration written by system-config-firewall

Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口。

二、关闭SELINUX

vi /etc/selinux/config

SELINUX=enforcing #注释掉

SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、安装vsftpd

yum install -y vsftpd#安装vsftpd

yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安装vsftpd虚拟用户配置依赖包

systemctl start vsftpd.service #启动

systemctl enable vsftpd.service #设置vsftpd开机启动

四、配置vsftp服务器

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak #备份默认配置文件

执行以下命令进行设置

sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'

echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300

\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=vsftpd

\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES

\npasv_min_port=10060\npasv_max_port=10090

\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf

五、建立虚拟用户名单文件

touch /etc/vsftpd/virtusers

编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)

vi /etc/vsftpd/virtusers

web1

123456

web2

123456

web3

123456

:wq! #保存退出

六、生成虚拟用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

chmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

七、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)

修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak

vi /etc/pam.d/vsftpd

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

注意:如果系统为32位,上面改为lib,否则配置失败

八、新建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)

useradd vsftpd -d /home/wwwroot -s /bin/false

chown vsftpd:vsftpd /home/wwwroot -R

chown www:www /home/wwwroot -R #如果虚拟用户的宿主用户为www,需要这样设置。

九、建立虚拟用户个人Vsftp的配置文件

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch web1 web2 web3 #这里创建三个虚拟用户配置文件

mkdir -p /home/wwwroot/web1/http/

vi web1 #编辑用户web1配置文件,其他的跟这个配置文件类似

local_root=/home/wwwroot/web1/http/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

十、最后重启vsftpd服务器

systemctl restart vsftpd.service

备注:

guest_username=vsftpd #指定虚拟用户的宿主用户(就是我们前面新建的用户)

guest_username=www #如果ftp目录是指向网站根目录,用来上传网站程序,可以指定虚拟用户的宿主用户为nginx运行账户www,可以避免很多权限设置问题

至此,CentOS 7.0安装配置Vsftp服务器配置完成。

linux停止ftp服务命令,centos没有service命令,怎么启用ftp服务相关推荐

  1. Linux的/etc/init.d:用service命令可执行init.d目录中相应服务的脚本

    1./etc/init.d目录中存放的是一系列系统服务的管理(启动与停止)脚本. 2.用service命令可执行init.d目录中相应服务的脚本,如执行命令"service resin st ...

  2. linux永久启动服务命令,Linux(CentOS)用service命令启动任意服务

    linux下有的软件启动很麻烦,跟一大堆参数,比如指定配置文件路径.以何种模式启动神马的,等等.而我们装上appache或者mysql后,就可以使用service httpd start来启动,很是方 ...

  3. linux yum安装 rpmbuild,Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm

    rpmbuild是用来指示转换的源码不定编译成二进制文件的包. 二.Redhat/Centos下rpmbuild命令目录 /usr/src/redhat --BUILD #编译之前,如解压包后存放的路 ...

  4. linux安装中文语言命令,Centos使用yum命令安装中文语言包(fonts-chinese.noarch,m17n-db-common-cjk)...

    Centos使用yum命令安装中文语言包(fonts-chinese.noarch,m17n-db-common-cjk) 执行以下命令 [root@f5ha.com ~]# yum install ...

  5. linux centos 没有service命令 安装方法

    在 docker centos6 中 没有service 不太方便安装一下,命令如下: yum install initscripts -y 安装后就有 service 了

  6. centos关闭防火墙命令(centos重启防火墙命令)

    如何在CenTos 7上开启关闭防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firewall: systemctl stop fi ...

  7. 服务器搜索文件命令,Centos文件搜索命令的讲解

    1.locate--->文件查找事先生成的数据库,模糊查找,updatedb更新locate数据库 -i:忽略文件名的大小写 -n:只显示前n行eg:locate-n3passwd 2.find ...

  8. Linux CentOS 8常见命令

    1.cd 切换当前目录 即 current directory 例如 cd /home/shaofa/examplecd ~/examplecd ../hellocd /home/shaofa/exa ...

  9. linux 设置防火墙ssh,centos 8 ssh命令(服务器设置、防火墙配置等)

    1.安装 yum install iptables-services #安装iptables (如果你习惯centos6及以下版本所用的iptables防火墙的话,安装这个,如果已经安装了firewa ...

最新文章

  1. 服务器空闲搭建什么网站,空闲的云服务器可以干什么
  2. 报表引擎API开发入门— EJB程序数据源
  3. OFDM专题之理解原理图(暂不包含用IFFT以及FFT的原理图形式)
  4. django用户认证系统——注册3
  5. MySQL慢查询处理之mysqldumpslow和mysqlsla
  6. AcWing算法基础课 Level-2 第三讲 搜索与图论
  7. Angular JS 中的内置方法之$watch
  8. oracle+查询主机地址,oracle函数:获取Internet主机名和ip地址
  9. flutter webview浏览器及与js交互、打开第三方app
  10. git 管理 Linux 文件系统
  11. Oracle/PLSQL CURSOR FOR Loop
  12. SystemTimer,TimerTaskList等源码分析
  13. linux增加阵列磁盘空间,Linux Ubuntu系统下通过LVM创建软raid来实现硬盘合并大小
  14. 第一次冲刺-站立会议02
  15. AHP(层次分析法)的全面讲解及python实现
  16. 如何用word制作英语答题卡_英语考试答题卡(word 版)
  17. 设计窗口模拟教室座位表java,基于web的考研自习教室座位管理(完整源码+论文全套+教学视频)...
  18. vue第三天笔记05——使用vue-cli脚手架工具创建一个项目
  19. 通过XManager5连接Linux操作系统,安装Eclipse工具,进行代码开发、测试
  20. 虚函数与纯虚函数以及虚函数表之间的关系

热门文章

  1. 彻底搞懂感受野的含义与计算
  2. 最新汇总!这些高校已确定开学时间!
  3. 不谈面试题,谈谈面试官喜欢见到的特质!
  4. Zookeeper源码分析:Leader角色初始化
  5. 使用pytorch构建一个神经网络、损失函数、反向传播、更新网络参数
  6. 线程的介绍(概念、作用)
  7. 关闭浏览器当前页面:Ctrl+W
  8. 酷炫的深度学习网络图怎么绘制出来的?
  9. “阿里巴巴大数据系统体系”学习笔记-纲领篇
  10. CUDA FORTRAN编译器