Получить информацию об USB-устройстве для диска, который предоставляет конкретную точку монтирования

Несоответствие версий мне кажется очень подозрительным.

systemctl statusдовольно однозначно говорит о том, что вы успешно запустили /usr/sbin/sshd. Было бы очень странно, если бы система изначально загружалась с бинарным файлом Debian, отличным от -в /usr/sbin/sshd, но после загрузки правильный бинарный файл Debian был доступен по адресу /usr/sbin/sshd.

Поскольку вы настаиваете на том, что вы подключаетесь к одному и тому же IP-адресу в обоих случаях :-P, что-то должно перехватывать соединения до того, как они достигнут вашего демона SSH. Я думаю, что, вероятно, это какое-то очень запутанное «управление отключением света» на сервере, перехватывающее ssh-соединение на аппаратном уровне. (Например, неудачные попытки подключения SSH не будут отображаться в /var/log/auth.logDebian или даже вtcpdump port ssh).

0
21.09.2019, 19:40
2 ответа

Предполагая, что вы используете udev, libudev может быть хорошим вариантом. Udev — это подсистема Linux, которая отвечает за автоматическое создание узлов устройств, когда в систему вставляется новое устройство. С помощью udev вы также можете отслеживать новые устройства по мере их подключения к системе и получать всю необходимую информацию. Он предоставляет приятные функции, такие как «udev _device _get _sysattr _value», с помощью которых вы можете запросить любое свойство, которое вы хотите, и легко получить его значение.

Чтобы увидеть, какие свойства доступны через udev, вы можете использовать утилиту udevadm, например:

udevadm info --query=all -n /dev/your_device_node

Также вы можете найти пример кода здесь и здесь .

1
28.01.2020, 02:39

/proc/{pid}/mountsпоказывает устройство. Получите основной и дополнительный идентификатор, затем /sys/dev/block/{major}:{minor}является символической ссылкой на USB-устройство.

1
28.01.2020, 02:39

Теги

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