Créer un utilisateur système aux droits (très) limités

Salut à tous,

Je souhaite créer un utilisateur systeme avec des droits ultra limité.
En fait il ne devrait pouvoir lancer qu’une seule commande (celle lui permettant de rebooter un VM xen ou de l’arreter).

Je ne voudrais pas qu’il puise lister /etc/network/interfaces ou /etc/group ou toute autre info.

Uniquement une ou deux commandes très ciblées (xen-shell et une autre).

En chrootant l’utilisateur peut-etre ?
Une idée ?

Merci

tu peut deja appliquer des droits avec chmod sur le fichier interface , et group .

comme ça tu peut dire que seul le root peut editer le fichier .

bonjour,
peut-etre en modifiant son $PATH, ne laissant que son repertoire local bin, /home/userlimit/bin dedans, avec un seul binaire …

Salut,

la solution pour toi c’est de chrooter ton utilisateur.
j’ai fait ça chez moi avec un user “tata”

grep tata /etc/passwd tata:x:1003:1004:,,,:/home/tata:/bin/chrootshell

positionner le bit-suid:

cat /bin/chrootshell #!/bin/bash exec -c /usr/sbin/chroot /home/$USER /bin/bash

ls /home/tata bin lib ls usr

Il y a tres peu de commandes.
certaines sont replacées par des petits scripts bash:

rm -rf /bin essaye encore! meme pas mal ! alors comme ça on veut effacer /bin ?

tu peut faire des cp pour copier les executables dont tu a besoin.
copie aussi les librairies dont ils ont besoin.
Pour ça aide toi de ldd:

ldd /bin/bash linux-gate.so.1 => (0xffffe000) libncurses.so.5 => /lib/libncurses.so.5 (0xb7f42000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f3e000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e0c000) /lib/ld-linux.so.2 (0xb7f92000)

perso j’ai copié tout /lib

man chroot

Juste un truc, méfiez vous du chroot, c’est pas très sikioure ;p

A+

Ah oué un autre truc, ne copiez surtout pas tout /lib ou usr/lib cela ouvrirait beaucoup de portes inutilement :wink:

ed,

peut-tu developper stp ?

Comment qq’1 pourrais t-il utiliser des lib pour outrepasser ses droits ?

On m’a toujours expliqué que c’est le top moumoute de la sécu Linux :confused:

Oui moi aussi parce que l’utilisateur doit gagner en privilège et en plus outre passer son chroot.

Beaucoup de server chroot leur différents servers (oui je sais). Par exemple en executant apache dans un chroot particulier.

Alors, c’est quoi la bonne façon de faire ?