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 :
dans ce cas, après 2 erreurs, la connection SSH est coupée.
On peut chrooter un utilisateur :
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