• Limitowanie użytkowników SSH tylko do wybranych komend

    dodany przez Przemysław Sikora

    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

2 komentarze do “Limitowanie użytkowników SSH tylko do wybranych komend”

  1. mk pisze:

    A jak takiemu użytkownikowi zablokować np.: wyjdzie poza ~ ??
    Tak aby nie mógł eksplorować systemu np.: etc?

  2. przemek pisze:

    Można skorzystać z chroota dla ssh lub zrobić pełnego jaila.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony