Frage 102-11

Welche Dateirechte muss ein Shell-Skript besitzen, damit es ausgeführt werden kann?

  1. r

  2. w

  3. x

  4. SetUID (s statt x für den Eigentümer)

LPI-Lernziel Einfache Skripte anpassen oder schreiben (105.2)

Vergegenwärtigen wir uns einmal kurz, welche Rechte es überhaupt gibt: Leserecht (»read«, kurz r), Schreibrecht (»write«, kurz w), Ausführungsrecht (»execute«, kurz x). Daneben existieren noch die Sonderrechte SUID, SGID und Sticky Bit (falls Sie sich mit der Anwendung der Rechte nicht sicher sind, ist dies eine gute Gelegenheit zur Rekapitulation!).

Wenn ein Shell-Skript nicht gelesen werden kann, kann es auch nicht ausgeführt werden. Damit muss ein Shell-Skript die Rechte r und x besitzen (Antworten 1 und 3). Wenn Sie dieses Skript auch verändern wollen, müssen Sie zusätzlich über Schreibrechte verfügen oder das Skript in Ihr HOME-Verzeichnis kopieren und dort bearbeiten; Schreibrecht (Antwort 2) ist zur reinen Ausführung aber nicht nötig.

Das SetUID-Bit auf einem Shellskript wäre eine kapitale Sicherheitslücke (warum?) und wird vom Linux-Kernel darum nicht befolgt, selbst wenn es gesetzt ist.

2 Kommentare · Kommentar hinzufügen · RSS

Teilnehmer

Peter Kluge (eingetragen) · 24. März 2010, 11:02

Wenn nur das r-Recht vergeben ist, lässt sich das Shellscript mit dem Aufruf:

bash skript_name.sh

ausführen.

Richtig wäre hier nur r.

x ist nur nötig falls man das Shellscript wie ein Kommando aufrufen möchte.

gruß

Peter

Ausführen vs. Verarbeiten

Michael Mattiszik (eingetragen) · 19. Juli 2011, 12:36

Das mag jetzt zwar Wortklauberei sein, aber IMHO führt die Befehlszeile

bash skript_name.sh

das Programm bash und nicht das Skript aus. Das Skript ist in diesem Beispiel ein Argument, welches übergeben wird.

Alternativ kann ich ja auch mittels

cat skript_name.sh

die Befehele Stück für Stück manuell eingeben - aber habe ich damit das Skript auch ausgeführt?

Ich denke prüfungesrelevant richtig ist hier R-X für die Skripte im direkten Gegensatz zu Binaries, die auch bei --X ausgeführt werden können.

Wichtig

LPI-Logo

Die LPI Academy ist keine offizielle Webseite des LPI!

Sponsor

Linup-Front-Logo

Die LPI Academy wird für die Community unterstützt von der Linup Front GmbH

A Django Site

Diese Seite

Version: 0 (Anselm)
22.8.2009 12:04:17

Benutzer

Nicht angemeldet

Kommentare

RSS