Linux.general : compte utilisateur
Posté par zigfrid75 () le 26 mars 2008bonjour a tous,
question a 2 balles. est il possible de n'autoriser a un user que d'utiliser certainne commande et seulement ces commandes. pour etre plus precis je voudrais que ce user n'ai le droit que de lancer un script et rien d'autre. pas de mkdir, pas de ls enfin juste lancer le script.
est ce possible ? si oui comment proceder ?
> Lire le message (14 commentaires, moyenne: 1,9).
Vous avez demandé le commentaire #917318.



Shell restrictif
Il est difficile de gérer ce genre de permission au niveau des permissions du système de fichiers.
Ca doit pouvoir se faire à coup de selinux et consors, mais c'est certainement bien compliqué pour peu de chose.
La solution vers laquelle je m'orienterai pour ma part serait un shell restrictif qui autorise ou non l'execution des commandes en question.
Ca se code très bien en shell.
Exemple:
[binarym@gco]:~% grep test /etc/passwd 15:18
test:x:1001:1001::/home/test:/tmp/rshell.sh
[binarym@gco]:~% cat /tmp/rshell.sh
#!/bin/sh
do_exit=0
while (( ! $do_exit)) ; do
echo "exit or uname ?"
read cmd;
if [ "$cmd" != "exit" ] && [ "$cmd" != "uname" ] ; then
echo "$cmd not allowed";
elif [ "$cmd" == "exit" ] ; then
do_exit=1;
else
uname;
fi;
done
[binarym@gco]:~% su - test
Password:
Pas de répertoire, connexion avec HOME=/
exit or uname ?
uname
Linux
exit or uname ?
ls
ls not allowed
exit or uname ?
uname -a
uname -a not allowed
exit or uname ?
uname | ls
uname | ls not allowed
exit or uname ?
exit
Voilà.
[^]rbash
y a un truc fait pour ça, c'est rbash (restricted bash). man rbash.
C'est un vrai bash complet, mais qui interdit plein de choses en mode interactif (mais pas en mode script). Entre autres, de changer de répertoire, et de lancer des programmes avec un chemin explicite.
Si le bashrc positionne des PATH et des alias qui vont bien, alors normalement il ne laissera à l'utilisateur que le choix de lancer les applis que tu prédéfinis.
Après il suffit de mettre rbash au lieu de bash comme shell par défaut de ce compte.
[^]Re: rbash
Bien vu. Je connaissais pas et un apt-cache search restricted shell ne m'a rien donné sur ma testing...