Plop à tous ….
Lorsque l’on doit partager/administrer une machine, on a souvent peur que les individus fassent de belles boulettes sur la machine en question (surtout si l’accès est partagé entre plusieurs utilisateurs).
Une technique consisterait à faire un chroot via SSH (si ça vous tente ^^ mais c’est super long).
Ou passer par un truc du genre dans /etc/ssh/sshd_config :
Subsystem sftp internal-sftp
Match user nomUser
ChrootDirectory /home/nomUser
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Qui bloque la plupart des commandes et n’autorise que le sftp …
Pour les admins flemmards, il existe une solution : lshell, on peut choper un .deb sur le site et une fois installé, il n’y a pas grand chose à faire :
Modifier le fichier /etc/lshell.conf (assez facile à comprendre), avec des paramètres du genre :
Pour les commandes autorisées :
allowed : ['ls','echo','cd','ll','svn','vi','rm']
Pour kiker l’utilisateur après un certain nombre d’erreurs :
warning_counter : 2
dans ce cas, après 2 erreurs, la connection SSH est coupée.
On peut chrooter un utilisateur :
path : ['/var/www/']
Pour obliger un utilisateur à utiliser ce shell, il y a 2 cas :
On modifie un utilisateur :
usermod --shell /usr/bin/lshell nomUser
On créer un utilisateur
adduser nomUser --shell /usr/bin/lshell nomUser
Et voilà … connectez vous avec un utilisateur « lshellé » (pour ma part chrooté et limité aux commandes « allowed » plus haut) :
You are in a limited shell.
Type '?' or 'help' to get the list of allowed commands
kikoo:~$
kikoo:~$ ls
index.php license.txt robots.txt svnup.php system
kikoo:~$ cat /etc/ssh/sshd_config
*** forbidden path -> "/etc/ssh/sshd_config"
*** You have 0 joker(s) left, before getting kicked out.
This incident has been reported.
kikoo:~$ svn up
À la révision 12.
kikoo:~$ echo "LOL"
LOL
kikoo:~$ echo "LOL" > /etc/ssh/sshd_config
*** forbidden synthax -> "echo "LOL" > /etc/ssh/sshd_config"
- Kicked out -
Connection to 1.3.3.7 closed.
Voilà … bonne administration 😉