Q&A Chroot SFTP - Moontlik om gebruiker toe te laat om na huidige (chroot) gids te skryf
Ek het tans 'n WERKENDE SFTP-aanmelding, met 'n private sleutel vir aanmelding en die gebruiker word in hul tuisgids ingeskryf.
Doelwit: Hou die gebruiker chroot, maar laat SKRYF-toegang tot die relatiewe chroot-gids toe, sonder om enige pad of cd enige plek te spesifiseer.
Met ander woorde, wanneer die sftp-gebruiker aanmeld, wil ek nie hê dat hulle na 'n ander pad moet cd om 'n lêer op te laai nie.
Die gebruikers-aanmelding-pubsleutel is in:
Chroot-reëls in sshd_confg:
Home dir toestemmings:
Voorbeeld huidige werkvloei :
Is daar enige manier om die oplaai (sit) na die verstekgids toe te laat, sonder om eers te chdir?
Ek het wel buigsaamheid om hierdie gidse rond te skuif. Byvoorbeeld, die sftp chroot dir hoef nie in die gebruikers tuisgids te wees nie, ek kan selfs om die gebruikers se huisdir verander (maar die gebruiker moet steeds geautoriseerde_sleutels kan gebruik om aan te meld).
Neem asseblief kennis: Ek verstaan ​​baie SFTP-kliënte, en die opdragreël SFTP-kliënt maak dit moontlik om 'n relatiewe pad te definieer by aanmelding. Dit is buite die bestek van hierdie vraag, ek wil hê dat hierdie konfigurasie aan die bedienerkant gedoen word en die kliënt moet eenvoudig net aanmeld.
Hey @emmdee Dit het my vir ewig geneem om te besef daar is 'n eenvoudige en lekker truuk daaraan. U hoef net die eienaar van 'n ouerlêergids te maak waar u sFTP wil hê, en gebruik dan die kragopdrag om 'n spesifieke gebruiker te vertel om 'n spesifieke DIR in die CHROOT-gids te laai.
In jou geval as jy /home/sftpuserdie skryfbare gids wil wees, sal jy root die eienaar van die /homegids moet maak en dan voortgaan en Force Command /sftpuseras 'n landingsgids vir daardie gebruiker of 'n groep.
Jou /etc/ssh/sshd_confsal lyk soos volg:
Sodra dit gedoen is, moet jy die regte toestemmings gee soos vroeër gesê, die wortel moet die ouer(chroot) gids besit /hometerwyl die gebruiker die finale(-d) gids moet besit /sftpuser. Ek gaan aanneem dat jy 'n sFTP-gebruikersgroep genaamd sftpusers het , indien nie; laat net die groep van die volgende opdragte weg of vervang dit eerder met die gebruikers ( wortel in die eerste en sftpusers in die tweede). Aangesien ons -R in die opdragreël vir oorerwing gebruik, sal u soos volg met die worteleienaarskap voor die gebruikereienaarskap moet begin:
dan kan jy vir die gebruiker hardloop:
Ek is nie seker dat dit nodig is nie, maar jy kan altyd sshd-diens herbegin om seker te maak dat alle instellings weer herlaai word:
Dit behoort hopelik soos 'n sjarme te werk, ek het 'n soortgelyke probleem gehad en die oplossing was dat ek die meeste van die tyd in die oë na my kyk.
Afrikaanse idiootAfrikaanse idioot
Ek weet dit is 'n paar jaar, maar hierdie pos het my 98% van die pad daarheen gebring. na lank gesoek.
Om dit so te maak dat ek gebruikers kan laat chroot en hulle outomaties in hul eie gids kan kry met skryftoestemmings, het ek die metode gebruik wat African Idiot voorgestel het, en ook die oorspronklike chroot-gids gemaak wat deur root gebruiker en die ftp-groep besit word.
Maar die sleutel vir my om hulle in daardie vouer te hou en nie in staat te wees om .. en probeer om ander gebruikers se vouers te blaai nie, was om die vouer chmod 710 (rwx--x---)so te maak dat die ftp-groep uitgevoer het om die internal-sftp -d /%u te doen (dws cd in die gebruikers subgids) en nou as ek probeer om cd ..in die boonste gids, want daar is geen lees vir enigiemand behalwe root, dit misluk.