Articles Taggés ‘droits’

Limiter les droits d’un utilisateur sur Debian/Ubuntu (lshell)

11 février 2010

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 :

  1. Subsystem sftp internal-sftp
  2. Match user nomUser
  3.          ChrootDirectory /home/nomUser
  4.          X11Forwarding no
  5.          AllowTcpForwarding no
  6.          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 :

  1. allowed         : ['ls','echo','cd','ll','svn','vi','rm']

Pour kiker l’utilisateur après un certain nombre d’erreurs :

  1. warning_counter : 2

dans ce cas, après 2 erreurs, la connection SSH est coupée.

On peut chrooter un utilisateur :

  1. path            : ['/var/www/']

Pour obliger un utilisateur à utiliser ce shell, il y a 2 cas :
On modifie un utilisateur :

  1. usermod –shell /usr/bin/lshell nomUser

On créer un utilisateur

  1. 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) :

  1. You are in a limited shell.
  2. Type '?' or 'help' to get the list of allowed commands
  3. kikoo:~$
  4. kikoo:~$ ls
  5. index.php  license.txt  robots.txt  svnup.php  system
  6. kikoo:~$ cat /etc/ssh/sshd_config
  7. *** forbidden path -> "/etc/ssh/sshd_config"
  8. *** You have 0 joker(s) left, before getting kicked out.
  9. This incident has been reported.
  10. kikoo:~$ svn up
  11. À la révision 12.
  12. kikoo:~$ echo "LOL"
  13. LOL
  14. kikoo:~$ echo "LOL" > /etc/ssh/sshd_config
  15. *** forbidden synthax -> "echo "LOL" > /etc/ssh/sshd_config"
  16. - Kicked out -
  17. Connection to 1.3.3.7 closed.

Voilà … bonne administration ;)