View previous topic :: View next topic |
Author |
Message |
colo Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/10888484145a362bf94381.gif)
Joined: 21 Mar 2004 Posts: 160 Location: Austria
|
Posted: Tue Dec 21, 2004 5:38 pm Post subject: Standard UNIX-Berechtigungen ausreichend? |
|
|
Also, ich habe eine Gentoo-Box als Webserver (Apache2) aufgesetzt, und will auf dem Rechner nun Shells für einige Leute, und nur Webspace für andere, und für wiederum andere beides (also sowohl Webspace als auch Shells) einrichten - jetzt fragt sich, wie ich die Rechte am besten setzen sollte?
Was ich auf jeden Fall verhindern will ist, dass User mit Shell die Daten von Usern mit Webspace einsehen können (ich will das ganze über Unix-Logins und ~/public_html lösen). Das ist insofern ein Problem, als dass ich die umask der fraglichen User nicht auf 066 setzen kann, weil apache (läuft im Kontext apache:apache) dann nicht auf ~/public_html zugreifen kann...
Hat jemand Tipps/Ideen für mich, wie ich so ein Szenario am einfachten/besten in den Griff kriegen kann?
Herzlichen Dank im Voraus, wünsche noch einen besinnlichen Rest-Advent!
-colo _________________ Free Software. Free Sociecty. Better Lives. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
bmichaelsen Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/8206921454311a2208aadc.jpg)
Joined: 17 Nov 2002 Posts: 1277 Location: Hamburg, Germany
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
firefly Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
Joined: 31 Oct 2002 Posts: 5329
|
Posted: Tue Dec 21, 2004 9:00 pm Post subject: |
|
|
das sollte auch ohne acl gehen.
benutze einfach verschiedene gruppen.
das mit dem webverzeichnissen könnte man dann so lösen:
die user, welche nur webspace haben sollen steckst du z.b. in die gruppe "webspace" plus den apache user
der Besitzer von den verzeichnissen ist der jeweilige user,
und die gruppe auf "webspace" mit den Zugriffsrechten 750 hätten dann nur die besitzter und die Gruppenmitglieder zugriff auf die jeweiligen Verzeichnisse -> problem, das apache darauf nicht zugreifen kann gelöst + die nur shell haben können nicht darauf zugreifen.
desweiteren könnte man die mit shellzugriff in ihrem homedir per chroot festsetzen.
Ist nur als anregung gedacht mit ACL wäre eine feinere Regelung möglich nur ist die Frage ob man sowas braucht oder mit dem ansatz oben auskommen kann.
Gruß
firefly _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
colo Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/10888484145a362bf94381.gif)
Joined: 21 Mar 2004 Posts: 160 Location: Austria
|
Posted: Wed Dec 22, 2004 10:05 am Post subject: |
|
|
Ah, danke, ich hab mir ja gleich gedacht, dass ich eine eigentlich banale Lösung übersehen habe.
Die Idee, den apache-User in eine gemeinsame Gruppe mit den Webspace-Leuten zu stecken, ist einfach genial einfach! ![Very Happy :D](images/smiles/icon_biggrin.gif) _________________ Free Software. Free Sociecty. Better Lives. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
DarKRaveR Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
Joined: 11 Oct 2003 Posts: 500 Location: Old Europe/G-Many
|
Posted: Wed Dec 22, 2004 1:37 pm Post subject: |
|
|
Anmerkung, nein, es ist keineswegs genial, die webspace user, sofern sie nicht chrootet werden, können dann auf alle files schreiben lesen, die die gruppenrechte des apache haben.
Explizit solltest Du unbedingt auf folgendes achten:
logifls gehören üblicherweise nicht dem apache user, kann dieser nur über die gruppenrechte darauf schreiben, kann jeder webspace user das auch, davon ab könnten, sofern manche configfiles für die apache grupper lesbar sein müssen, diese auch vom webspace user eingesehen werden.
Mit ACLs fährst Du vermutlich besser, die webspace files gehörn dem jeweiligen user und du gibst dem apache einfach via ACL als USER die Leserechte, daß er die files lesen darf. Dadruch hat der user die kontrolle bei jeder datei, ob nru er, vielleicht eine weitere gruppe webspace oder alle die files lesen/ändern dürfen, apache kann sie aber unabhängig davon lesen ....
Im normalfall wirst du nicht wollen, daß jemand aus der webspace gruppe zum beispiel files eines anderen users anfasst ....
Ich würde das ganze mal durchdenken
Einfaches beispiel /path/for/www
setfacl -m u:apache:rx /path/for/www
setfacl -m d:u:apache:rx /path/for/www
danach mal mit dem user, dem dieses verzeichnis gehört touch irgendeinfile innerhalb des verzeichnis, mkdir nocheindummy auch in dem verzeichnis, dann mal mit getfacl * die rechte die der apache bekommt anschauen, man staune, genauso wie es sein soll, eventuell mußt/solltest Du auch die masks anfassen, eventuell mal die dokus ordentlich lesen ...
Das aber nur mal um zu zeigen wie man es ganz einfach machen kann ...
Ich habe bei mir ein etwas schlimmeres szenario, die ganzen webspaces werden via smb für winblows zur verfügung gestellt, entsprechend bekommen die einzelnen samba user via acl die rechte für ihren teil, außerdem kann der 'superuser' für den samba, die rechte via samba vergeben, es wird also auf die NT ACLs abgebildet, sodaß man unter windows die acls modifizieren kann, aso dauuser kann via samba seine files editieren, gleichzeitig mit sicherheit in e properties sagen, welcher Der User in wie weit zugreifen können soll, gleichzeitig soll der apache immer in die verzeichnisse wechseln können udn dateien lesen können, auch wenn der user eine datei neu anlegt, der user soll aber weder lokal noch via samba in der lage sein dem apache die rechte zu entziehen, wohl aber den anderen usern .... Dank ACLs machbar
auch wenn es am Anfang etwas tricky ist .... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Deever Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/d9a2e9133d29eda9e7305.gif)
Joined: 06 Jul 2002 Posts: 1354 Location: Zürich / Switzerland
|
Posted: Wed Dec 22, 2004 2:42 pm Post subject: |
|
|
Eine andere (elegantere) "Möglichkeit" wäre, den Apache für bestimmte VirtualHosts unter einer anderen UID/GID laufen zu lassen. Leider ist mpm_perchild tot und echten Ersatz scheint es nicht zu geben (siehe https://forums.gentoo.org/viewtopic.php?p=1904438). Scheinbar das Einzige scheint hier die Lösung mit den ACLs zu sein. Wenn ich mit dem Indianer weiterkomme, werd ichs dir hier posten!
Gruß,
/dev |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
DarKRaveR Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
Joined: 11 Oct 2003 Posts: 500 Location: Old Europe/G-Many
|
Posted: Wed Dec 22, 2004 3:57 pm Post subject: |
|
|
mit suEXEC sollte das auch möglich sein, allerding ist dann mod_php nicht mehr, das ist das dumme, und wenn apache wiederum einen support für UID/GID Wechsel haben sollte, dann müßte er root rechte haben - was in punkto sicherheit natürlich auch wieder ziemlich pfui wäre - Ein Teufelskreis . |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Deever Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/d9a2e9133d29eda9e7305.gif)
Joined: 06 Jul 2002 Posts: 1354 Location: Zürich / Switzerland
|
Posted: Wed Dec 22, 2004 4:00 pm Post subject: |
|
|
Naja, Root-Rechte braucht er ja sowieso, um Port 80 zu binden. "Nur" der Code, der die Anfragen behandelt, läuft ohne root.
Gruß,
/dev |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
DarKRaveR Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
Joined: 11 Oct 2003 Posts: 500 Location: Old Europe/G-Many
|
Posted: Wed Dec 22, 2004 4:12 pm Post subject: |
|
|
Ist schon klar, die Worker wie gesagt laufen halt mit anderen rechten - Davon ab, könnte er nicht theoretisch nach dem binden die root rechte droppen ? Ich meine, er hält sie sowieso wegen den logs, wie es scheint ..... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|