我有一个 Solaris 10 机器,与 Linux 发行版相比,它安装的工具和命令有限。此外,可以使用的工具(例如 grep 和 netstat)也没有相同的选项和标志。
我想调查一些在端口上运行的服务。举个例子,SSH 服务器在不是 22 的端口上运行。我希望能够找到配置文件以便修改更改(禁用弱密码等)。但是,当我搜索整个文件系统时sshd.conf
- 我只能找到端口 22 上默认 SSH 服务器的配置。
谁能给我一些关于如何找到这个独特服务的配置文件的提示。我已经尝试过 `find / -name "sshd.conf" 和其他可能的变体,但没有成功。
我想尝试的下一个方法是使用netstat
和等工具svcs
。我可以看出该服务正在与nmap -p 5555 [ip]
和 一起运行ssh [ip] -p 5555
。我还可以看到该服务正在监听netstat -an | grep "5555"
.但是,我无法将其与 中列出的服务相匹配svcs -a
。如果我能够将它与服务相匹配svcs -a
,然后使用svcs -x [FMRI]
(了解更多详细信息) - 它不会为我提供从中读取参数的配置文件 - 仅提供日志文件。
TL;DR:如果我知道 FMRI 或者无法将服务映射到 FMRI,我如何找到服务的配置文件。也许更简单,我如何使用 netstat 的输出并确定设备上正在侦听的实际服务是什么?我想这会经常被要求进行安全审计等。
答案1
在这种情况下你可以man sshd
那会告诉你:
-f configuration_file
Specifies the name of the configuration file. The
default is /etc/ssh/sshd_config. sshd refuses to start
if there is no configuration file.
如果您查看,/etc/ssh/sshd_config
您会看到配置。
您还可以man sshd_config
查看还有哪些其他选项可用。
一般来说,服务的 XML 源位于/var/svc/manifest
.其一ssh
是/var/svc/manifest/network/ssh.xml
。您可以使用 查看当前设置svccfg export ssh
。