Как проверить, что файл конфигурации был прочитан?

Кажется, что модификации моего файла /etc/ssh/sshd_config не подобраны демоном SSH. В целях тестирования я включил DenyUsers *, сделал service ssh restart и даже перезагрузил всю систему. Но я все еще могу ssh из удаленного.

Как проверить, что файл /etc/ssh/sshd_config прочитан sshd?

5
задан 1 November 2013 в 13:08

1 ответ

Если я не уверен, что программа читает определенный файл конфигурации (или в каком порядке), я пытаюсь отследить открытые системные вызовы с помощью strace. Для этого остановите демон ssh. Затем запустите его вручную в терминале с помощью:

strace -e open -ostrace.out /usr/sbin/sshd

После его запуска у вас должен быть файл в текущем рабочем каталоге с именем strace.out. В моем случае это выглядело так (выходные данные урезаны):

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
...
many libraries
...
open("/proc/filesystems", O_RDONLY)     = 3
open("/dev/null", O_RDWR)               = 3
open("/usr/lib/ssl/openssl.cnf", O_RDONLY) = 3
open("/etc/ssh/sshd_config", O_RDONLY)  = 3 <--- here sshd_config was opened
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 3
open("/etc/gai.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
...
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
...
ssh keys
...
open("/etc/ssh/blacklist.ECDSA-256", O_RDONLY) = -1 ENOENT (No such file or directory)

С помощью этого теста я могу убедиться, что sshd читает мои /etc/ssh/sshd_config. В последней записи вы можете видеть, что этот файл не найден в моей системе (-1).

0
ответ дан 1 November 2013 в 13:08

Другие вопросы по тегам:

Похожие вопросы: