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.
linux
ssh
shell
permissions
Maxime Rossini
quelle
quelle
w
zeigt "wer angemeldet ist und was sie tun", währendwho
zeigt "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.Antworten:
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.
quelle
ps
zeigt mir meine eigenen Prozesse,w
zeigt aber nichts. Siew
können also nicht über / proc / $ pid iterieren (aufgrund einer Einschränkung in einem Kernel-Patch), aberps
oder eine einfachels /proc/*
Dose?w
Durchlä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.