我有几个 Centos 服务器,是由公司外的人员设置的。查找已安装和正在运行的服务器的最佳方法是什么?
答案1
您可以使用以下方法获取当前正在运行的进程列表ps
:
# ps -fe
您可以使用以下命令查看哪些服务配置为在启动时启动chkconfig
:
# chkconfig --list
此外,您可以查看/etc/rc.d/rc3.d
(或rc5.d
,取决于您的默认运行级别)以获取类似信息(但这也会显示不使用的启动脚本chkconfig
)。
yum
您可以使用和rpm
使用获取已安装的软件列表rpm
:
# rpm -qa
或者 yum:
# yum list installed
答案2
还要检查 /etc/rc.local 中是否存在 /etc/rc.d 目录中未列出的条目。
我还会检查 /opt 目录。有些程序倾向于将文件放在那里。
答案3
除了显而易见的之外chckconfig --list
,rpm -qa
不要忘记进行一些手动检查,以防之前的管理员手动安装了一些东西。需要检查的一些事项:
- 哪些文件安装在
/usr/local
?/usr/local/etc
特别是,/usr/local/bin
、中有什么东西吗/usr/local/sbin
?
- /etc/crontab 是否有任何手动编辑,表明有特殊的 cron 作业?
- 目录中是否有任何手动添加的条目
/etc/cron.*/
? - 里面有什么特殊的脚本吗
/root/bin
? - 是否有针对 root 的 crontab(
crontab -l
以 root 身份运行)? - 是否列出了任何奇怪的用途
/etc/passwd
?- 也就是说,是否有任何用户似乎是手动添加来运行特殊任务的?
这些是需要检查的几个地方,以了解机器上进行了哪些与常规包装不同的手动更改。
答案4
您可以通过输入以下命令列出正在运行/未运行的服务:
服务--状态全部