Iron Bars Shell, czyli ibsh, to bardzo restrykcyjna powłoka. Autorzy tak o niej piszą:

It is small, secure, and is based on a whole new perspective: DENY EVERYTHING!!

Strona domowa projektu: http://ibsh.sourceforge.net [1]

Instalacja i dodanie użytkownika

Ze strony http://sourceforge.net/projects/ibsh/files/ibsh-binary/ibsh_debian_binary/ [2] pobieramy pakiet dla Debiana, następnie go instalujemy:

 dpkg -i debian_ibsh.deb

Dodajemy /bin/ibsh do listy powłok znajdujących się w naszym systemie:

nano /etc/shells

# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/bin/ibsh

Dla próby tworzymy użytkownika i przypisujemy mu powłokę /bin/ibsh:

useradd user222 -m -d /home/user222 -s /bin/ibsh

Konfiguracja

Przelogowujemy się na nowo utworzonego użytkownika:

su user222
[/]% ls -a
.  ..  .bash_logout  .bashrc  .profile
[/]% nano .bashrc
Sorry, can't let you do that!
[/]% 

To znaczy, że działa. Użytkownik ma bardzo ograniczone pole. Jedyne dostepne polecenia są zdefiniowane w pliku /etc/ibsh/globals.cmds:

# Add any commands the user may execute. Even shell commands.
# You have to allow logout and/or exit, so the user can logout!
# cd and pwd should also be allowed. Note: other shell builtin
# commands are not yet implemented!
cd
pwd
logout
ls
exit

W tym pliku dopisujemy polecenia, do których ma mieć dostęp ograniczony użytkownik.

W pliku /etc/ibsh/globals.xtns możemy zdefiniować pliki z jakim rozszerzeniem może otwierać nasz użytkownik :

# Add any extension the user may use.
.doc
.txt

Przypisy:

  1. http://ibsh.sourceforge.net
  2. http://sourceforge.net/projects/ibsh/files/ibsh-binary/ibsh_debian_binary/