Réponses:
Le /etc/passwd
fichier a comme dernier élément sur la ligne d'un utilisateur le programme à exécuter lors de la connexion. Pour les utilisateurs normaux, ce paramètre est généralement défini sur /bin/sh
ou sur un autre shell (par exemple bash, zsh).
Traditionnellement, les identités utilisées pour posséder des processus, des fichiers ou d'autres ressources ont leur "shell" défini /bin/false
comme dans
syslog:x:101:102::/home/syslog:/bin/false
Le pseudo-utilisateur syslog possède /var/log/syslog
et est le seul UID qui a l'autorisation d'écriture pour ce fichier, mais on ne peut pas se connecter en tant que syslog utilisateur car il n'y a pas d'interpréteur de commandes à exécuter.
Concernant la question à laquelle vous essayez de répondre:
Créez un utilisateur John qui ne devrait pas obtenir un shell interactif.
La question signifie "Créez un utilisateur nommé john
qui ne pourra pas se connecter et exécuter des commandes à partir d'un shell". Interactive décrit le fonctionnement du shell: l'utilisateur tape quelque chose et le shell fait quelque chose en conséquence (il y a une sorte de communication entre l'utilisateur et le shell). Le mot "interactif" n'ajoute pas vraiment d'informations à la question, car tant qu'il y a un utilisateur tapant des commandes, la session shell est interactive.
Il existe également le mode non interactif, où l'utilisateur enregistre une série de commandes qu'il souhaite exécuter dans un fichier (appelé script shell) et exécute le fichier par la suite. Certaines commandes se comportent différemment selon que le shell est exécuté de manière interactive ou non interactive. Vous pouvez en savoir plus ici (ce document est pour bash
, mais le même concept s'applique pour les autres shells).
Sur la façon de créer un tel utilisateur, si vous parcourez, man useradd
il existe une option pour définir le shell de connexion, -s
ou --shell
. Vous pouvez également créer un utilisateur normalement, comme vous le souhaitez (que je suppose que vous connaissez déjà?), Puis modifier /etc/passwd
comme dans la réponse de msw .
Oui, changer le shell dans le fichier de mot de passe (/ etc / passwd) à certains programmes qui ne pas permettre une évasion de coquille.
si vous voulez être un bofh / bin / false fera exactement ce que vous voulez.