Warum erlaubt umask 077 dem Benutzer nicht, Dateien / Verzeichnisse auszuführen?

10

Ich verwende umask 077. "Andere" und "Gruppe" haben keine Rechte, aber der Benutzer kann keine Dateien / Verzeichnisse ausführen. Warum erlaubt umask 077 dem Eigentümer nicht, Dateien / Verzeichnisse auszuführen?

Nur ich
quelle

Antworten:

6

Wenn Sie eine umaskvon 077 verwenden, hat nur der Benutzer Lese-, Schreib- und Ausführungsberechtigungen. Der Benutzer wird definitiv in der Lage sein, Verzeichnisse zu öffnen ('auszuführen') (mehr darüber, warum Verzeichnisse ausführbar sein müssen, finden Sie in meiner Antwort hier ). Dateien müssen jedoch immer durch Eingabe ausführbar gemacht werden chmod u+x myfile. Sie sind niemals automatisch ausführbar. Weitere nützliche Informationen zu finden Sie umaskin dieser Antwort:

Die wahrscheinliche Möglichkeit für Ihre Probleme besteht darin, dass Sie den Wert möglicherweise leicht falsch eingegeben haben, was zu einer anderen Umask geführt hat, oder dass der Wert nicht dauerhaft festgelegt wurde. Wenn Sie umask 077das Terminal betreten, gilt dies nur für diese Sitzung des Terminals. Um es für Ihren Benutzer dauerhaft zu machen, fügen umask 077Sie es einfach zu Ihrem hinzu ~/.profile. Die Standardeinstellung des Systems für umaskist in /etc/login.defs; es war früher in /etc/profile. Siehe auch die Manpage für pam_umask, ein Pam-Modul, das die Zuweisung von übernimmt umask.

Die folgenden Beispiele stammen aus einer erfolgreichen Einstellung von umask 077:

1) Für die Ordnererstellung : mkdir docaktiviert mit stat docgab die richtigen Berechtigungen und einen 'ausführbaren' Ordner:

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2) Für die Dateierstellung : touch newaktiviert mit stat newgab die richtigen Berechtigungen; Die Datei wird nur ausführbar gemacht, wenn Sie Folgendes verwenden chmod +x:

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

A umaskvon 077 gibt die angezeigten Berechtigungen an. Wenn Sie jedoch nach umask 077ordnungsgemäßer Einstellung (wie oben erläutert) weiterhin Probleme mit Berechtigungen haben, können wir dies weiter untersuchen.

Gemeinschaft
quelle
5

Der umask- Wert wird verwendet, um die Standard- fmask für Dateiberechtigungen (Basisberechtigung 0666) und dmask für Verzeichnis- / Ordnerberechtigungen (Basisberechtigung 0777) entsprechend zu ändern .

Die effektiven fmask- und dmask- Werte werden durch Abzug des umask- Werts berechnet ( Oktalberechnungen ).

Eine umask 0022 würde also dazu führen, dass fmask einen Wert 0644 (dh 0666 - 0022) erhält, während dmask 0755 (dh 0777 - 0022) wäre.

Die umask 0077 verhindert, dass Dateien mit einem Zugriff nicht nur auf die Welt (angezeigt durch die letzte Oktalstelle), sondern auch auf Ihre Gruppenmitglieder (angezeigt durch die vorletzte Oktalstelle) erstellt werden.

Referenz:

präzise
quelle
Je mehr ich das lese, desto mehr verstehe ich es nicht. Gibt es eine Erklärung für Neulinge, die nur kleine Änderungen vornehmen möchten, ohne es genau zu wissen?
GusDeCooL