Quelle commande dois-je exécuter après avoir apporté des modifications au fichier / etc / passwd

12

J'ai apporté quelques modifications au fichier / etc / passwd, maintenant je voulais voir si l'effet des modifications avait eu lieu ou non. Quelle commande devrais-je exécuter pour cela.

Par exemple, après avoir modifié le fichier / etc / ssh / ssh_config, j'exécute la commande /etc/init.d/sshd.

RAM
la source

Réponses:

19

Pour vérifier le fichier passwdet le correspondant shadow, utilisez pwck. Pour vérifier le fichier groupet le gshadowfichier correspondant , utilisez grpck'. Voir les pages de manuel pour les détails des actions qu'ils effectuent.

La modification manuelle de /etc/passwdest préférable (le cas échéant) avec vipwet vipw -spour le shadowfichier. Pour les /etc/groupet /etc/gshadowutiliser vigret vigr -s, respectivement. L'utilisation de ces outils fournit non seulement un verrou pour empêcher les mises à jour multiples et simultanées des utilisateurs, mais offre également une vérification de la validité.

En général, les modifications du mot de passe et des fichiers de groupe sont mieux effectuées à l'aide de la norme user(add|mod|del)et des group(add|mod|del)outils.

JRFerguson
la source
7

Il n'existe aucune commande de ce type pour appliquer les modifications du fichier / etc / passwd.

Si l'utilisateur dont les détails ont été modifiés est connecté, il doit simplement se reconnecter pour appliquer les modifications. Sinon, ils seront immédiatement disponibles après la connexion.

En effet, la connexion lit les détails du fichier passwd pendant la connexion et les conserve en mémoire jusqu'à la déconnexion.

se ruer
la source
2
"... pas une telle commande ..." sous Linux . Beaucoup d'autres * ix ont de telles commandes. Le passedfichier est soit compilé sous une forme binaire plus rapide à traiter, soit conservé uniquement à des fins de compatibilité et les données doivent être traduites dans le formulaire DB de mot de passe natif du système d'exploitation.
Warren Young
2

J'ai réussi avec la update-passwdcommande après avoir édité manuellement le fichier / etc / passwd sur des systèmes basés sur Debian (par exemple Ubuntu). Je sais que ce n'est PAS l'usage prévu de cette commande, mais cela fonctionne aussi à cet effet. Voir sa page de manuel pour plus de détails: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

Sur les systèmes basés sur Red Hat / CentOS, je n'ai pas trouvé de commande équivalente, sur ces systèmes, j'ai dû effectuer un redémarrage du système pour que les modifications prennent effet.

Comme quelqu'un l'a déjà mentionné, il est préférable de ne pas modifier le fichier / etc / passwd manuellement. Au lieu de cela, j'utilise les commandes useradd / userdel / usermod chaque fois que possible. La seule raison valable pour modifier les fichiers / etc / passwd et / etc / group IMO est lorsque j'ai besoin de copier sur un grand nombre de comptes d'un autre système. Après avoir ajouté, par exemple, 100 comptes de cette façon, je fais généralement un redémarrage complet du système. De plus, lorsque vous modifiez manuellement les fichiers / etc / passwd et / ou / etc / groups, vous ne devez pas oublier de modifier également les fichiers fantômes appropriés.

Zoltan
la source
1

Je ne pense pas qu'il existe une telle commande car elle n'est pas nécessaire en premier lieu.

Si vous n'êtes pas convaincu, redémarrez simplement après avoir édité ce fichier et toutes les modifications seront effectives

Hinklo
la source
0

Vous ne devez pas modifier /etc/passwdmanuellement; utiliser à la usermodplace

Par exemple:

Si vous souhaitez modifier le répertoire personnel de l'utilisateur, utilisez cette commande:

usermod --home /path/to/home/dir username
Sun Kuo
la source
1
Il est parfois nécessaire de modifier le fichier à la main, mais il vipwdoit être utilisé.
Kusalananda
Je l'ai @Kusalananda
Sun Kuo