Почему ss -e не показывает uid?

Я взялhttps://github.com/CanonicalLtd/netplanи установил это. Это работает. Я вообще не проверял его, но он делает то, что мне нужно. Для сборки требовались эти библиотеки. Это описано в debian netplan install :Отсутствует библиотека. что установить для этих файлов.pc

Но я приведу сюда результаты этого обсуждения:

# to compile

apt install libyaml-dev -y 
apt install libc6-dev -y
apt install libglib2.0-dev -y
apt install pandoc -y
apt install uuid-dev -y

#to run
pip3 install pyyaml 
pip3 install netifaces

3
03.05.2020, 12:09
1 ответ

Командаss(любой версии )будет отображать uid , только если он не равен нулю. Вот источник версии Debian 8 jessie:

    if (show_details) {
        if (s.uid)
            printf(" uid:%u", (unsigned)s.uid);
        printf(" ino:%u", s.ino);
        printf(" sk:%llx", s.sk);
        if (opt[0])
            printf(" opt:\"%s\"", opt);
    }

Тест if (s.uid)запрещает отображать информацию каждый раз, когда значение uid владельца сокета равно 0.

Дополнительные тесты (, но с использованием ядра 5.6 и соответствия ssот iproute2 5.6.0 ), показывают, что действительно обычный пользователь может знать uid владельца другого сокета, даже если он не принадлежит ему самому. Таким образом, отсутствие записи uid:может означать только две вещи: :принадлежащие пользователю root или принадлежащие ядру (, которое отличается, но здесь не может быть различено ). ].

В вашем случае, поскольку демон sshd работает как root , все сокеты TCP, связанные с ним, будут принадлежать root , даже если sshd предоставляет не -root-логин. Логин пользователя, предоставленный sshd , не подключен к какому-либо TCP-сокету :, он подключен к демону sshd (или его отдельному экземпляру )через master/slave PTY или с трубами . Таким образом, ssнельзя использовать для сопоставления TCP-соединения с пользователем, локально вошедшим в систему через входящий ssh .

4
28.04.2021, 23:16

Теги

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