Frage 101-199

Die umask habe den Wert 022. Welche Rechte hat eine neu angelegte Datei maximal?

  1. rwxr-xr-x

  2. rw-r--r--

  3. rwxr--r--

  4. r-xr--r--

LPI-Lernziel Dateizugriffsrechte und -eigentümerschaft verwalten (104.5)

6 Kommentare · Kommentar hinzufügen · RSS

Lösung

MiniMe (Gast) · 12. Januar 2010, 15:35

Ich bin mit der Lösung nicht ganz einverstanden. Mein Vorschlag (rwxr-xr-x) wurde als falsch gewertet. Ich vermute die "richtige" Lösung ist rw-r--r--. Dies stimmt aber imho nur wenn die Datei mit den Rechten 0666 angelegt wird. Wenn ein Programm versucht, eine Datei mit den Rechten 0777 anzulegen, dann hätte die resultierende Datei die Rechte 0755, also rwx-r-xr-x.

Auch wenn 0666 die Vorgabe beim Anlegen von nicht ausführbaren Dateien ist, so kann mich (als Entwickler) niemand zwingen mich daran zu halten. Ausserdem spezifiziert die Frage nicht den Typ der Datei. Daher sind die maximal möglichen Rechte für irgendeine Datei 0755 und damit wäre Anwort 1 richtig... es sei denn ich steh grad aufm Schlauch :)

Lösung

Nudge (Gast) · 12. März 2010, 22:14

Ja, das habe ich ebenso gedacht. Natürlich stellt sich die Frage, wie man die 755 schafft. Also die Datei anlegen und dann die Execute-Rechte setzen. Insofern wäre nach dem Neuanlegen der Datei tatsächlich 644 die richtige Antwort.

Lösung

MiniMe (Gast) · 15. März 2010, 09:41

Natürlich stellt sich die Frage, wie man die 755 schafft.

Ungefähr so:

int main() { creat("/meine/datei", S_IRWXU | S_IRWXG | S_IRWXO); return 0; }

"touch" ist nicht das einzige Werkzeug, um eine Datei zu erzeugen ;) In dem Fall hätte "/meine/datei" die Rechte 755.

Verzeichnisse

bernd (Gast) · 6. Oktober 2010, 14:15

Sind Verzeichnisse keine Dateien?

Außerdem störe ich mich an dem "maximale Rechte", da Umask halt nur die Standard-Rechte vorgibt, falls nichts anderes angegeben ist, und nicht die maximalen Rechte, welche ich einräumen kann.

Verzeichnisse

Anselm Lingnau (eingetragen) · 6. Oktober 2010, 16:28

Aus der Sicht der umask sind Verzeichnisse keine Dateien.

(Man kann sicher argumentieren, dass auf der physikalischen Ebene des Dateisystems Verzeichnisse Dateien verflixt ähnlich sehen – mit Inodes und so weiter –, aber das ändert nichts an der Tatsache, dass man außerhalb des Kernels völlig andere Systemaufrufe braucht, um auf Verzeichnisse zuzugreifen, als auf Dateien. Was uns Linux/Unix-Benutzer anbetrifft, sind Verzeichnisse also in der Praxis keine Dateien.)

umask Lösungshinweis

Oliver Lau (eingetragen) · 6. April 2011, 20:19

Die umask 022 wird bei Dateien von 666 und bei Verzeichnissen von 777 subtrahiert. Dann kommt man zu der richtigen Lösung.

Standardmäßig ist die umask auf 022 gesetzt. Man kann sie sich mit dem Kommando umask anzeigen lassen und verändern.

Oliver Lau, Einbeck

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 01:07:36

Benutzer

Nicht angemeldet

Kommentare

RSS