Ich habe Umbrello installiert und es kann weder speichern noch automatisch speichern. Wenn ich mir die App-Berechtigungen ansehe, steht dort, dass sie root gehört und die Gruppe auf schreibgeschützt eingestellt ist, und das scheint das Problem zu sein. Meine allgemeine Frage lautet also: Welche APP-Berechtigungen sollten allgemein gültig sein und allen Benutzern zur Verfügung stehen?
Antwort1
Außer wenn das Setuid- und Setgid-Bit gesetzt sind, bestimmen die Berechtigungen einer ausführbaren Datei nicht den Sicherheitskontext des auf dieser Datei basierenden Prozesses.
Beispielsweise /bin/ls
ist im Besitz von root
;, hat aber deshalb keine besonderen Berechtigungen. Wenn der Benutzer joe
eingibt ls
,ls
Verfahrenwird mit den Anmeldeinformationen des Benutzers ausgeführt joe
.
Anwendungen, die für alle Benutzer bestimmt sind, müssen so installiert werden, dass alle Benutzer die Berechtigung haben, die ausführbaren Dateien auszuführen, und dass alle globalen Konfigurationsdaten für die Benutzer lesbar sind. Keines dieser Materialien sollte beschreibbar sein. (Beispiel: Konfiguration in /etc
, statische Daten in /usr/share/<appname>
(GNU/Linux-Konvention).
Eine Anwendung sollte ihre lokalen Benutzereinstellungen in einem für den Benutzer lesbaren und beschreibbaren Bereich speichern, beispielsweise in einer Konfigurationsdatei in seinem Home-Verzeichnis. Wenn eine Anwendung nicht automatisch speichern kann, liegt das wahrscheinlich nicht an den Berechtigungen für ihre Installationsmaterialien. Vielmehr versucht sie, automatisch an einem Ort zu speichern, für den der aufrufende Benutzer keine Berechtigung hat, oder an einem Ort, der nicht existiert (ein Pfad mit einer oder mehreren Verzeichniskomponenten, die nicht existieren). Das könnte an der lokalen oder globalen Konfiguration liegen.
Wenn Sie in einem Programm auf rätselhafte Berechtigungsprobleme stoßen und nicht klar ist, worauf oder wo es zuzugreifen versucht, können Sie die Ursache möglicherweise herausfinden, indem Sie die Anwendung mit einem Dienstprogramm zur Ablaufverfolgung von Systemaufrufen ausführen, wie es strace
auf GNU/Linux-Systemen oder truss
auf Solaris der Fall ist. (Von einer Terminalkonsole oder einem Terminalfenster aus oder mit in eine Datei umgeleiteten Ablaufverfolgungen.) Wenn das Berechtigungsproblem erneut auftritt, suchen Sie am Ende der Ablaufverfolgung nach fehlgeschlagenen Systemaufrufen im Zusammenhang mit dem Dateisystemzugriff.