Benutzerberechtigungen: Daemon und Benutzer

8115
Eddie Parker

Ich stelle mich häufig unter Linux auf dieses Problem und würde gerne wissen, wie es richtig gelöst werden kann.

Angenommen, ich habe einen Dämon am Laufen. In meinem Beispiel verwende ich LigHTTPD, einen Webserver.

Einige Software, wie Wordpress, genießt Lese- und Schreibzugriff auf Dateien, um Anwendungen über ein Webinterface zu aktualisieren, was meiner Meinung nach sehr praktisch ist.

Gleichzeitig genieße ich es, meine Dateien mit vim und meinem lokalen Benutzerkonto "eddie" zu hacken.

Darin liegt das Problem. Entweder habe ich alles für lighttpd oder eddie und eine geteilte Gruppe zwischen den beiden gewählt, und chmod es 660, oder ständig Sudo, um die verdammten Dinge zu bearbeiten. Ersteres ist keine schlechte Lösung, bis ich eine neue Datei erstellt habe. In diesem Fall muss ich daran denken, sie entsprechend zu modifizieren oder einen Hack wie einen Cron-Job zu erstellen, der für mich chmods ist.

Gibt es einen einfacheren Weg, dies zu tun? Habe ich etwas übersehen?

Prost,

-e

2
Sie können wahrscheinlich etwas mit ACLs (dateisystemabhängig) tun, um den Zugriff zu vereinfachen (r), aber das ist ein Spaß, mit dem ich mich noch nicht auseinandersetzen muss. Hoffentlich wird uns jemand anderes aufklären. quack quixote vor 14 Jahren 0
Ja, es ist auch mit ACLs möglich, aber die meisten Distros aktivieren sie standardmäßig nicht, und ich denke, es ist schwieriger. Es ermöglicht jedoch auch eine feinere Steuerung. Wenn Sie interessiert sind, sehen Sie man setfacl. Kim vor 14 Jahren 0

1 Antwort auf die Frage

2
Kim

Tatsächlich gibt es eine Möglichkeit, Dateien, die in einem bestimmten Verzeichnis erstellt wurden, automatisch zu erkennen. Nehmen wir an, die Dateien, auf die lighttpd zugreifen soll, befinden sich in / var / www. Dann setzen Sie die Gruppe von / var / www auf Ihre Gruppe und das SGID-Bit auf / var / www. Sie werden dies wahrscheinlich rekursiv für Subdirs tun wollen. Ich gehe davon aus, dass es sich bei der Gruppe um WWW-Daten handelt.

chgrp -R www-data /var/www chmod -R g+s /var/www 

Dies wird jedoch nur die Gruppe festlegen. Um neu erstellten Dateien standardmäßig 660 Berechtigungen zu geben, können Sie Ihre umask auf 007 setzen. Fügen Sie diese Zeile zu ~ / .bashrc hinzu:

umask 007 
Interesting. I've only vaguely heard of the SGID bit, so that's good info to get. As for umask, how does that work with the lighttpd process in this case? How do I set a umask for non users? Eddie Parker vor 14 Jahren 0
Ich bin kein Experte für lighttpd und ein Prozess kann seine eigene umask nach Belieben ändern, aber Sie könnten versuchen, den Befehl umask zum Startskript von lighttpd hinzuzufügen. Wenn das nicht hilft, werfen Sie einen Blick auf die Dokumentation von lighttpd oder wordpress. Kim vor 14 Jahren 1
Alright, thanks Kim. Very concise answer and exactly what I was looking for. I'll noodle with the server side, but at least the SGID bit will get me 90% of the way there. Eddie Parker vor 14 Jahren 0
ah, i was forgetting SGID. thanks @Kim quack quixote vor 14 Jahren 0