[linux] rechten voor directorystructuur

Pagina: 1
Acties:

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
Voor een webservertje waar een aantal accounts opgehost worden zit ik met een moeilijk iets voor de rechten.

Op dit moment heeft ieder hosting account 1 ftp login. Dit moeten er meerdere kunnen worden. Maar in de huidige rechten structuur past dat niet echt:

/users
/users/kees (root:root, 755)
/users/kees/public_html (kees:usergroep, 705)
/users/kees/cgi-bin (kees:usergroep,705)

Door bij de directories 'public_html' en 'cgi-bin' 705 toe te kennen blijven de rest van de accounts (lid van de usergroep) buiten de deur. De accounts maken gebruik van cgi en php, maar deze draaien bij onder de eigen username (dmv suexec en suphp).

Met deze structuur van rechten kan ik dus niet nog een ftp account toegang geven tot een hostingaccount (in dit geval de user 'kees').

nu had ik de volgende mogelijke oplossing bedacht:

/users/kees (nobody:keesgroep, 750)
/users/kees/public_html (kees:keesgroep, 755)
/users/kees/cgi-bin (kees:keesgroep, 755)

Op deze manier worden gebruikers die niet 'nobody' (van de webserver) zijn of niet lid van 'keesgroep' buiten de deur gehouden. Een nieuwe user kan ik lid maken van 'keesgroep' en dan zou deze wel toegang tot de mappen moeten hebben.

Nu vraag ik me alleen af of het wel zo'n goed idee is om '/users/kees/' als eigenaar 'nobody' mee te geven, dus de user waar apache onder draaid. Is het dan niet zo dat ingeval van een server hack bijvoorbeeld alle directories van de accounts gewist kunnen worden?

Na dit verhaal vraag ik me ook af of het nog een beetje te begrijpen is :?

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • arikkert
  • Registratie: Juli 2002
  • Laatst online: 17-02 12:23
muis schreef op 17 maart 2004 @ 00:40:
Nu vraag ik me alleen af of het wel zo'n goed idee is om '/users/kees/' als eigenaar 'nobody' mee te geven, dus de user waar apache onder draaid. Is het dan niet zo dat ingeval van een server hack bijvoorbeeld alle directories van de accounts gewist kunnen worden?
nee, alleen directories die alleen files/dirs bevatten waar die user (nobody) schrijfrecht op heeft, kunnen gewist worden.
met 755 access kan de group overigens niet schrijven, dus tis maar wat je toegang noemt

[ Voor 12% gewijzigd door arikkert op 17-03-2004 01:43 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 20-02 03:31

Gerco

Professional Newbie

proftpd kan een soort user aliases maken. Dat heb ik in combinatie met ACLs op de volgende manier gebruikt:

/home/kees (root:root rwx, kees:users rwx, nobody:nogroup r-x)

Vervolgens proftpd aan mysql geknoopt en x users aangemaakt, allemaal met het UID van kees. Dan zet je in proftpd de optie aan die het laat kijken alsof alle files eigendom zijn van de ingelogde user (weet ff niet meer hoe die heet).

Op die manier heb je n accounts die allemaal gebruik maken van 1 system account (kees) en dus allemaal dezelfde toegang hebben tot de files van kees. Hier heb je natuurlijk geen MySQL voor nodig, het kan net zo goed met een ftpusers achrig bestandje, maar you get the point.

PS. De homedir van kees is van root, zodat kees de rechten hierop niet kan verklooien veranderen. nobody:nogroup heeft geen x rechten nodig op de homedir, maar als 'ie die niet heeft kan hij geen dirlisting maken.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
arikkert schreef op 17 maart 2004 @ 01:37:
[...]


nee, alleen directories die alleen files/dirs bevatten waar die user (nobody) schrijfrecht op heeft, kunnen gewist worden.
met 755 access kan de group overigens niet schrijven, dus tis maar wat je toegang noemt
Uhh dat moet natuurlijk ook 775 zijn.
Gerco schreef op 17 maart 2004 @ 08:53:
proftpd kan een soort user aliases maken. Dat heb ik in combinatie met ACLs op de volgende manier gebruikt:

/home/kees (root:root rwx, kees:users rwx, nobody:nogroup r-x)

Vervolgens proftpd aan mysql geknoopt en x users aangemaakt, allemaal met het UID van kees. Dan zet je in proftpd de optie aan die het laat kijken alsof alle files eigendom zijn van de ingelogde user (weet ff niet meer hoe die heet).

Op die manier heb je n accounts die allemaal gebruik maken van 1 system account (kees) en dus allemaal dezelfde toegang hebben tot de files van kees. Hier heb je natuurlijk geen MySQL voor nodig, het kan net zo goed met een ftpusers achrig bestandje, maar you get the point.

PS. De homedir van kees is van root, zodat kees de rechten hierop niet kan verklooien veranderen. nobody:nogroup heeft geen x rechten nodig op de homedir, maar als 'ie die niet heeft kan hij geen dirlisting maken.
Dat ziet er goed uit, ik gebruik idd ook proftpd en ga maar is kijken hoe dat zit hier.

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
het werkt nu perfect door de users uit de database te halen,
voordeel is ook dat je verschillende users met dezelfde uid kunt laten werken,
zo heb je toch verschillende accounts zonder geklooi met de rechten van bestanden.

voor de liefhebbers: de howto die ik gebruikt heb: http://www.khoosys.net/single.htm?ipg=848

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)