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

[经验分享] CentOS 7 Vsftpd无法启动详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-20 08:31:25 | 显示全部楼层 |阅读模式
不小心安装了CentOS 7(说多了都是泪呀,各种不适应),不过随遇而安吧(PS:不要用既来之则安之,不懂的可以百度。),装完系统后想跑个Vsftpd,
    yum -y install vsftpd
    坐等安装完毕(用的手机2G流量那个心塞)。
    启动vstfpd:
    service start vsftpd (这条命令现在已经不管用了,)
    /etc/init.d/vsftd start (想都不用想,就没有这个脚本)
    这可怎么办?当然是systemctl了,这个命令在今后的版本里非常有用需要熟练掌握。

    马上来
        systemctl list-unit-files |grep vsftpd.service
    发现vsftpd.service服务果然是关闭的如下:
        vsftpd.service               disabled
    没错,就是disable,然后启动该服务
        systemctl start vsftp.service

    马上来
        systemctl list-unit-files |grep vsftpd.service
    发现vsftpd.service服务竟然是关闭的如下:
        vsftpd.service               disabled
    是不是感觉当头一棒。
    网上给了几个解决方法莫过于关闭端口和重启进程其实都不能解决这个问题,

    所有才有了这篇文章:单独说开启这个服务没啥意思,我们分析一下原理
     1>查看一下进程状态
    [iyunv@localhost ~]# systemctl status vsftpd.service
    vsftpd.service - Vsftpd ftp daemon
     Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled)
       Active: active (running) since 一 2015-10-19 23:37:06 CST; 11min ago
         Main PID: 23165 (vsftpd)
       CGroup: /system.slice/vsftpd.service
               └─23165 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

    10月 19 23:37:06 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
    10月 19 23:37:33 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
    10月 19 23:38:39 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon
    这里注释一下命令(毕竟每个人都是从小白过来的嘛,不要歧视小白):
    vsftpd.service - Vsftpd ftp daemon(开启服务就要开启daemo,我到现在都弄不明白这两       个有啥区别,反正书上就这么说的)
    然后是Loaded(加载)/usr/lib/systemd/system/vsftpd.service,并且失败,这里标记一下     待会说。
    然后是进程号和配置文件路径,不解释。

    最先三条是日志记录尝试启动vsftp ftp daemon(如果不理解daemo就干脆理解为服务,个人观      点,不接受高手吐槽)。

    看完了这个咱们再看看日志,CentOS 7 上面没了syslog,没错,是没了,呵呵,替代品       是journalctl,至于这个命令不解释,自己可以去百度,这里只需要知道使用(journalctl     -xn)就好,信息如下:

    10月 19 23:37:06 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
    -- Subject: Unit vsftpd.service has finished start-up
    -- Defined-By: systemd
    --
    -- Unit vsftpd.service has finished starting up.
    --
    -- The start-up result is done.
    解释一下:
    启动daemon(没错我就是个夜猫子,)
    vsftpd.service 被终止启动,系统做出判断(翻译比较粗糙凑合看吧,原谅我这英语四级都没     过的人),
    然后是启动结果是已经启动了(启动了,没启动起来,也不报个错“囧”)
    哈哈到这里大家应该已经能看明白哪里出问题了,如果您没看出来不要紧,往下看

    没错就是vsftpd.service的daemon启动不起来,系统还提示了个systemd-devel,我们马不停蹄      去看看vsftpd.service的daemon(也是上文的那个小尾巴,就是查看这里)
        cat /usr/lib/systemd/system/vsftpd.service
        [Unit]
        Description=Vsftpd ftp daemon
        After=network.target

        [Service]
        Type=forking
        ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

        [Install]
    不用担心这个也肯定没问题,我就是想让你来看看daemon文件,可以修改ExecStart的内容,当      然没人像我这么无聊,不过如果你想让别人找不到你的配置文件就很好用啦,自定义让他们找      不到。

    daemon没问题,那还会什么有问题呀,那就是runlevel了,马上输入
        chkconfig --list vsftpd
    注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原      生 systemd 配置覆盖。
      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
      欲查看对特定 target 启用的服务请执行
      'systemctl list-dependencies [target]'。
    (我启用了中文。)
    看来使要使用systemctl list-unit-files来查看,走起
        systemctl list-unit-files | grep vsftpd.service
    这不又回到原点了嘛,依旧是:
        vsftpd.service               disabled
    好吧,实在是没办法,那我们只好跑到这个runlevel下面看看究竟是出了什么问题,还有就是     这个systemctl究竟是何方神圣。
     ll /etc/systemd/system/multi-user.target.wants
    总用量 0
    lrwxrwxrwx. 1 root root 35 10月 17 18:07 atd.service ->             /usr/lib/systemd/system/atd.service
    lrwxrwxrwx. 1 root root 38 9月  25 12:54 auditd.service -> /usr/lib/systemd/system/auditd.service
    lrwxrwxrwx. 1 root root 37 9月  25 12:50 crond.service ->         /usr/lib/systemd/system/crond.service
    lrwxrwxrwx. 1 root root 42 9月  25 12:52 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
    lrwxrwxrwx. 1 root root 46 9月  25 12:51 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
    lrwxrwxrwx. 1 root root 40 9月  25 12:49 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
    lrwxrwxrwx. 1 root root 39 9月  25 12:52 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service
    lrwxrwxrwx. 1 root root 40 10月 17 01:37 sendmail.service -> /usr/lib/systemd/system/sendmail.service
    lrwxrwxrwx. 1 root root 41 10月 17 01:37 sm-client.service -> /usr/lib/systemd/system/sm-client.service
    lrwxrwxrwx. 1 root root 36 9月  25 12:55 sshd.service -> /usr/lib/systemd/system/sshd.service
    lrwxrwxrwx. 1 root root 37 9月  25 12:55 tuned.service -> /usr/lib/systemd/system/tuned.service

    果然发现问题了,systemctl通过调用该文件下的软连接来实现该service是否被启动,当然本   文描述的vsftpd.service的软连接,所以无法启动,细心的读者一定发现了,这个软连接连接的就是  这个服务的daemon了,发现问题后,问题就容易解决了,
    1> cd /etc/systemd/system/multi-user.target.wants
    然后添加
    ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
    手动创建一个连接
    2>大家也许会嫌麻烦,那有没有更简单的办法呀,答案也是有的,就是:
      systemctl enable vsftpd.service
   然后查看
    systemctl list-unit-files | grep vsftpd.service
   服务是不是起来了:
    vsftpd.service                       enabled

备注:虽然大家只是命令输错了。本文的目的是希望大家能学会分析问题,而不是做伸手党,以上就是我解决该问题的步骤,有不足之处欢迎指正,



运维网声明 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.yunweiku.com/thread-128893-1-1.html 上篇帖子: vsftp.conf 配置文件详解 下篇帖子: vsftpd 服务器的搭建及详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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