Potrzebujesz powłoki do SCP?

33

Pozwalam znajomemu założyć konto lokalne na moim komputerze, wyłącznie dla SCP. Czy mogę określić powłokę jego konta jako /bin/true, lub w inny sposób ograniczyć konto, jednocześnie pozwalając SCP?

Gilles „SO- przestań być zły”
źródło

Odpowiedzi:

39

Możesz ustawić powłokę tego użytkownika na rsshlub scponly, które są zaprojektowane właśnie do tego celu:

rssh jest ograniczoną powłoką do użytku z OpenSSH, pozwalającą tylko na scp i / lub sftp. Obejmuje teraz także obsługę rdist, rsync i cvs.

scponly jest alternatywną „powłoką” (w pewnym sensie) dla administratorów systemu, którzy chcieliby zapewnić użytkownikom zdalnym dostęp zarówno do odczytu, jak i zapisu plików lokalnych, nie zapewniając żadnych uprawnień do zdalnego wykonywania.

Po uruchomieniu scp demon OpenSSH odpala scpproces z -fopcją. Po uruchomieniu sftp demon OpenSSH odpala sftp-serverproces. W obu przypadkach podproces jest wykonywany przez powłokę użytkownika, więc powłoka musi obsługiwać co najmniej te polecenia, stosując składnię podobną do Bourne'a. Zrobi to każda powłoka w stylu Bourne'a, podobnie jak csh (myślę, że jej reguły cytowania są wystarczająco kompatybilne do jakich sshdzastosowań). Rssh i scponly pozwalają na te polecenia i nic więcej. /bin/truenawet nie uruchomiłby tych poleceń.

Gilles „SO- przestań być zły”
źródło
Czy to oznacza, że ​​/ bin / false lub / bin / true nie będzie działać - czy tylko zezwala na sftp?
Danny Staple,
2
@DannyStaple Jeśli powłoka użytkownika jest ustawiona na /bin/falseinny program, który nic nie robi, ani scp ani sftp nie będą działać. W przypadku obu poleceń demon SSH odpala polecenie powłoki, które uruchamia proces dedykowanego serwera ( scp -flub sftp-server). Potrzebuje powłoki w stylu Bourne'a lub przynajmniej wystarczająco zbliżonego przybliżenia (takiego, rsshktóry pozwala na wykonanie tylko tych kilku poleceń).
Gilles „SO- przestań być zły”
3

Nie, ty nie. Jak zauważył Gilles, rssh działa bardzo dobrze w tym celu, podobnie jak scponly . Zobacz także dyskusję w tym powiązanym pytaniu .

Shadur
źródło
1
Są nadal powłokami, jak wskazano, /bin/falsenie będą działać, podobnie jak chmod 644 ksh .
Steve-o