-
Limitowanie użytkowników SSH tylko do wybranych komend
Czasem istnieje konieczność dania komuś dostępu do konsoli ssh naszego serwera. Nie chcielibyśmy jednak dawać tej osobie dostępu do wszystkich dostępnych w terminalu komend. Istnieje prosty sposób uzyskania wspomnianej funkcjonalności.
cp /bin/bash /bin/rbash
w przypadku nowego użytkownika wydajemy poniższą komendę
useradd -s /bin/rbash nowyuzytkownik
w przypadku nowego
usermod -s /bin/rbash istniejacyuzytkownik
Tworzymy katalog dla narzędzi (binarek).
mkdir /home/nazwa-uzytkownika/programs
Edytujemy plik „/home/nazwa-uzytkownika/.bash_profile”
PATH=$PATH:$HOME/.local/bin:$HOME/bin
zmieniamy na
PATH=$HOME/programs
Następnie dodajemy obsługiwane komendy.ln -s /bin/ls /home/nazwa-uzytkownika/programs/
ln -s /usr/sbin/ifconfig /home/nazwa-uzytkownika/programs/
ln -s /usr/bin/top /home/nazwa-uzytkownika/programs
Byłoby to jednak proste do ominięcia, bowiem wspomniany plik mógłby zmodyfikować wspomniany użytkownik. Zakładamy więc blokadę edycji pliku poniższą komendą wydaną z użytkownika root
chattr +i /home/nazwa-uzytkownika/.bash_profile
dopiero jej zdjęcie przez root-a umożliwi modyfikację
chattr -i /home/nazwa-uzytkownika/.bash_profile
A jak takiemu użytkownikowi zablokować np.: wyjdzie poza ~ ??
Tak aby nie mógł eksplorować systemu np.: etc?
Można skorzystać z chroota dla ssh lub zrobić pełnego jaila.