Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Standard UNIX-Berechtigungen ausreichend?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
colo
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 160
Location: Austria

PostPosted: Tue Dec 21, 2004 5:38 pm    Post subject: Standard UNIX-Berechtigungen ausreichend? Reply with quote

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
View user's profile Send private message
bmichaelsen
Veteran
Veteran


Joined: 17 Nov 2002
Posts: 1277
Location: Hamburg, Germany

PostPosted: Tue Dec 21, 2004 5:45 pm    Post subject: Reply with quote

Gibt es dafür nicht ACL?
http://www.suse.de/~agruen/acl/linux-acls/online/
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5329

PostPosted: Tue Dec 21, 2004 9:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
colo
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 160
Location: Austria

PostPosted: Wed Dec 22, 2004 10:05 am    Post subject: Reply with quote

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! :D
_________________
Free Software. Free Sociecty. Better Lives.
Back to top
View user's profile Send private message
DarKRaveR
Guru
Guru


Joined: 11 Oct 2003
Posts: 500
Location: Old Europe/G-Many

PostPosted: Wed Dec 22, 2004 1:37 pm    Post subject: Reply with quote

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
:wink: auch wenn es am Anfang etwas tricky ist ....
Back to top
View user's profile Send private message
Deever
Veteran
Veteran


Joined: 06 Jul 2002
Posts: 1354
Location: Zürich / Switzerland

PostPosted: Wed Dec 22, 2004 2:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
DarKRaveR
Guru
Guru


Joined: 11 Oct 2003
Posts: 500
Location: Old Europe/G-Many

PostPosted: Wed Dec 22, 2004 3:57 pm    Post subject: Reply with quote

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 :wink: .
Back to top
View user's profile Send private message
Deever
Veteran
Veteran


Joined: 06 Jul 2002
Posts: 1354
Location: Zürich / Switzerland

PostPosted: Wed Dec 22, 2004 4:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
DarKRaveR
Guru
Guru


Joined: 11 Oct 2003
Posts: 500
Location: Old Europe/G-Many

PostPosted: Wed Dec 22, 2004 4:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
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