Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: ubuntu 12.04 / proftpd & web files  (gelezen 969 keer)

Offline psilin

  • Lid
  • Steunpunt: Nee
ubuntu 12.04 / proftpd & web files
« Gepost op: 2012/06/11, 20:31:07 »
All,

Na de nodige uren zoekwerk, en dagen bijbehorend denkwerk toch maar een 'help'vraag om te stellen.
Ik heb op een ubuntu 12.04 LAMP geïnstalleerd, virtuele domeinen tbv testen gedefinieerd en als ftp server proftpd met virtual users erbij gezet.

Ieder afzonderlijk onderdeel werkt in ieder geval. Apache met virtuele domeinen, php en mysql draaien. Proftpd draait ook maar daar zit nog wel wat rotigheid omheen.

Het geval wil dat apache draait met user/group: www-data.www-data ( 33.33 ). Bij het virtuele proftpd deel heb ik gebruiker ftpuser & ftpgroup aangemaakt (2001.2001). Bestanden worden dus met ftp ge├╝pload naar de server root, en als eigenaar hebben ze dan ftpuser/ftpgoup.
Apache draait als www-data dus bij php scripts e.d. volgt dan een error op permissies.

Daarom het ik aan proftpd de gebruiker en groep 33.33 www-data/www-data toegevoegd en die aan het ftp account gekoppeld ipv ftpuser/ftpgroup. Uiteraard de directory html met chown gewijzigd naar www-data.www-data.
Acces via ftp gaat prima, maar ik kan niet uploaden. Dit terwijl file permissies van de html dir op www-data.www-data staan met drwxr-x---

En dan krijg ik dus steevast een permission denied. Wat doe ik fout ?

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #1 Gepost op: 2012/06/11, 22:29:51 »
Als welke user log je vervolgens in op ftp?
Je filerechten staan nu namelijk zo dat mensen in dezelfde groep (maar niet de user www-data zijn) helemaal niet mogen schrijven.
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline psilin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #2 Gepost op: 2012/06/13, 20:16:50 »
Inloggen op ftp met user www-data.

Het lijkt wel of uid/gid 33/33 onderdeel van het probleem is.  Een echte home dir van bestaande gebruiker heb ik ook op de virtual ftpgroup/ftpuser tabellen ingevoegd, en dan werkt het wel.

Nog suggesties waar te zoeken?

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #3 Gepost op: 2012/06/13, 22:59:53 »
www-data is een systeem gebruiker en moet je dus ook nooit gebruiken als inlog.
Deze accounts zijn standaard geblokkeerd.

Maak desnoods een nieuwe gebruiker aan met dezelfde rechten, maar gebruik niet deze.

Je kunt door het GUID bit te zetten op een map er voor zorgen dat geuploade bestanden tenminste altijd dezelfde groep krijgen. Hierdoor zou Apache er gewoon bij moeten kunnen.
Anders kun je een scriptje laten draaien die de rechten goed zet.

Je kunt natuurlijk altijd nog overschakelen naar ssh toegang, hierbij kun je eventueel ook sshfs of sftp gebruiken.
Dan kan de gebruiker zelf ook een script aftrappen die de rechten goed zet.
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline psilin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #4 Gepost op: 2012/06/14, 19:47:21 »
inloggen met www-data is ook enkel op ftp zonder shell login ( tenminste dat is de bedoeling ).

ik heb user www-data toegevoegd aan de groep ftpgroup dmv  commando 'adduser www-data ftpgroup'

vervolgens log ik op de ftp server in met ftpuser/ftpgroup (2001:2001) en zet er een uitvoerbaar php script neer ( akeeba kickstart).
Openen van dit script in web browser geeft en error op file permissies: dit terwijl group ftpgroup rwx access heeft op de bovenliggende directory ( evenalsuser ftpuser ). Pas zodra rwx access bij other wordt gezet draait het script. Bestanden die het script draait zijn vervolgens eigenaar van user/group www-data/www-data

Dit moet toch dmv file permissies op te lossen zijn zonder het draaien van een script dat rechten goed zet ?

Indien user ftpuser en group www-data wordt geselecteerd als inloguser in ftp lijkt het goed te gaan totdat er vanuit ftp files gedeleted moeten worden.
Ook merkwaardig is te zien dat groep bij geuploade files 'nogroup' is ipv ingestelde www-data groep.
Morgen maar eens verder stoeien met een frisse blik. Het wordt steeds onduidelijker zo.
« Laatst bewerkt op: 2012/06/14, 21:03:37 door psilin »

Offline Buzzin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #5 Gepost op: 2012/06/14, 23:55:52 »
Ik zou het eerder andersom doen: dus de ftpuser lid maken van de www-data groep, en vervolgens het GID bit zetten op de map (en deze dus van de groep www-data maken)
Football: A battle between two teams of mindless thugs over scraps of coloured cloth. Usually accompanied by the spectacle of 22 overpaid primadonnas kicking a ball on a field.
DebianDevuan, KDE & OperaVivaldi addict, RedHat Engineer

Offline psilin

  • Lid
  • Steunpunt: Nee
Re: ubuntu 12.04 / proftpd & web files
« Reactie #6 Gepost op: 2012/06/15, 16:42:15 »
basis oorzaak gevonden : gebrek aan een SQLMinID regel in de sql.conf maakt dat er niet met systeem account met een uid/gid kleiner dan 1000 kan worden ingelogd met ftp.

Ik heb nu de www-data groep van uid:gid 33:33 de getallen 997:997 gegeven. Evenzo heb ik de ftpuser:ftpgrooup 998:998 gegeven. Vervolgens heb ik dmv SQLMinID in /etc/proftpd/sql.conf de waarde op 990 gezet zodat de overige systeem accounts niet geraakt kunnen worden. Wijziging van uid in bestand /etc/passwd, wijziging van gui in /etc/group.
Vervolgens dmv
find / -uid 33 -exec chmod 997 '{}' \;en find / -uid 33 -exec chgrp 997 '{}' \;ervoor gezorgd dat bestaande bestanden de nieuwe uid/gid combinatie krijgen. Wel eerst apache gestopt natuurlijk met service apache2 stop
Het combineren van gebruikers in verschillende groepen blijft tot problemen leiden bij verschillende scripten heb ik gemerkt. De rechten die dmv umask worden gezet in proftpd zijn niet per definitie dezelfde dan die bv kickstart.php vanuit de webbrowser geeft. Ik bleef dus met bestanden zitten die ik niet mocht editen/verwijderen omdat de rechten van de groep alleen lezen was ipv lezen & schrijven.  Dus alsnog log ik in als gebruiker/groep met uid/gid 997, maar wel per virtueel domein een eigen inlognaam/password combinatie )