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?
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?
Odpowiedzi:
Możesz ustawić powłokę tego użytkownika na rssh
lub 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 scp
proces z -f
opcją. Po uruchomieniu sftp demon OpenSSH odpala sftp-server
proces. 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 sshd
zastosowań). Rssh i scponly pozwalają na te polecenia i nic więcej. /bin/true
nawet nie uruchomiłby tych poleceń.
/bin/false
inny 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 -f
lub sftp-server
). Potrzebuje powłoki w stylu Bourne'a lub przynajmniej wystarczająco zbliżonego przybliżenia (takiego, rssh
który pozwala na wykonanie tylko tych kilku poleceń).
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 .
/bin/false
nie będą działać, podobnie jak chmod 644 ksh .