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?
Wenn Sie eine umask
von 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 umask
in 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 077
das Terminal betreten, gilt dies nur für diese Sitzung des Terminals. Um es für Ihren Benutzer dauerhaft zu machen, fügen umask 077
Sie es einfach zu Ihrem hinzu ~/.profile
. Die Standardeinstellung des Systems für umask
ist 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 doc
aktiviert mit stat doc
gab 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 new
aktiviert mit stat new
gab 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 umask
von 077 gibt die angezeigten Berechtigungen an. Wenn Sie jedoch nach umask 077
ordnungsgemäßer Einstellung (wie oben erläutert) weiterhin Probleme mit Berechtigungen haben, können wir dies weiter untersuchen.
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.