Vraag slecht eigendom of modi voor chroot-directorycomponent


Ik heb de gebruiker MY_USER gemaakt. Stel zijn huisadres in op / var / www / RESTRICTED_DIR, het pad waaraan hij zich zou moeten houden. Vervolgens heb ik sshd_config bewerkt en ingesteld:

Match user MY_USER
  ChrootDirectory /var/www/RESTRICTED_DIR

Toen herstartte ik ssh. Gemaakt MY_USER eigenaar (en eigenaar van de groep) van RESTRICTED_DIR, en chmodded het naar 755. Ik krijg

Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER

Als ik de 2 regels van sshd_config heb verwijderd, kan de gebruiker met succes inloggen. Natuurlijk heeft het toegang tot alle servers. Wat is het probleem? Ik heb zelfs RESTRICTED_DIR geprobeerd te rootten (aangezien ik ergens heb gelezen dat iemand hetzelfde probleem heeft opgelost om dit te doen). Geen geluk..


44
2018-03-27 18:50


oorsprong




antwoorden:


Van de man pagina:

ChrootDirectory
  Specificeert de padnaam van een map om te chrooten (2) naar na   authenticatie. Alle componenten van de padnaam moeten eigendom zijn van de root   mappen die niet door een andere gebruiker kunnen worden geschreven of   groep. Na de chroot verandert sshd (8) de werkdirectory   naar de hoofddirectory van de gebruiker.

Mijn gok is dat een of meer van de mappen op het pad niet aan die vereisten voldoen (mijn vermoeden is www is eigendom van of geschreven door uw webgebruiker, niet root).
Ga terug en volg de aanwijzingen, zorg ervoor dat de bovenstaande vereisten in vet cursief zijn ontmoet.


51
2018-03-27 19:14



Dit maakt me gek. Ik heb "chown root: root -R / var / www"; "chmod 775 -R / var / www /"; "usermode -a -G root www-data". Maar ik kan nog steeds niet inloggen met MY_USER - MultiformeIngegno
Bevat de vereisten SUPPLEMENTAIRE groepen (degene die ik heb toegevoegd met usermod)? Zo ja, het is onbruikbaar .. :( - MultiformeIngegno
De vereiste is op de padcomponenten (/, /var, /var/www, en /var/www/RESTRICTED_DIR moeten allemaal voldoen aan de bovenstaande beveiligingsvereisten). Het is een echte chroot (bekijk de man-pagina) - de thuismap van je gebruiker moet bestaan in de chroot, zoals moet /bin & alle andere dingen die uw gebruiker nodig heeft ... - voretaq7
OK! Opgelost. Ik heb de chrooted dir een niveau hoger gezet. Vervolgens gaf ik 777 perms aan de originele chrooted_dir. Het werkt :) - MultiformeIngegno
Ik weet dit vrij oud is, maar in plaats van het wijzigen van de toestemmingen voor /var/www pad direct, wat apache zou kunnen verbreken, zou je veel beter af zijn om je sftp-map in een ander pad te plaatsen, en vervolgens URL-toewijzing in Apache gebruiken om naar de andere map te wijzen. Raadpleeg de documentatie hier httpd.apache.org/docs/2.4/urlmapping.html onder Files Outside DocumentRoot - Daniel


De ChrootDirectory-map moet het eigendom zijn van root en de 755-modus hebben:

sudo chown root:root /var/www/RESTRICTED_DIR
sudo chmod 755 /var/www/RESTRICTED_DIR

Ok, nu zijn alle bestanden in /var/www/RESTRICTED_DIR moet eigendom zijn van MY_USER, die moeten toebehoren www-data groep en 775-modus om groepsrechten toe te staan, zoals deze:

sudo usermod -a -G www-data MY_USER
sudo chown MY_USER:www-data /var/www/RESTRICTED_DIR/*
sudo chmod 775 -R /var/www/RESTRICTED_DIR/*

NOTITIE: Vergeet niet dat het een goede gewoonte is om alleen toegang te krijgen tot een htdocs-map als je apache configureert.


25
2018-01-16 21:07



Vrij zeker van dat het zou moeten zijn sudo usermod -a -G www-data MY_USER zoals de groep zou moeten komen -G - sMyles