Почему 'nethogs' не установлен с setuid набором битов?

Я так устал от различных файлов запуска для оболочек, что я делаю это:

  • Создайте файл ~/.shrc и помещенный вся моя конфигурация в него (включая установку подсказки)
  • В ~/.profile, ~/.bashrc, ~/.bash_profile и безотносительно регистрируют оболочку, мог бы читать, добавить эту строку . ~/.shrc (отметьте точку),
  • И наконец, забудьте все о небольших деталях, которые я никогда вполне схватываю

В Вашем случае я подозреваю, что Bash хочет ~/.profile (произвольное предположение, потому что как указано выше я никогда не добирался, чтобы полностью понять те файлы запуска), таким образом добавление этого могло бы заставить его работать.

3
04.07.2014, 08:05
1 ответ

ping является setuid, потому что он, хотя и достаточно "безопасен", но требует способности открывать сырые сокеты. Следовательно, ему нужна возможность CAP_NET_RAW , или быть root.

nethogs отличается по нескольким причинам: в частности, он не только требует привилегированного доступа к сетевому стеку, но и показывает информацию о других пользователях. На многопользовательской системе вы можете не хотеть, чтобы просто любой пользователь мог видеть, кто что использует.

Другая причина заключается в том, что nethogs - довольно сложная программа. Программы, которые запускают setuid должны быть сверхнадежными: переполнение буфера, скажем, может привести к произвольному повышению привилегий. ping достаточно осторожна, чтобы быть безопасной, и даже определяет, кто на самом деле выполняет ее, чтобы вести себя по-другому (ping -f работает только если вы на самом деле являетесь root, например). Легче быть уверенным в этом в маленькой неинтерактивной программе, чем в большом инструменте типа nethogs.

Требование к пользователю иметь доступ к root уже избегает таких проблем, или делегирует его в sudo. Нет (не так много) заботы о повышении привилегий, когда вы уже имеете root. В общем, программы не делаются setuid-by-default, если только это не является жизненно необходимым для их функции, как passwd.

Тем не менее, на однопользовательской системе, или на системе, где вас не волнуют эти проблемы, сделать setuid для вашего собственного удобства не является существенной проблемой.

.
6
27.01.2020, 21:14

Теги

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