Недавно я заметил, что мой сценарий для мониторинга сети ничего не показал мне, когда он был запущен с пользователем без полномочий root.
Мой сценарий просто просматривает / proc / net / dev
, у которого есть следующие права (444):
-r--r--r-- 1 root root 0 Feb 26 09:31 dev
Однако, даже если у всех есть доступ для чтения, Я заметил, что пользователи без полномочий root не могут получить никаких данных
> cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dummy0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
bond0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ip6tnl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Когда я добавляю sudo к команде, я получаю результат
> sudo cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eth0: 69684609 360869 0 0 0 0 0 234060 419896366 484740 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
dummy0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
bond0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ip6tnl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lo: 113595057 801133 0 0 0 0 0 0 113595057 801133 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Мне интересно узнать, почему / proc / net / dev имеет такое поведение?
Кстати, на моем сервере используется Debian 8.3 (Jessie).
, jak podano w tym linku: https://stackoverflow.com/questions/8955724/regular-user-cant-read-proc-net-dev
Twoje jądro prawdopodobnie korzysta z opcji kompilacji grsec, która uniemożliwia dostęp do statystyk. Powinieneś spróbować z innym jądrem.