Je pose des questions sur la gestion des utilisateurs à partir de la ligne de commande (par exemple sur un système où il n'y a pas d'outils graphiques disponibles). Dans le passé , je l' ai utilisé plusieurs programmes différents pour ajouter ou supprimer et les utilisateurs des groupes ou de modifier leurs attributs: adduser
, useradd
, usermod
, gpasswd
, et peut - être d' autres que j'ai oublié. J'ai également entendu à quelques reprises que certains de ces programmes sont de bas niveau et devraient être évités pour une utilisation générale, mais je ne me souviens jamais lequel. J'aimerais donc obtenir une réponse définitive pour les programmes recommandés pour au moins les tâches suivantes:
- Créer un nouvel utilisateur
- Ajouter un utilisateur à un groupe
- Supprimer un utilisateur d'un groupe
- Modifier le groupe principal d'un utilisateur
- Modifier le shell de connexion ou le répertoire personnel d'un utilisateur
- Supprimer un utilisateur
Je cherche des outils standard que je peux espérer être disponibles sur à peu près n'importe quel système Linux (de n'importe quelle distribution).
groupmod
. Je ne vais pas en faire une réponse .... mais la façon la plus standard est probablement d'utiliser votre éditeur de texte ... rappelez-vous que les fichiers affectés ne sont que du texte délimité./etc/passwd
n'était qu'une partie d'un système complexe)Réponses:
Malheureusement, aucune de ces opérations n'a jamais été normalisée.
Certains systèmes d'exploitation offrent cette fonctionnalité dans le cadre du système d'exploitation, comme Linux, mais même si votre système Linux les inclut, au fil du temps et à travers les distributions Linux, les outils et leurs noms ont changé de sorte que vous ne pouvez pas vraiment dépendre d'un ensemble standard d'outils à faire ces tâches.
Vous devez disposer d'un ensemble d'outils par système d'exploitation.
la source
Sur les systèmes Debian (et dérivés),
adduser
etdeluser
enveloppent plus haut niveau autouruseradd
et fonctionnalités associées. La création d'utilisateur de couverture, l'addition et la soustraction d'appartenance à un groupe et la suppression d'utilisateur. Les commandes correspondantes de création / suppression de groupes sont, assez sensiblement,addgroup
etdelgroup
.usermod
semble couvrir le cas d'utilisation restant que vous nommez.la source
Vous mentionnez Linux dans la dernière partie de votre question, mais comme le titre est générique, je répondrai à FreeBSD.
FreeBSD a des commandes similaires à Linux mais ce sont des commandes passées à l'
pw
utilitaire:etc. Cependant, on peut analyser la commande en deux parties:
user
etmod
; un nom et un verbe. De plus, on peut également utilisergroup
etdel
:pour, par exemple, supprimer un groupe. Voici donc ce que je trouve vraiment cool: l'ordre n'a pas d'importance, pas plus que l'espacement! Ce que cela signifie, c'est que vous pouvez vous rappeler quoi appeler en pensant à ce que vous voulez faire (en anglais quand même):
et plus! L'
pw
utilitaire vous permet également de verrouiller et déverrouiller des comptes:Les options et tous les paramètres que vous passez sont tous normalisés (bien qu'ils ne s'appliquent pas toujours aux commandes d'appel), de sorte que la mémorisation est minimisée. Dans l'ensemble, c'est une belle façon de faire les choses.
Remarque: les ellipses dans les exemples ci-dessus représentent des options et des paramètres transmis à d'
pw
autres utilisateurs ou groupes.la source
Juste pour être complet, dans la partie inférieure du spectre, je mentionnerais vipw (8) et vigr (8), juste au-dessus de "vi / etc / passwd" et "cat> / etc / passwd" mais juste en dessous "useradd ". Oh, et ils existent dans la plupart des variantes Unix.
la source
Tous ces outils sont finalement conçus pour éditer des fichiers texte pour vous. Si vous voulez savoir comment gérer les utilisateurs et les groupes sur des systèmes, vous devez vous familiariser avec ces fichiers texte sous-jacents. Heureusement pour vous, il n'y en a que deux,
/etc/passwd
et/etc/group
. Il existe également des fichiers complémentaires/etc/shadow
et/etc/gshadow
pour l'observation du mot de passe et du groupe respectivement.la source
Dans de nombreuses situations, savoir comment modifier "/ etc / passwd" est toujours utile.
la source
Si vous utilisez un backend autre que le backend de la machine locale par défaut - OpenLDAP étant le plus courant - alors cpu (changer l'utilitaire de mot de passe) peut être la commande que vous recherchez. Il peut être exécuté sur des machines autres que le maître LDAP s'il est configuré correctement, et sa syntaxe est généralement la même que celle de
useradd
etc avec un préfixe decpu
. Donc pour me rajouter je pourrais faireConsultez la page de manuel de cpu pour plus de détails.
la source
Si votre question se limitait à
mais tous les systèmes ont un accès réseau à un seul serveur. Vous pouvez utiliser quelque chose comme NIS ou YP. Cette réponse est donc limitée aux administrateurs au sein d'une même organisation.
Vous avez toujours le problème où presque chaque distribution a des façons légèrement différentes de configurer YP, mais la configuration ne se produit qu'une seule fois. De plus, ce type de réseau n'est pas anodin.
Au sein d'un seul site / réseau, vous gagnerez beaucoup en faisant cela. En combinaison avec automount, mon préféré est de pouvoir SSH vers n'importe quelle machine * nix et d'avoir tous mes fichiers et outils personnels à ma disposition.
Au point, la distribution que vous choisissez pour le maître est le système que vous utilisez pour gérer les utilisateurs. Vous aurez alors un seul ensemble d'outils / documentation pour gérer les utilisateurs et les groupes.
Il est même possible d'utiliser quelque chose comme des outils LDAP et samba sur le maître. L'utilisation de samba me permet également d'avoir mes fichiers personnels à ma disposition sur les machines Windows.
la source
La chose la plus proche à un niveau vous obtenez est
vi /etc/passwd
,vi /etc/shadow
etvi /etc/groups
. (Les hérétiques peuvent se substitueremacs
.) Tout ce que j'ai trouvé depuis ne fonctionnera que sur certains systèmes.Sérieusement, découvrez quels outils votre système d'exploitation possède et utilisez-les. Ne vous attendez pas à ce qu'ils fonctionnent de la même manière sur tous les systèmes. Ce serait bien s'ils étaient standardisés, mais ils ne le sont pas.
la source
/etc/passwd
,/etc/shadow
,/etc/group
et/etc/gshadow
. C'est à cela que servent les outils. Les humains sont sujets aux erreurs, alors que les outils ont été testés et sont (espérons-le) exempts de bogues./etc/passwd
directement un éditeur et des amis. Utilisezvipw
etvigr
, qui: verrouille le fichier contre l'édition simultanée; lancez votre éditeur préféré ($VISUAL
); ne modifiez pas le fichier si vous faites une erreur de syntaxe; sur certains systèmes (par exemple FreeBSD), régénérez également d'autres fichiers qui doivent être synchronisés.