检测环境

服务器环境: 阿里云 ESC 服务器,CentOS 7.6。

前言

之前写过一篇文章 centos 安装、配置 ftp 和操作用户,里面介绍了通过 yum 安装 vsftpd 的过程,其中第一步就是通过 rpm 指令检测 vsftpd 是否安装:rpm -qa | grep vsftpd

rpm 指令能够检测到的只有通过 rpm 或者 yum 进行安装的软件包,如果是通过其他方式安装的软件,是查不到的。

Linux 软件有哪些安装方式? yum 与 rpm 有什么关系?请看 Linux软件安装,RPM与YUM

sftp 等于 vsftpd 吗? ftp、sftp、vsftp、vsftpd 这几个术语之间是什么关系?请看 ftp、sftp、vsftp、vsftpd 四者区别

因为服务器拿到之后就可以用 sftp 上传文件了,所以肯定是存在这样一个 sftp 服务的,且该服务已开启。在确认不是通过包管理器安装的情况下,可以通过查询进程或端口来查看服务。

具体操作

  • 查看下端口是不是开启
netstat -an | grep '22'

详细的 netstat 指令介绍,可以看这里 Linux netstat命令详解

22 端口其实查的是 ssh 服务,所以也可以用 netstat -an | grep 'ssh' 查询。

  • 查看进程:
ps -ef | grep sftp

值得注意的是,这两种方法都需要在开启一个 sftp 客户端并已经连接了服务器的情况下才能查出来。除非是以 vsftpd 形式运行。

vsftpd 以 daemon 形式运行,可以通过 service 进行控制,所以可以直接通过进程或端口查到。