Comment créer un nouvel utilisateur qui peut se connecter via SSH, mais ne peut pas utiliser les commandes Shell? J'ai essayé de définir /bin/false
comme shell par défaut pour l'utilisateur, mais je ne peux plus me connecter via SSH.
Vous pouvez créer un nouveau petit "Shell" (j'ai utilisé des guillemets car ce n'est pas un vrai Shell) comme suit:
En tant que root, créez un nouveau fichier dans /bin
répertoire, disons fakesh
.
Ajoutez le code suivant dans /bin/fakesh
fichier:
#!/bin/bash
echo -n "$ "
while read cmd ; do
if [ "$cmd" = "exit" ]; then break; fi
if [ "$cmd" != "" ]; then echo "The only one available command is: exit"; fi
echo -n "$ "
done
Enregistrez le fichier et rendez-le exécutable pour tout le monde:
chmod +x /bin/fakesh
Après cela, définissez simplement /bin/fakesh
comme shell par défaut pour votre utilisateur. L'utilisateur sera disponible pour se connecter à son compte via ssh, mais il ne pourra exécuter aucune commande à l'exception de exit
.