Aide User - Commandes limitées

Bonjour , ou bonsoir
Aujourd’hui j’utilise ce forum afin de demander de l’aide sur un domaine bien particulier,

En effet, je voudrais faire un utilisateur qui aurait accès à uniquement quelques commandes (en l’occurrence celle d’apache [ start / stop /restart et graceful ]) et ce via ssh (putty). Celui ci ne serait évidemment pas root.

Vous l’aurez sûrement compris ces deux choses me permettraient une modification d’un serveur web apache : ses fichiers / reboot etc… à distance (depuis un autre pc / réseau etc…).

Ces ajouts seraient faits sur un Linux Raspbian (tournant sur une Raspberry PI modèle 3).

Je demande un peu (voir beaucoup) d’aide de votre part, sur la plus part des commandes

Merci d’avance

Je suppose que

  • soit vous voulez limiter l’usage de certaines commandes privilégièes, pas l’usage des commandes habituelles ( ls, …)

  • soit vous voulez être encore plus strict et ne permettre l’usage que d’un nombre limité de commandes bien définies.

Dans le premier cas, vous créez un simple utilisateur, et vous définissez dans le fichier sudoers la liste limitative des commandes (privilégiées) que cet utilisateur pourra lancer vis sudo.

Le deuxième cas est semblable à ce qui est utilisé en interne dans des logiciels de sauvegarde entre systèmes, ou dans le paquet gitolite3 : on utilise le fait qu’on peut créer des clés ssh qui embarquent une commande bien précise sur le serveur.
Vous pouvez vous inspirer de ce qui est fait dans gitolite, lorsque sur le poste client je lance

ssh gits@drhpcmss info

c’est un shell spécial qui est lancé sur le serveur, en tant qu’utilisateur git. Voir le programme perl /usr/share/gitolite3/gitolite-shell
Naturellement c’est une solution luxueuse à votre problème qui demande un effort de configuration :disappointed_relieved:
Sur votre serveur, le fichier ~/.ssh/authorized_keys de votre simple utilisateur peut se présenter sous la forme

command="/path/to/cmd arg1 argg2",no-port-forwarding,no-pty  ssh-rsa AAAAB3NzaC1ycXXXXXXX commentaire

avec un large choix d’options pour la connexion SSH qui ne fera que lancer la commande spécifiée au lieu de proposer un shell.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Merci pour cette réponse bien détaillée :slight_smile:
Je pense opter pour le solution de privilégier certaines commandes avec le fichier sudoers.

Merci encore :stuck_out_tongue: