who zeigt nicht alle Benutzer von ssh logins

hengs

hengs

Tripel-As
Hallo,

hab hier bei uns in der Firma auf einem Rechner (Debian etch) openssh-server laufen.

Wenn Wartungsarbeiten durchzuführen sind, möchte ich nicht einfach den Rechner abdrehen, wenn noch jemand darauf arbeitet.

Dafür dachte ich mir ist der Befehl who geeignet, welcher sich auch gut in einem Skript verarbeiten lässt.

Leider werden so nur User angzeigt die sich direkt mit ssh anmelden.

Alle anderen die z.B. mit gftp oder über das KDE fish-Protokoll angemeldet sind tauchen nicht auf.
top zeigt mir hingegen alle Benutzer.

Wie bringe ich who dazu alle Benutzer anzuzeigen, oder gibt es noch eine andere Möglichkeit?

Danke, hengs
 
Wie bringe ich who dazu alle Benutzer anzuzeigen, oder gibt es noch eine andere Möglichkeit?

who kann das wahrscheinlich nicht da es ja nur User die auf einem Terminal eingeloggt sind anzeigt. Das trifft bei SFTP z.B. nicht zu.

Habe aber gerade herausgefunden das in der Datei /var/log/auth.log bei mir (Debian Sarge) die Logins und Logouts protokolliert werden.
Dies ist bei einem Anmelden über GFTP in die Logdatei geschrieben worden:
Code:
Mar 28 14:53:00 hostname sshd[5994]: Accepted keyboard-interactive/pam for philip from 172.16.240.6 port 3458 ssh2
Mar 28 14:53:00 hostname sshd[5997]: (pam_unix) session opened for user philip by (uid=0)
Mar 28 14:53:00 hostname sshd[5997]: subsystem request for sftp
Mar 28 14:54:06 hostname sshd[5997]: (pam_unix) session closed for user philip

Du könntest somit anhand der Process ID (hier 5997) kontrollieren, ob sich der entsprechende User wieder ausgeloggt hat.

Hoffe das hilft dir weiter!

Gruß,
Philip
 
@Bâshgob

Hab who in allen Möglichkeiten durchgetestet, bringt das gleiche Ergebnis.

Ebenso ist es mit last.

@SkydiverBS

Die auth.log ist mir schon bekannt, diesen Weg wollte ich aber nicht gehen.

Sicher kann ich das alles mit einem Skript rausfiltern, aber ich dachte mir ist muss auch einen Weg geben der alle Benutzer sofort (wie z.B. who für Terminaluser) ausgibt.
 
Hallo
who zeigt dir nur die User, die im System eingeloggt sind, nicht aber die Netzwerkverbindungen zu irgend einem Port.
Da könnte eventuell netstat weiterhelfen.

who ist dafür schlichtweg nicht geeignet, da es nur auf die wtmp oder utmp zugreift.

Gruß Wolfgang
 
Danke,

netstat erspart mir viel Arbeit.

So muss ich nicht mehr die einzelnen User überprüfen, weil ein

Code:
netstat |grep ssh

zeigt z.B.

Code:
tcp6       0      0 ::ffff:192.168.1.20:ssh ::ffff:192.168.1.:50500 VERBUNDEN

wenn ein User verbunden ist (egal ob über ssh, sftp, ...)

Ist kein User angemeldet wird nichts ausgegeben.
 
Zuletzt bearbeitet:
Zurück
Oben