Ich versuche, Nachrichten entweder mit Wall oder Write zu senden. Um dies zu testen, habe ich zwei Gnome-Terminalfenster geöffnet. Dann habe ich in einem Fenster Folgendes eingegeben:
me@host>>wall
message to everyone
<ctrl> + d
Als ich die Nachricht fertig hatte, habe ich mit (Strg-D) ein Interrupt-Signal EOF-Zeichen gesendet. Anstatt die Nachricht zu senden, hat das Terminal gepiept, als hätte ich eine ungültige Eingabe gemacht. Beim Schreiben tritt ein ähnliches Verhalten auf. Kann mir jemand helfen, was falsch ist?
Bearbeiten: Hier sind die Berechtigungsinformationen:
me@host>>ls -l $(type -p wall)
-rwxr-sr-x 1 root tty 27368 May 26 18:31 /usr/bin/wall
Antwort1
Sowohl wall
als auch write
unter Debian (und Ubuntu) verwenden setgid (Gruppen-ID festlegen) Privileg für dietty
Gruppe, um diesen Programmen das Schreiben in die Terminals anderer Benutzer zu ermöglichen.
Es ist jedoch üblich, dass Administratoren gemeinsam genutzter Computersysteme diese Funktion deaktivieren. Sie können die Berechtigungen anzeigen, indem Sie Folgendes tun:
ls -lL /usr/bin/write /usr/bin/wall
und auf einem normalen System würde man Folgendes sehen (die Daten spielen keine Rolle):
$ ls -lL /usr/bin/write /usr/bin/wall
-rwxr-sr-x 1 root tty 23056 Dec 11 2012 /usr/bin/wall
-rwxr-sr-x 1 root tty 14624 Jun 11 2012 /usr/bin/write
Ders
im ersten Feld-rwxr-sr-x
ist das Setgid-Bit und das vierte Feld ist die Gruppetty
. Sie benötigen beide (oder eine entsprechende Gruppe), damit die Funktion funktioniert.
Neben Berechtigungen gibt es noch einen weiteren Aspekt, auf den Sie bei der Verwendung von Gnome-Terminal stoßen werden: wall
und write
senden Sie ihre Nachrichten anAngemeldete Benutzer. Sie erhalten diese Informationen aus der utmp-Datendatei, die von Gnome-Terminal nicht unterstützt wird.
Weiterführende Literatur:
- Broadcast-Nachrichten erscheinen nicht auf dem Gnome-Terminal, sondern auf xterm
- Ist das Gnome-Terminal eine Art Shell ohne Anmeldung?
- Quellcode für
write
- Quellcode für
wall
- Fehler 71368 - Die Option „utmp/wtmp aktualisieren“ im Gnome-Terminal funktioniert nicht, wenn GDM nicht verwendet wird.
- Fehler 747046 – pty.c bereinigen