PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : who zeigt user, die nicht mehr eingeloggt sind -> wie werde ich die wieder los?



HardHat
21.01.03, 09:10
Hallo,

ich habe hier einen seltsamen Effekt. Wenn ich mit who gucke, wer auf dem Server eingeloggt ist, bekomme ich unter anderem dreimal den user root, der sich wohl gestern von einem Laptop angemeldet hat und dann nicht wieder ausgeloggt hat:


# who
hardhat pts/0 Jan 21 09:45 (192.168.1.136)
hardhat pts/2 Jan 21 10:00 (192.168.1.136)
root pts/4 Jan 20 15:24 (192.168.1.141:0.0)
root pts/5 Jan 20 15:25
root pts/6 Jan 20 15:26 (192.168.1.141:0.0)

Ich würde die drei user jetzt gerne rauswerfen, da sie ja sowieso nicht mehr da sind. Das macht man wohl mit 'ps' und dann 'kill'. Nur leider scheint es überhaupt keine Prozesse zu geben, die diesen Zugeordnet sind. So liefert z.B.:


# ps -t pts/6
ps: error: TTY could not be found.

Natürlich will ich nicht (und ich bin sicher ich muss auch nicht :D) für so einen Kinderkram neu starten. Also gebt mir mal einen Tipp, wie man das macht.

HardHat

HardHat
22.01.03, 09:51
Na was denn? keiner eine idee. Es kann doch nicht sein, dass die Prozesse einfach so verloren gegangen sind. Gibt es für "ps" noch andere Parameter, die mir Daten anzeigen, die ich mit "ps -A" nicht zu sehen kriege??

HardHat

marcdevil
22.01.03, 10:24
who -u zeigt auch die PID
kill -9 PID

HardHat
22.01.03, 10:54
Bei mir bewirkt who -u leider nicht die Anzeige der PID, sondern die Anzeige der idletime. So steht es auch in den man pages:


-i, -u, --idle
add user idle time as HOURS:MINUTES, . or old

marcdevil
22.01.03, 10:57
dann hast du ne andere who version, probiere mal who -a

Usage: who [-abdHlmpqrstTu] [utmpx_like_file]
who -q [-n x] [utmpx_like_file]
who [am i]
who [am I]
a all (Abdlprtu options)
b boot time
d dead processes
H print header
l login processes
n # specify number of users per line for -q
p processes other than getty or users
q quick who
r run level
s short form of who (no time since last output or pid)
t time changes
T status of tty (+ writable, - not writable, ? hung)
u useful information
m information only about current terminal
am i information about current terminal (same as -m)
am I information about current terminal (same as -m)

HardHat
22.01.03, 11:43
who -a gibt den Fehler: "invalid option". wenn ich who --help eingebe erhalte ich folgendes:


> who --help
Usage: who [OPTION]... [ FILE | ARG1 ARG2 ]

-H, --heading print line of column headings
-i, -u, --idle add user idle time as HOURS:MINUTES, . or old
-l, --lookup attempt to canonicalize hostnames via DNS
-m only hostname and user associated with stdin
-q, --count all login names and number of users logged on
-s (ignored)
-T, -w, --mesg add user's message status as +, - or ?
--message same as -T
--writable same as -T
--help display this help and exit
--version output version information and exit

If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common.
If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.

Report bugs to <bug-sh-utils@gnu.org>.

Ich möchte auch so eine luxus who version haben. Wo kann ich die bekommen. System ist übrigens SuSE 8.1.

HardHat

reno
05.05.03, 16:01
Gibt es dafür schon eine Lösung? Dasselbe Problem habe ich auch (unter RedHat 9). who -uH sagt zB.:

NAME LINE TIME IDLE PID COMMENT
rschafra pts/0 May 5 14:46 . 17735
rschafra pts/0 May 5 05:16 . 14612
Mache ich ein kill -9 14612 kommt:
bash: kill: (14612) - No such process

HardHat
05.05.03, 17:46
Original geschrieben von reno
Gibt es dafür schon eine Lösung? Ich hab' dann inzwischen doch mal neu gestartet. :rolleyes:

Zaphod-B
05.05.03, 19:54
Moin,
vor dem Problem hab ich letztens auch gestanden, und es ohne reboot lösen können.
Alle User die eingelogt sind werden in der Datei /var/run/utmp festgehalten.
Wenn jetzt aus irgendeinen Grund ein User nicht sauber ausgeloggt wird, wird sein Eintrag in der Datei nicht gelöscht. Ich hab darauf hin die Datei gelöscht, die Datei neu angelegt, mich ausgeloggt und wieder neu eingeloggt, danach war wieder alles i.O..
Allerdings sollte man sich vorher vergewissern, das wirklich kein anderer User eingelogt ist.

Da gibt es bestimmt noch andere Möglichkeiten, und bessere, aber ich habe dieses so gelöst.



Greetings Zaphod-B

HirschHeisseIch
05.05.03, 20:44
Der BOFH würd sagen: >clickety clikc<

Und das wars... ;) Einfach den user löschen.. dann ist das Problem auch weg.

Zaphod-B
05.05.03, 21:58
Dann hätte der BOFH zwar den User gelöscht, aber der Eintrag ist immernoch in der /var/run/utmp. ;)
Und wieso sollte der BOFH überhaupt einen User löschen wenn er solche Tools hat, wie ctluser (http://www.bofh.net/man/ctluser.8.html). :D



Greetings Zaphod-B

HirschHeisseIch
05.05.03, 22:10
Weil der BOFH generell alle 'luser' löscht, die dem irgendwie grad net in den Kram passen. ;)

reno
06.05.03, 13:46
Nun musste ich wegen Kernel-Update auch einen Reboot machen. Ich werde das aber weiter beobachten. :rolleyes:

linuxhanz
29.08.03, 15:26
Hi

Kann man für sowas nicht den Idle Daemon verwenden?

Na oder logcleaner wie wted zap , usw?

Je nachdem welche Seite *ggg*

EDIT:

EXACT MATCH:
idled
A daemon to logoff idle users.

src: www.freshmeat.net