Grundlagen von Linux und der Kommandozeile

Auf vielen Linux-Systemen zeigt „ls -l /usr/bin/passwd“ die Zeile „-rwsr-xr-x 1 root root ...“. Was bedeutet das „s“ an der Ausführungsposition des Eigentümers?

  1. Asetuid ist gesetzt; wer das Programm auch ausführt, es läuft mit den Rechten des Dateieigentümers (hier root)
  2. BDas Sticky Bit ist gesetzt; andere Benutzer als der Eigentümer und root können diese Datei weder löschen noch umbenennen
  3. CDie Datei ist eine Shared Library, die nur von anderen Programmen aufgerufen wird und nicht direkt als Befehl ausgeführt werden kann
Antwort und Erläuterung anzeigen

Antwort: A. setuid ist gesetzt; wer das Programm auch ausführt, es läuft mit den Rechten des Dateieigentümers (hier root)

s bedeutet, dass sowohl das setuid-Bit (set user ID) als auch das Ausführungsrecht gesetzt sind; das Programm läuft dann nicht mit den Rechten des aufrufenden Benutzers, sondern mit denen des Dateieigentümers. passwd muss, wenn ein normaler Benutzer sein eigenes Passwort ändert, /etc/shadow aktualisieren, das nur root beschreiben darf; deshalb ist es ein setuid-root-Programm. Ein Fehler in einem setuid-Programm kann einem normalen Benutzer als Sprungbrett zu root-Rechten dienen, daher darf das Bit nicht leichtfertig gesetzt werden. Oktal entspricht es der Stelle 4000, und chmod 4755 ergibt -rwsr-xr-x.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Linux und der Kommandozeile

  1. Was zeigt das letzte cat an, wenn die obigen Befehle nacheinander ausgeführt werden?
  2. Wie oben gezeigt, wird in einem Verzeichnis, in dem a.txt existiert und nofile nicht, der letzte Befehl ausgeführt. Welches Ergebnis ist richtig?
  3. Welchen Wert gibt der letzte Befehl in der obigen Sitzung aus?
  4. Welche Zeilen gibt das letzte grep in der obigen Sitzung aus?
  5. In den Auswahlmöglichkeiten sind die Leerzeichen am Zeilenanfang weggelassen. Welche Zeile gibt die letzte Pipeline in der obigen Sitzung aus?