Portál AbcLinuxu, 12. května 2025 15:25
DD, chtěl jsem se zeptat, zda je možné při připojení přes SFTP na server, nějak omezit práva jen na jeden adresář. Chtěl bych, aby se dotyčný (user_martin) přihlásil na server do /sdileni/adresar a mohl se pohybovat jen tam. Jde to? Nerad bych, aby onen uzivatel videl celou adresarovou strukturu a mohl z ni dokonce cist. Je to mozne? Brouzdal jsem ruzne po netu i tady, ale nejak k tomu ne a ne dojit.
Dík za rady. Peet.
Vzhledem k tomu, že dotaz je na SFTP, nikoliv na SCP, doporučuji v sshd_config(5) nastudovat volby ChrootDirectory, Subsystem a ForceCommand.
Pomocí ChrootDirectory se zavře proces na serveru do chrootu. Pomocí Subsystem se předefinuje podsystém sftp na interní implementaci z sshd, aby uživatel nemusel spouštět žádný program z chrootovaného prostředí (mohl by si tam nakopírovat vlastní sftp-server). Pomocí ForceCommand se přebije jakýkoliv pokus uživatele spustit si nějaký jiný program přes poslední parametr SSH klienta (který si tam opět může přikopírovat).
Náhradní řešení místo ForceCommand je zajistit jiným způsobem, že si uživatel ve svém adresáři nic nespustí (například příznak noexec souborového systému, SELinux apod.).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.