Я почти уверен, что что-то здесь упускаю, но я не совсем уверен, что именно:
Вот что может видеть root:
root@opteron16:/# ls -l | grep proc
dr-xr-xr-x 290 root root 0 2012-01-14 02:03 proc
root@opteron16:/# ls -l proc | grep net
lrwxrwxrwx 1 root root 8 2012-01-21 03:29 net -> self/net
root@opteron16:/# ls -l proc/net/ | grep dev
-r--r--r-- 1 root root 0 2012-01-14 02:05 dev
Этопользователь ganglia:
root@opteron16:/# cat /etc/passwd | grep ganglia
ganglia:x:111:119:Ganglia Monitor:/var/lib/ganglia:/bin/false
Когда я пытаюсь получить доступ к / proc / net / dev с этим пользователем:
root@opteron16:/# su -s /bin/bash ganglia
ganglia@opteron16:/$ ls -l /proc | grep net
lrwxrwxrwx 1 root root 8 2012-01-21 19:49 net -> self/net
ganglia@opteron16:/$ ls -l /proc/net/
ls: reading directory /proc/net/: Invalid argument
total 0
ganglia@opteron16:/$ cat /proc/net/dev
cat: /proc/net/dev: No such file or directory
Было бы здорово не чувствовать себя таким глупым :).
Редактировать
Это то, что я заметил, и никогда раньше не видел такого поведения:
root@opteron16:/proc# ls -l | grep "self -"
lrwxrwxrwx 1 root root 64 2012-01-22 00:01 self -> 29095
root@opteron16:/proc# ls -l | grep "self -"
lrwxrwxrwx 1 root root 64 2012-01-22 00:01 self -> 29097
root@opteron16:/proc# ls -l | grep "self -"
lrwxrwxrwx 1 root root 64 2012-01-22 00:01 self -> 29099