Sous os X, il est possible d'avoir des utilisateurs sans mot de passe. Si vous les inspectez avec dscl
leur mot de passe, affichez-les *
. Il est utilisé pour les utilisateurs du système tels que les utilisateurs de bases de données comme mysql
, pgsql
etc. Ce qui est bien est que ces utilisateurs ne se présente pas à l'écran de connexion et vous ne pouvez pas vous connecter comme les sans sudo
etc.
Après avoir supprimé un tel utilisateur essayant certaines choses, je voulais le recréer, mais je n'ai pas pu. J'ai réussi à obtenir un utilisateur avec un mot de passe vierge et j'ai pu définir le mot de passe sur *
. Mais aucun n'a eu le même effet que ci-dessus, car l'utilisateur s'est présenté sur mon écran de connexion.
Comment créez-vous un tel utilisateur?
useradd
commence à ajouter des identifiants à 1000, et les gestionnaires de connexion ne montreront pas les identifiants d'utilisateur en dessous, mais tout ce qui précède. donc bien que ce ne soit pas une réponse à cette question, ce pourrait être la résolution du problème. veuillez noter que 1000 est arbitraire et peut être inférieur ou supérieur à votre distribution. Pour corriger, modifiez simplement l'entrée utilisateur/etc/passwd
pour avoir un uid inférieur. Maintenant, je vais poser une question similaire.Réponses:
Vous pouvez exécuter
passwd --delete <username>
après avoir créé l'utilisateur avecadduser
. Après cela, vous pourrez vous connecter sans entrer de mot de passe.la source
Un utilisateur dans / etc / passwd avec le répertoire personnel de / dev / null et le shell de / sbin / nologin, peut être utilisé pour les commandes de sudoing, mais ne peut pas réellement être connecté, par exemple;
de mon / etc / passwd
Je me souviens à moitié que cela le fera disparaître également de l'écran de connexion XDM, mais je n'utilise plus XDM, c'est donc une supposition :-)
la source
Vous pouvez utiliser
usermod
, ce qui désactivera le mot de passe en utilisant un!
plutôt qu'un*
.Depuis la page de manuel sur usermod:
la source
L'utilisation
dscl
donneraitla source
Je ne peux pas être sûr d'OSX, mais sur FreeBSD vous pouvez utiliser:
la valeur de
-
passé à l'-h
option indiquepw
de définir le champ de mot de passe dans master.passwd sur*
, créant ainsi un compte sans connexion. La définition du shell n'est pas strictement nécessaire, mais évite une vérification du shell à partir de /etc/pw.conf.la source
Laisser le champ de mot de passe vide pour l'utilisateur dans le
passwd
fichier fonctionnera.la source
Si vous êtes sur Ubuntu, vous pouvez échanger le mot de passe pour l'utilisateur Ubuntu dans / etc / shadow consultez cet article:
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
la source
Sous Linux j'utilise:
L'alternative suivante doit être plus multiplateforme (si l'
-r
option n'est pas disponible):Ici:
le mot de passe dans / etc / shadow sera défini sur
*
. Sans-p \*
ce sera!
le shell sera
/sbin/nologin
(Vous pouvez/bin/false
aussi l' utiliser , mais je pense que le/bin
peut être monté trop tard sur certains systèmes). L'utilisateur ne peut donc pas se connecter-d
définit le homedir de l'utilisateurNOTE IMPORTANTE
Ici
-r
crée un utilisateur système:Cet indicateur est utilisé pour créer un compte système. C'est-à-dire un utilisateur avec une
UID
valeur inférieure à la valeurUID_MIN
définie dans /etc/login.defs et dont le mot de passe n'expire pas. Notez que useradd ne créera pas de répertoire personnel pour un tel utilisateur, quel que soit le paramètre par défaut dans /etc/login.defs . Vous devez spécifier une-m
option si vous souhaitez créer un répertoire personnel pour un compte système. Il s'agit d'une option ajoutée par Red Hat .L'option
-r
n'est peut-être pas présente sur votre système. Donc, pour créer un utilisateur système, qui ne s'affiche pas sur votre écran de connexion, je pense que vous pouvez utiliser l'-K
option. Quelque chose comme:-K UID_MIN=100 -K UID_MAX=499
. Vous pouvez essayer une option comme:pour vous déterminer automatiquement
UID_MAX
, mais je n'ai pas testé sur OS X. Vous aurez besoin de l'utiliserSYS_UID_MAX
pourUID_MIN
s'il n'est pas commenté dans /etc/login.defsIl en va de même pour
GID_MAX
etGID_MIN
pour l'ID de groupe de systèmes. (VoirGID_MIN
et si non commentéSYS_GID_MAX
dans /etc/login.defs à utiliser commeGID_MAX
)la source