Wie kann man umask global setzen?

16519
DevSolar

Ich verwende ein privates Benutzergruppen-Setup, dh foodas Heimatverzeichnis eines Benutzers foo:foogehört nicht foo:users.

Damit dies funktioniert, muss ich den umask global auf 002 setzen.

Nach einem kurzen grep -RIi umask /etc/*Moment schien es für einen Moment so, als würde das Ändern des UMASKEintrags /etc/login.defsden Trick tun. Dies gilt auch für Konsolenanmeldungen .

Wenn ich mich bei meinem Desktop anmelde und dort ein Terminal öffne, sehe ich immer noch die Standardeinstellung umask 022. Dasselbe gilt für Dateien, die aus Apps erstellt wurden, die über das Menü gestartet wurden. Anscheinend hat der Display-Manager (oder die X11-Komponente, die dafür verantwortlich ist) eine andere Einstellung als ein Konsolen-Login. Verdammt, wenn ich feststellen könnte, um welche es sich handelt. (Ich habe versucht, die Einstellung zu ändern /etc/init.d/rc, und nein, es hat nicht geholfen.)

Wie / wo stelle ich umask global ein (und für alle Benutzer), sodass die X11-Desktop-Umgebung auch das Memo erhält?

(Das System ist Linux Mint / Ubuntu, falls sich daran etwas ändert ...)

3

1 Antwort auf die Frage

5
MariusMatutiae

Sie können den umask global festlegen, indem Sie die Anweisung einführen

 umask 022 

(zum Beispiel) in / etc / profile oder / etc / bashrc.

Alternativ können Sie PAM verwenden, da Sie sich in einem Debian-System befinden. Um dies zu aktivieren, bearbeiten Sie zuerst die Datei /etc/pam.d/common-sessionund fügen Sie die Zeile hinzu:

 session optional pam_umask.so 

Bearbeiten Sie dann die Datei /etc/login.defsund fügen Sie die Zeile hinzu (oder ändern Sie sie)

 UMASK 002 

Diese Einstellungen werden nach dem nächsten Neustart erzwungen, aber seien Sie vorsichtig: Beide Methoden führen zu einer Konfiguration, die immer durch die Wahl der Benutzer in ihrem eigenen ~ / .bashrc ersetzt werden kann.

Wenn Sie wirklich nicht daran interessiert sind, die umask zu ändern, können Sie die Festplattenkonfiguration in / etc / fstab verwenden. Wie Sie wissen, hängen die verfügbaren Optionen und die Syntax vom Typ des Dateisystems ab.

Ich hatte den Eindruck, dass "/ etc / profile" für X11 nicht ausreichen würde, da es nur von den entsprechenden * Shell * -Umgebungen bezogen würde. Da diese Antwort * für mich * gearbeitet hat, war ich falsch. ;-) Die Datei, die ich tatsächlich bearbeitet habe (da ich Linux Mint / Ubuntu betreibe), war `/ etc / profile.d / umask`, die von` / etc / profile` (und führt zu meinen Bearbeitungen) geliefert wird nicht mit dem nächsten Systemupdate des letzteren abgemeldet). Vielen Dank! DevSolar vor 10 Jahren 0