设为首页 收藏本站
查看: 1033|回复: 0

[经验分享] CentOS 7运维管理笔记(4)----安装ftp服务器

[复制链接]

尚未签到

发表于 2017-6-23 10:40:50 | 显示全部楼层 |阅读模式
  在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点。
  在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用。目前在开源操作系统中常用的FTP软件除了vsftp外,主要有proftpd、pureftpd和 wu-ftpd等。本篇随笔记录vsftp的安装与配置。
  注意:本随笔所有操作均在VMware workstations虚拟机中安装的CentOS7 中进行,在进行操作前最好设置快照,这样某一步出错了还可以退回原来的状态:
DSC0000.png

  1.安装vsftp:在root用户下,输入:



yum install -y vsftpd
DSC0001.png

  查看安装情况:
DSC0002.png

  2.匿名FTP配置:
  允许匿名用户访问并上传文件,配置文件路径一般为 /etc/vsftpd.conf, 如果是使用rpm 包安装,配置文件位于 /etc/vsftpd/vsftpd.conf
  (i) 安装vsftpd后,该软件会自动在/var目录下生成/var/ftp/pub目录,此/var/ftp 目录即为匿名用户默认访问的目录。因为在虚拟机中拍摄了快照,所以可以通过转到安装vsfptd之前的快照的方式进行验证 /var/ftp目录为vsftpd软件生成的。在虚拟机中转到安装vsftpd软件之前的快照状态。输入



ls /var/ftp
DSC0003.png

  显示没有该目录。
  然后再转到安装vsftpd后的快照,再次输入同样的命令,结果如下:
DSC0004.png

  显示该目录下有pub文件夹,该文件夹当前为空; 这足以说明 /var/ftp/ 和 /var/ftp/pub文件夹为 vsftpd软件安装过程中自动生成的。
  (ii)系统中当前会有 ftp用户组和ftp用户,博主已通过退回快照的方式验证,该用户和该用户组并非由vsftpd软件产生。所用命令为:



groups ftp
  在两个快照状态下均显示出ftp用户属于ftp用户组。
  将默认目录赋予用户ftp权限以便可以上传文件。
DSC0005.png

  该命令的意思是将 ftp用户组中的所有用户设置为 /var/ftp/pub目录的拥有者,使用 -R 参数的意义是使用 recursive方式,即pub目录下的所有其他子目录也都属于ftp用户组中的所有用户。
  (iii)使用



vim /etc/vsftpd/vsftpd.conf
  命令,编辑 vsftpd的配置文件。
  配置情况如下:
DSC0006.png

  其中



grep -v ^# filename
  命令即是查看 filename 文件中去除'#'注释掉的内容后的有效内容。
  关于红色方框内的 chroot_local_user等选项的详细解释,参见:http://blog.csdn.net/bluishglc/article/details/42398811
  (3)启动FTP服务器
  (i)在启动 vsftpd之前,查看端口状态:



netstat -nptl
DSC0007.png

  可以看到目前只有ipv4的53,22,631号端口和ipv6的22号端口正在Listen。
  输入



systemctl start vsftpd
  启动 vsftpd 服务.
  再次输入命令



netstat -ntpl
DSC0008.png

  可以看到21号端口已经启动,这正是ftp的命令端口。(ftp的数据端口为20)。
  (ii)使用虚拟机中开启的另一台Ubuntu连接CentOS7上的ftp服务:
DSC0009.png

  显示无法连接,这是因为没有在服务器的防火墙上开启21号端口的缘故。
  于是在CentOS7服务器上编辑 iptables :



vim /etc/sysconfig/iptables
DSC00010.png

  添加红色方框中的两行,开启20和21号端口。(21号端口为ftp命令端口,20号端口为ftp数据端口)
  之前安装iptables的时候,已经使用了如下的命令



systemctl disable firewalld  #禁止开机启动 firewalld
systemctl stop firewalld      #停止运行firewalld
systemctl enable iptables    #开机启动iptables
systemctl start iptables        #启动iptables
  当前,firewalld没有启动,iptables正在运行,在修改了 /etc/sysconfig/iptables文件的情况下,应该重新启动iptables



systemctl restart iptables
  这时候再输入



systemctl stop vsftpd
netstat -nptl
DSC00011.png

  没有开启21号端口,那是因为已经关闭了vsftpd服务器:
  启动vsftpd服务器并查看端口:



systemctl start vsftpd
netstat -nptl
DSC00012.png

  vsftpd服务重新开启了,且21号端口正在倾听。以上现象说明端口倾听与否只与服务运行与否有关,跟防火墙iptables中有没有开放端口无关。
  (iii)用Ubuntu连接CentOS 7上的 ftp服务:
DSC00013.png

  连接成功!
  4.用ftp上传和下载文件
  (i)在连接的ftp命令行里输入 ls 命令:
DSC00014.png

  显示当前目录下有pub文件夹,说明当前匿名用户默认登陆的目录是CentOS7服务器上的/var/ftp目录
  (ii)上传文件:
  用



cd pub
  命令进入pub文件夹
  然后用



put filename.txt
  命令上传本地的filename.txt文件
  (注意:因为登陆ftp之前,Ubuntu所在目录为 /home/username ,则此时 filename.txt 默认为Ubuntu上的 /home/username/filename.txt,也可以用绝对路径指定文件。可以用 lcd pathname 命令改变客户端的当前目录)
  结果:
DSC00015.png

  显示“533 Could not create file.”
  在CentOS7 上使用如下命令更改 /var/ftp/pub文件夹的权限:



chmod 766 /var/ftp/pub
DSC00016.png

  重启vsftpd服务,在Ubuntu客户端上连接,然后上传文件,结果还是显示“533 Could not create file.”
  网上搜索原因,按照这个网页的指示:http://www.111cn.net/sys/linux/45542.htm 在CentOS7服务器上做如下设置:
DSC00017.png

  在CentOS7服务器上重启 vsftpd服务,然后在Ubuntu上重新登录服务器,这是还是默认登录进 /var/ftp目录,一定要用 cd pub 命令转换进pub目录,再试试上传文件:
DSC00018.png

  成功!
  (iii)下载文件:
  在CentOS7服务器上用



vim /var/ftp/pub/welcom.txt
  命令新建一个文件。
  在Ubuntu上尝试下载:
DSC00019.png

  成功!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-387230-1-1.html 上篇帖子: 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker 下篇帖子: DNS攻击
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表