Befehl w zeigt Benutzer nicht an, wenn sie nicht root sind

1

Ich habe mehrere Benutzer auf meinem Server (Ubuntu 12.10) mit SSH angemeldet. Keiner von ihnen hat Root-Rechte.

Wenn ich mich mit meinem Administratorkonto anmelde und tippe

w

die resultierende Ausgabe ist:

17:21:05 up 10 days, 18:47,  3 users,  load average: 0,09, 0,09, 0,08
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

Nun, wenn ich tippe

sudo w

die resultierende Ausgabe ist:

17:22:00 up 10 days, 18:48,  3 users,  load average: 0,04, 0,07, 0,07
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
admin    pts/0    XX.XX.XX.XX      16:15    4.00s  0.34s  0.06s sshd: admin [priv]
user1    pts/1    XX.XX.XX.XX      17:04   17:40   0.17s  0.17s -sh
user2    pts/2    XX.XX.XX.XX      14:31    2:50m  0.16s  0.16s -sh

Warum ist das so?

Unabhängige Frage: Was bedeutet in diesem Fall die erste Zeile und die letzte Spalte (sshd: admin [priv])? Ich habe gelesen, es ist relativ zu sshd-Privilegientrennungs-Threads, aber mir ist nicht klar, was die Zeile genau bedeutet.

Maxime Rossini
quelle
Ich bin mir ziemlich sicher, dass dies beabsichtigt ist. Warum möchten Sie, dass nicht privilegierte Benutzer andere Benutzer ausspionieren können? auch andere nicht privilegierte Benutzer
Robbie Mckennie
Ich kann nicht einmal meine eigene Benutzersitzung mit "w" sehen. Sollte diese Anzeige nicht "Root-Rechte benötigen", wenn dies beabsichtigt war? Beachten Sie, dass "who" ein völlig anderes Verhalten aufweist und es mir ermöglicht, jeden verbundenen Benutzer auch ohne sudo zu sehen.
Maxime Rossini
wzeigt "wer angemeldet ist und was sie tun", während whozeigt "wer angemeldet ist". Ein Fehler vom Typ "root-Rechte benötigen" würde die ordnungsgemäße Verwendung des Tools stören, da der nichtprivilegierte Benutzer X damit feststellen kann, ob X mehrmals angemeldet ist.
Robbie Mckennie
Ich zitiere mich selbst: "Ich kann nicht einmal meine eigene Benutzersitzung mit" w "sehen." Auch wenn ich mehrfach mit dem gleichen Account eingeloggt bin. In diesem Fall läuft wirklich etwas schief.
Maxime Rossini

Antworten:

1

Sie haben einen Sicherheitsmechanismus, der es nicht erlaubt, über / proc / $ pid / zu iterieren und die dafür notwendigen Informationen zu erhalten. Ich denke, dass die grsecurity-Kernel-Härtung dies standardmäßig tut.

Richard Salts
quelle
pszeigt mir meine eigenen Prozesse, wzeigt aber nichts. Sie wkönnen also nicht über / proc / $ pid iterieren (aufgrund einer Einschränkung in einem Kernel-Patch), aber psoder eine einfache ls /proc/*Dose?
Maxime Rossini
Es können nur Ihre eigenen Prozesse in / proc / angezeigt werden, wenn der grsecurity-Patch vorhanden ist. wDurchläuft die gesamte Prozessliste in meiner Art und Weise. Wenn Sie die Prozesse anderer Benutzer nicht sehen können, führt dies wahrscheinlich zu Anzeigefehlern oder Ähnlichem.
Richard Salts