Quelles étapes pour ajouter un utilisateur à un système sans utiliser useradd / adduser?

10

Je parcourais quelques questions Linux et j'ai vu cette question intéressante.

Quelles étapes pour ajouter un utilisateur à un système sans utiliser useradd/ adduser?

La seule façon possible qui me vient à l'esprit est,

  • Ajoutez une entrée pour l'utilisateur dans le /etc/passwdfichier.
  • Ajoutez une entrée pour le groupe dans le /etc/groupfichier.
  • Créez le répertoire de base de l'utilisateur ajouté.
  • Définissez le nouveau mot de passe utilisateur à l'aide de la passwdcommande.

J'ai testé l'approche ci-dessus et cela a bien fonctionné.

Est-ce le seul moyen possible ou existe-t-il un autre moyen de contourner ce problème?

Ramesh
la source
4
Bonne question, mais où cela serait-il utile?
Nidal
1
@ Networker, à partir du même lien que j'ai publié dans la réponse, j'ai également trouvé cette information. Il est parfois nécessaire de créer des comptes fictifs qui ne sont pas utilisés par des personnes. Par exemple, pour configurer un serveur FTP anonyme .
Ramesh
2
@Networker, peut être un cas pratique, il peut être inutile. Cependant, il est toujours utile dans certaines questions d'entrevue, c'est là que j'ai eu cette question à l'origine. serverfault.com/a/225954
Ramesh
1
merci pour cette explication, et votre réponse est utile en effet, je vais l'essayer à l'avenir.
Nidal
2
@Networker: voici un cas d'utilisation: WSL Ubuntu sur Win10 refuse de travailler, se plaint de verrouiller les fichiers et continue de refuser de travailler après avoir supprimé lesdits fichiers (en tant que root). Je parie que c'est lié à la version Win10, mais je ne peux pas mettre à jour pour le moment. Donc, c'est un cas où j'utiliserais cette méthode.
runlevel0

Réponses:

13

La manière possible d'ajouter un utilisateur est plus ou moins similaire à ce que j'avais posé dans la question. J'ai cette approche d' ici .

Pour créer un nouveau compte manuellement, procédez comme suit:

Modifiez /etc/passwdavec vipwet ajoutez une nouvelle ligne pour le nouveau compte. Soyez prudent avec la syntaxe. Ne modifiez pas directement avec un éditeur. vipwverrouille le fichier afin que les autres commandes n'essaient pas de le mettre à jour en même temps. Vous devez faire en sorte que le champ du mot de passe soit `* ', afin qu'il soit impossible de se connecter.

De même, modifiez /etc/groupavec vigr, si vous devez également créer un nouveau groupe.

Créez le répertoire personnel de l'utilisateur avec mkdir.

Copiez les fichiers depuis /etc/skeldans le nouveau répertoire personnel.

Corrigez les propriétés et les autorisations avec chownet chmod. L' -Roption est la plus utile. Les autorisations correctes varient un peu d'un site à l'autre, mais généralement les commandes suivantes font la bonne chose:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

Définissez le mot de passe avec passwd.

Après avoir défini le mot de passe à la dernière étape, le compte fonctionnera. Vous ne devez pas le définir tant que tout le reste n'a pas été fait, sinon l'utilisateur peut se connecter par inadvertance pendant que vous copiez toujours les fichiers.

Ramesh
la source
ne devrait pas :être utilisé au lieu de .séparer le nom d'utilisateur du groupe?
pqnet
@pqnet oui, utilisez :.
joni
tnx @Ramesh pour cette question et le matériel.
Karthik Nedunchezhiyan