web-dev-qa-db-fra.com

Comment définir un mot de passe pour la connexion en tant qu'invité?

J'aimerais définir un mot de passe pour le compte invité. Comment puis-je faire ceci? (Cette question ne répond pas à la question similaire dans ce forum, voir ci-dessous.)

La dernière fois que cette question a été posée sur ce forum, il a été suggéré qu'il n'y avait aucune raison de définir un mot de passe sur guest car cela revenait à configurer un nouveau compte régulier avec un mot de passe. Il me semble que ce n'est pas la même chose. Le compte Invité est sécurisé par défaut, limite l'accès au système de fichiers et se nettoie automatiquement, contrairement aux comptes classiques. Par autonettoyage, je veux dire qu’il ne laisse aucun fichier en vrac, aucun historique d’Internet, aucun virus potentiel (je sais, Linux n’en a pas), etc. puisque tout cela se passe dans un espace temporaire.

Il est également bon de protéger le compte invité dans certaines situations. Par exemple, si vous vivez dans une maison de groupe et que vous avez un ordinateur commun, vous voudrez peut-être partager librement avec des personnes de votre connaissance, mais limiter sinon l'accès coûteux à Internet. Tout le monde n'a pas la même situation.

Une suggestion la dernière fois était de "Ouvrir un terminal ... Ensuite, tapez passwd et le nom d'utilisateur. Il devrait donc s'agir d'un invité passwd" Cela ne fonctionnait pas entre mes mains, même avec Sudo. Linux a répondu "l'utilisateur 'invité' n'existe pas" Est-ce que je fais quelque chose de mal?

Si Ubuntu n'est pas conçu pour autoriser un mot de passe sur le compte invité, alors, dans l'esprit de Linux, si vous pensez que c'est une chose raisonnable à faire, recherchons une solution de contournement.

N'importe qui?

(Je suis un débutant, alors laissez-moi savoir où je suis naïf.)

1
guest

Le compte invité existe en tant que compte créé, puis détruit lors de la déconnexion, limité dans ce qu'il peut faire et existe sans mot de passe. C’est le but d’un "compte invité" - accès limité, détruit automatiquement à la fermeture de session. Il n'est pas conçu pour fonctionner avec un mot de passe.

Vous pouvez créer un compte "invité" que vous pouvez conserver en tant qu'utilisateur normal (et non en tant qu'utilisateur invité) en définissant un utilisateur nommé "invité" et en lui affectant un mot de passe, puis en limitant éventuellement leur accès. Vous pouvez alors désactiver le "compte invité" normal. (Le système de compte invité, cependant, n'aura jamais de mot de passe.)

3
Thomas Ward

Une dernière suggestion était de "Ouvrir un terminal ... Puis tapez passwd et le nom d'utilisateur. Il devrait donc s'agir passwd guest" Cela ne fonctionnait pas entre mes mains, même avec Sudo. Linux a répondu "l'utilisateur 'invité' n'existe pas" est-ce que je fais quelque chose de mal?

En effet, l'invité n'est présent que lorsque le compte invité est utilisé. Il est créé lorsque vous vous connectez en tant qu'invité et il est supprimé lorsque vous vous déconnectez.

Comme d'autres l'ont dit, le compte Invité ne peut pas être facilement protégé par mot de passe. Pour voir pourquoi, ouvrez simplement le script /usr/sbin/guest-account. Ceci est le script utilisé pour configurer ou supprimer le compte invité lors de la connexion/déconnexion. Il contient le code suivant:

if PWSTAT=`passwd -S "$USER"` 2>/dev/null; then
if [ "`echo \"$PWSTAT\" | cut -f2 -d\ `" != "L" ]; then
  echo "User account $USER already exists and is not locked"
  exit 1
fi

L'extrait ci-dessus montre qu'avant de configurer l'environnement invité, le script vérifie s'il existe un utilisateur nommé invité dans le système. S'il trouve un tel utilisateur, il vérifie s'il dispose d'un compte verrouillé . S'il n'a pas de compte verrouillé, le script se termine avec une erreur et la connexion en tant qu'invité échouera. Ainsi, même si vous décidez de créer un utilisateur invité permanent et de lui attribuer un mot de passe, vous échouerez car le compte ne sera pas verrouillé.

Ce que vous pouvez faire, c'est enquêter sur le script pour savoir ce qui est fait dans la configuration et le nettoyage. Ajoutez un utilisateur invité à votre système avec un mot de passe. Ecrivez un script qui imite le script de compte invité de la manière qui vous convient. Ensuite, utilisez les sections session-startup-script et session-cleanup-script du fichier /etc/lightdm/lightdm.conf pour spécifier votre script nouvellement écrit en tant que script devant être exécuté pour cet utilisateur invité. (pour des instructions avec le fichier lightdm.conf, regardez ici ). Mais notez que lightdm a un bogue (?) Et, à cause de cela, le script de nettoyage de session ne s’exécute pas lorsque vous quittez directement le compte. L’invité doit donc toujours se déconnecter avant l’arrêt.

2
falconer