Bonjour,
pour des raison de sécurité j'ai mis en place un bash restricted pour un utilisateur distant.
Quand il se connecte en ssh pas de souci, il à son prompt et les commande passées fonctionnent en interactif.
exemple :
ssh toto@mamachine
toto@mamachine's password:***
bash-3.00$ ls
ftp ls ll calc
bash-3.00$
Malheureusement si il cherche à lancer ces même commande directement dans le ssh la commande n'aboutis pas.
exemple :
ssh toto@mamachine ls
toto@mamachine's password:***
( plus rien ne se passe, il faut faire ctrl C pour avoir la main)
pour cet user J'ai fait un shell particulier :
grep toto /etc/passwd
toto::x:60:60::/home/toto:/opt/toto-user.sh
cat /opt/toto-user.sh
#!/bin/bash
exec /bin/bash --restricted
cat /home/toto/.bashrc
export PATH="."
cat .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
si quelqu'un à l'astuce, je suis preneur !
Merci.
# /bin/rbash
Posté par Raphaël Fairise . Évalué à 2.
(Si par hasard /bin/rbash n'existait pas sur ta distrib, fais juste un lien symbolique vers bash : ln -s /bin/bash /bin/rbash)
[^] # Re: /bin/rbash
Posté par Octabrain . Évalué à 3.
[^] # Re: /bin/rbash
Posté par benoar . Évalué à 2.
[^] # Re: /bin/rbash
Posté par fredericabel . Évalué à 1.
le $@ marche à merveille.
je vais tester le changement de shell, des fois que ce soit plus simple encore.
# résolution :
Posté par fredericabel . Évalué à 2.
Pour ceux qui prendraient le thread pour leur usage.
Version sans script en utilisant le rbash :
ln /bin/bash /bin/rbash
et en mettant le /bin/rbash en shell de login dans /etc/passwd
Les commandes à distance passent bien avec arguments.
Le login en tant que tel generre 2 erreur mais donne la main à un bash restricted.
Version avec script et bash explicitement restricted :
En ajoutant "$@" dans le script de login (attention il faut mettre les double quote)
même résultats pour les commandes à distance et le login se passe sans erreur.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.