Bonjour,
je travaille en ce moment sur une distribution slitaz et je voudrai qu'un utilisateur du systeme ne puisse utiliser que des scripts que j'ai ecris pour lui. Il ne faut pas qu'il puisse utiliser ls, cd, etc.
Mais par contre il faut que les scripts qu'il utilise puissent utiliser tous ces binaires.
J'ai essayé un restrict shell mais ça va pas puisque les scripts qu'il lance n'ont pas non plus les droits.
Alternativement j'ai essayé avec chroot, mais ça obige a dupliquer un système dans le système.
L'idée c'est vraiment de restreindre l'utilisateur aux commandes dont ils aura besoin (en l'occurence, uniquement des scripts shell ecris pour lui).
Est-ce qu'il y a un moyen simple de faire ça ?
merci d'avance.
# lshell
Posté par psychoslave__ (site web personnel) . Évalué à 5.
http://sourceforge.net/projects/lshell/
Y avais un article dans le GLMF hors-série nº46 (février-mars 2010).
[^] # Re: lshell
Posté par B16F4RV4RD1N . Évalué à 3.
Ça semble intéressant en tout cas, merci pour le lien.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
# Un script en tant que shell
Posté par mekare . Évalué à 5.
En gros tu écris un script qui affiche un menu et attend une entrée utilisateur (ex : 1, 2 ou 3) place cette valeur dans une variable et suivant la valeur de cette variable lance le binaire ou le script que tu désires.
Si le script de départ se termine, celui défini en tant que shell utilisateur, alors l'utilisateur est viré de sa session (normal), il ne peu jamais revenir à un vrai shell.
Simple et efficace si tu as peu de commande à donner à tes utilisateurs.
J'en ai parlé ici : https://linuxfr.org/comments/1093921,1.html
Le fil d'origine peut également t'aider : https://linuxfr.org/forums/30/28195.html
[^] # Re: Un script en tant que shell
Posté par XavierJ . Évalué à 1.
C'est génial. Par contre ça marche pas tel quel en ssh. Je pensais que se connecter en ssh c'était pareil qu'en local mais visiblement non.
J'ai vu la solution d'ecrire command= ... dans le .ssh de l'autre fil, mais le problème c'est que je connais pas la clé ssh de l'utilisateur qui va se connecter.
Y a t-il un moyen pour que le script se lance de la meme manière en ssh ?
[^] # Re: Un script en tant que shell
Posté par mekare . Évalué à 2.
La seule chose que je fais c'est de définir dans /etc/passwd mon shell perso. Exemple :
toto:x:1060:1007::/home/toto:/bin/shell_perso.bash
[^] # Re: Un script en tant que shell
Posté par XavierJ . Évalué à 1.
C'est peut être du à dropbear, que j'utilise à la place de sshd.
[^] # Re: Un script en tant que shell
Posté par mansuetus (site web personnel) . Évalué à 2.
(après avoir ajouté le shell dans /etc/shells qui est la liste des shells proposés par chsh)
[^] # Re: Un script en tant que shell
Posté par Ellendhel (site web personnel) . Évalué à 0.
Si tu utilises SSH et que tu souhaites restreindre l'utilisateur à certaines commandes, je t'engage à mettre en place une authentification par clé publique et clé privée.
L'avantage est qu'avec une clé, il est possible de définir une commande forcée qui sera lancée lors de la connexion (la commande est a ajouter au fichier ~/.ssh/authorized_keys).
Documentation :
- http://wiki.debian.org/fr/ssh (point 11 "Divers")
- http://www.hackinglinuxexposed.com/articles/20021211.html (en anglais, réparti sur trois pages, suivre le lien "next article" tout en bas)
[^] # Re: Un script en tant que shell
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
Tu peux plutot dans la configuration serveur faire Match sur User ou Group et mettre des options, dont ForceCommand.
Ca date d'il y a 4 ans donc ca doit meme etre dans debian stable :)
http://linuxfr.org/2006/10/05/21434.html
# Path en readonly ?
Posté par barmic . Évalué à 0.
readonly PATH
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# suid
Posté par Alex . Évalué à 2.
[^] # Re: suid
Posté par netsurfeur . Évalué à 1.
Extrait de http://linux.die.net/man/2/execve :
"Linux ignores the SUID and SGID bits on scripts."
[^] # Re: suid
Posté par Alex . Évalué à 2.
sorry
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.