Was sind die Nachteile einer restriktiven Umask von 077? Viele Distributionen (ich glaube alle, außer Red Hat?) Haben eine Standard-Umask von 022, die in / etc / profile konfiguriert ist. Dies scheint für ein Nicht-Desktop-System, auf das mehrere Benutzer zugreifen, viel zu unsicher zu sein, und die Sicherheit ist von Belang.
In Ubuntu werden die Home-Verzeichnisse der Benutzer ebenfalls mit 755-Berechtigungen erstellt, und das Installationsprogramm gibt an, dass dies dazu dient, Benutzern das Freigeben von Dateien zu erleichtern. Vorausgesetzt, Benutzer können die Berechtigungen für die gemeinsame Nutzung von Dateien bequem von Hand festlegen, ist dies kein Problem.
Welche anderen Nachteile gibt es?
linux
permissions
umask
K. Norbert
quelle
quelle
Antworten:
022 macht es bequem. 077 macht die Dinge weniger bequem, aber abhängig von den Umständen und dem Verwendungsprofil ist es möglicherweise nicht weniger bequem als die Verwendung
sudo
.Ich würde argumentieren, dass
sudo
der tatsächliche, messbare Sicherheitsnutzen, den Sie daraus ziehen, im Vergleich zu dem Grad der Schmerzen, die Sie sich selbst und Ihren Benutzern zufügen, vernachlässigbar ist. Als Berater wurde ich für meine Ansichten verachtetsudo
und aufgefordert, zahlreichesudo
Setups zu unterbrechen, und ich habe dafür noch mehr als 15 Sekunden Zeit. Ihr Anruf.Zu wissen
umask
ist gut, aber es ist nur eine Corn Flakes im "kompletten Frühstück". Vielleicht sollten Sie sich die Frage stellen: "Bevor ich mich mit Standardkonfigurationen beschäftige, muss deren Konsistenz über Installationen hinweg beibehalten werden, und sie müssen dokumentiert und für Leute gerechtfertigt werden, die nicht schlecht drauf sind, was sie kaufen werden mir?"Umask ist auch eine integrierte Bash, die von einzelnen Benutzern in ihren Shell-Initialisierungsdateien (
~/.bash*
) festgelegt werden kann, sodass Sie das nicht wirklich einfach erzwingen könnenumask
. Es ist nur eine Voreinstellung. Mit anderen Worten, es kauft dir nicht viel.quelle
Der offensichtlichste Nachteil ist, wenn Sie Dateien / Verzeichnisse in einem freigegebenen Verzeichnis erstellen und erwarten, dass andere Benutzer darauf zugreifen.
Natürlich ist es nur eine Frage, nicht zu vergessen, die richtige umask zu setzen, bevor Sie Dinge tun, die von allen Benutzern geteilt werden müssen.
Eine weitere Einschränkung (nicht wirklich ein Nachteil, wenn Sie sich dessen bewusst sind) besteht darin, dass Sie mit Sudo-Aufgaben beginnen, z. B. mit der Installation lokaler Programme, Ruby Gems, Python-Eiern (offensichtlich keine OS-Verwaltungspakete), dem Erstellen von Konfigurationsdateien usw.
Sie werden in Schwierigkeiten geraten, da die umask von der sudo-Sitzung geerbt wird, sodass nur root auf die von Ihnen erstellten Dateien / Verzeichnisse zugreifen kann. sudo kann so konfiguriert werden, dass die umask automatisch wie gewünscht eingestellt wird: Diese Frage wird auf superuser.com behandelt .
quelle
su -
um sicherzustellen, dass root eine andere umask hat ... aber oh ... Ubuntu glaubt nicht an root ...sudo su -
funktioniert gut. Ubuntu glaubt wie MacOSX nicht an ein Root-Verzeichnis, in das Sie sich einfach einloggen können. Persönlich mag ich es, die meiste Zeit etwas wie "Simon Says" für root-Befehle zu sagen.Umask ist nicht geeignet, wenn Sie versuchen, zu steuern, was andere Benutzer voneinander sehen können. Wenn Sie jedoch über zahlreiche Dateien verfügen und mit diesen arbeiten, die für den Punkt sensibel sind, an dem es weniger störend / riskant ist, die Erlaubnis zum Zugriff auf diese Dateien einzuholen, als nur die Leute sehen zu lassen, was sie wollen, dann ist eine umask von 077 eine gute Idee.
Ich habe einige vertrauliche Dateien auf einem von mir verwalteten Dateiserver. Ich denke, eine restriktive umask zu setzen und dann ein periodisches Skript zu haben, vielleicht ein Cron-Job, um spezifischere Berechtigungen für Elemente in bestimmten Ordnern zu setzen, wäre eine ideale Lösung für mich. Wenn ich das eingerichtet habe, werde ich wieder hier posten und Sie wissen lassen, wie es funktioniert hat.
@ [The guys bashing sudo] Starte einen neuen Thread dafür, es könnten mehrere eigene Threads nötig sein und dieser Thread handelt von umask.
quelle
Anwendungen von Drittanbietern, die ihre eigenen Installationssysteme verwenden, haben möglicherweise integrierte Annahmen zur Systemstandardeinstellung umask.
Als praktisches Beispiel: Nach der Aktualisierung einer Oracle 10-Datenbank auf einem System, auf dem die umask auf 077 festgelegt war, konnten die Anwendungen auf demselben System nicht auf die Datenbank zugreifen, da die für die Datenbankclients wichtigen Bibliotheken und die Verzeichnisse die Bibliotheken waren befanden sich in, waren nun geschützt, so dass nur der
oracle
Benutzer darauf zugreifen konnte, was offensichtlich nicht so war, wie es funktionieren sollte.Es stellte sich heraus, dass der Oracle Updater-Prozess nicht speziell darauf geachtet hat, dass die Berechtigungen der Client-Bibliotheken es anderen Benutzern ermöglichen, sie zu verwenden, sondern sich stattdessen auf die Annahme stützte, dass die vom Updater hinzugefügten Dateien mit umask 022 erstellt und somit verwendbar sind standardmäßig. Nach ein paar vernünftigen
chmod -R a+rX
Befehlen für die entsprechenden Verzeichnisse war alles wieder in Ordnung .Zugegeben, dies hätte vermieden werden können, indem das
oracle
Konto als spezielles Systemkonto mit Standard-umask 022 behandelt und die umask 077 auf tatsächlich anmeldungsfähige Benutzerkonten beschränkt wurde ... aber ich denke, dies ist ein gutes Beispiel dafür, wie umfassend "gehärtet" wird "entscheidungen können unvorhergesehene nebeneffekte haben..rpm
und.deb
Pakete tragen die ausdrückliche Erlaubnis der Informationen für alle Dateien , die sie enthalten, so dass sie nicht generell das Risiko von Fehlern dieser Art haben.quelle
Ich habe diese Zeile in meinem
~/.zshrc
Es ist wahrscheinlich keine gute Idee, es global festzulegen, aber es wird wahrscheinlich nicht schaden, es als Standard in Ihrer RC-Datei festzulegen, oder es wird sogar als Standard in der
/etc/skel/.rc
Datei festgelegt. Systemweit wird es jedoch Probleme geben.quelle
Es wird Probleme auf einem Server verursachen; Zum Beispiel, wenn mehrere Anwendungen als unterschiedliche Benutzer ausgeführt werden und versuchen, auf Dateien von unterschiedlichen Benutzern zuzugreifen. Wie Apache-Lesekonfigurationsdateien oder Pi-Hole-Lesekonfiguration dnsmasq.conf. Führen Sie es einfach auf Benutzern aus, die davon profitieren könnten, wie z. B. auf einzelnen Basisverzeichnissen, die nicht explizit festgelegt sind
/etc/profile
.quelle