Toujours les privilèges Sudo

16

J'ai cherché cela, et la réponse est probablement à un million d'endroits sur le net, mais je ne le trouve pas ...

Comment donnez-vous à votre compte les privilèges root sous Linux pour que vous n'ayez pas besoin de sudochaque commande nécessitant des privilèges? C'est encore plus ennuyeux que le contrôle des comptes d'utilisateurs de Windows.

( S'il vous plaît ... Je n'ai pas besoin d'une conférence sur la façon dont je vivrais une vie dangereuse. Merci.)

user541686
la source

Réponses:

11

Est-ce que ça marche pour toi?

sudo EDITOR=gedit visudo

Modifiez cette ligne:

%admin ALL=(ALL) ALL

à cette ligne:

%admin ALL=(ALL) NOPASSWD: ALL

Pas de cours. :)


la source
3
+1, mais le problème, c'est qu'il me faut encore taper sudo.
user541686
@Lambert Ok, eh bien, je ne veux pas faire cela pour le tester, mais je pense que vous pouvez simplement donner à root un mot de passe 'sudo passwd root'. Déconnectez-vous en tant qu'utilisateur; connectez-vous en tant que root. GDM laisse-t-il maintenant la connexion root?
2
Eh bien, je l'ai déjà fait pour définir le mot de passe root et vous connecter root, et bien sûr, je n'en ai plus besoin sudo. Le problème est de savoir comment faire la même chose pour un autre compte.
user541686
7

Non. Vous pouvez faire deux choses:

1) Exécutez sudo -s pour rester root lorsque vous prévoyez d'entrer plusieurs commandes et que vous ne souhaitez pas les préfixer avec sudo.

2) Vous pouvez configurer votre fichier sudoers pour vous permettre d'exécuter sudo sans avoir à entrer votre mot de passe.

psusi
la source
2
Eh bien, ce que je ne comprends pas, c'est que si je peux me connecter en tant que "root" si facilement et ne jamais avoir à penser au mot "sudo", alors pourquoi ne puis-je pas faire la même chose dans un autre compte?
user541686
@Lambert: Parce que ces autres comptes ne le sont pas UID 0.
JanC
1
Huh ... donc même s’ajouter au groupe sudoou même quelque chose comme ça ne suffit pas? :(
user541686
2

Je ne vois pas à quel point il est difficile de courir sudo -i une fois dans un terminal, puis d'utiliser simplement celui-ci (ou vous pourriez en ouvrir plusieurs, mais vous devrez alors taper à nouveau votre mot de passe ) pour faire toutes vos tâches sudo.

(Et non, je ne vois pas vraiment le gros problème de taper votre mot de passe de temps en temps. Cela ne prend vraiment pas beaucoup de temps, et à moins que vous ne fermiez votre terminal après chaque commande, sudo ne demandera pas votre laissez-passer pendant un certain temps après vous vous êtes authentifié).

LasseValentini
la source
3
Ce n'est pas que cela prend du temps, c'est juste que c'est très irritant. Si je dis que je veux changer le fond d'écran de mon écran de connexion, je n'ai pas besoin d'un "Êtes-vous hors de votre esprit?! Je ne peux pas vous faire confiance." message me demandant si je suis en fait sain d'esprit même de penser à effectuer une telle action High Privilege, me disant que, si je saisis mon mot de passe, cet événement sera signalé . C'est comme si mon propre ordinateur ne me faisait pas confiance, et lorsque vous travaillez pendant un certain temps, cela devient diablement ennuyeux que les actions stupides des autres avec l'ordinateur incitent votre propre ordinateur à vous interroger.
user541686
Je ne veux pas vous en vouloir, mais parfois, les fonctionnalités de «sécurité» dans les logiciels conçus pour protéger les utilisateurs inexpérimentés me rendent fou. Si je veux faire exploser mon ordinateur, rien de plus qu'un "Êtes-vous sûr?!" message avec un "Ne plus demander ça." boîte ... plus, et cela va juste à l'encontre du but d'avoir une confirmation du tout. Si je dois entrer une confirmation pour tout, il pourrait tout aussi bien n'y en avoir pas - cela ne changera pas ma détermination, mais au moins je ferai les mêmes choses cinq fois plus vite sans aucune irritation.
user541686
La conception de sécurité d'Ubuntu est destinée à un environnement domestique avec plusieurs utilisateurs. Les modifications à l'échelle du système ne doivent être effectuées que par une personne de confiance, pas seulement par une personne qui possède un compte utilisateur ou qui emprunte votre compte.
Jeremy Bicha
@JeremyBicha Ils n'ont rien ajouté au-dessus de la conception originale de sécurité / autorisation Unix qu'Imo a été conçue pour le partage de temps multi-utilisateurs sur les mainframes ... Là où cela est approprié pour la maison, c'est une autre question mais nous sommes coincés avec.
masterxilo
1

Vous pouvez installer / activer la commande «su» et configurer le shell pour l'exécuter au démarrage.


la source
Y a-t-il une voie plus "directe"? Telles que l'utilisation sudoersou en me ajoutant à un groupe spécial?
user541686
sudo -s fait la même chose.
psusi
@psusi: Mais la question n'est -elle pas précisément de ne pas avoir à le faire à chaque fois que je démarre l'ordinateur?
user541686
Est-il possible de ne pas demander le mot de passe à chaque fois?
user541686
0

La bonne réponse à ma question:

Vous pouvez changer votre ID utilisateur (UID) et votre ID de groupe (GID) à zéro /etc/passwdpour obtenir des privilèges root.

Pourtant:

Si vous le faites, vous ne pourrez pas vous reconnecter !

Vous pouvez néanmoins créer un nouvel utilisateur et changer son ID de groupe / utilisateur à 0. Essentiellement, cet utilisateur sera un autre root, mais avec un dossier de profil différent, etc.

Ensuite, vous pouvez utiliser ce profil comme si vous étiez rootlui - même! :RÉ

Une autre solution":

(si vous aimez les mots de passe vides)

  1. Exécutez les commandes ci-dessous et comparez les sorties

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    Vous devriez voir que ce dernier a supprimé le charabia devant votre nom d'utilisateur (qui est lu en utilisant $(whoami)). (Si vous ne le faites pas, ne continuez pas !)

  2. Lorsque vous êtes prêt, exécutez la commande pour écraser /etc/shadow(à vos risques et périls!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. Votre compte a maintenant un mot de passe vide, et vous ne devriez plus être invité pour les autorisations sudo. (Du moins, c'est ce qui m'est arrivé.)

Remarque:

Vous devrez peut-être également activer la connexion sans mot de passe ; Je ne sais pas si c'est nécessaire, cependant.

user541686
la source
J'ai lu quelque part que l'utilisation de "sudo bash" fait le travail. Avez-vous essayé cela?
Curious Apprentice
@CuriousApprentice: L'essentiel était d'éviter sudo.
user541686
0

Je conseille FORTEMENT de ne pas se donner GID 0. SUDO n'est pas là pour compliquer les choses. La seule raison de créer un autre compte root (que le répertoire personnel soit / root / ou un répertoire personnalisé, c'est-à-dire / home / root2 /) est qu'il y a deux administrateurs dans le système qui ne souhaitent pas partager un mot de passe root.

Sinon, utilisez sudo. Et en supposant que vous n'êtes pas un utilisateur chevronné d'Unix, vous risquez également d'oublier quels outils sont uniquement root et ce qui est destiné aux utilisateurs courants.

MAIS, si vous sentez que vous avez un utilisateur normal sécurisé (j'utilise personnellement un mot de passe STRONG avec cette méthode), je laisse mon utilisateur (c'est-à-dire tatu.staff / uid = 1xxx, gid 50) exécuter SUDO sans mot de passe. Par conséquent, je ne mélange jamais ce qui est réservé à root et ce qui est destiné à l'utilisateur.

Utilisez les instructions ci-dessus pour créer un fichier sudoers (et les groupes correspondants) pour faire en sorte qu'un utilisateur spécifique exécute SUDO sans mot de passe ou voir l'exemple de fichier que je vais coller ici:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSER étant votre nom d'utilisateur, cette ligne permettant à un utilisateur spécifique d'exécuter SUDO sans mot de passe.

tous les utilisateurs du groupe SUDO doivent donner un mot de passe.

tous les utilisateurs de la roue de groupe peuvent exécuter sudo sans mot de passe - utile si vous souhaitez donner un accès SUDO sans mot de passe à plusieurs utilisateurs, ce qui est d'ailleurs, mettez simplement UNE IDÉE TRÈS MAUVAISE.

AUSSI: - N'oubliez pas le caractère% avant les noms de GROUPE. - On peut éditer / etc / group directement, mais ce n'est PAS conseillé. Utilisez ADDGROUP pour éditer, voir plus d'informations en tapant: man addgroup

Je dois souligner à nouveau que TOUJOURS éditer le fichier sudoers en utilisant la commande VISUDO, JAMAIS directement avec l'éditeur. Cela garantit que vous obtenez toujours un fichier sudoers valide - les erreurs de frappe ou les mauvaises déclarations, etc. sont une très mauvaise chose dans un fichier si important, et visudo vous évite tous les problèmes que vous ne pourrez peut-être pas récupérer par vous-même, et je parie que la première réponse à la question après c'est "toujours utiliser visdo. ne vous l'ont-ils pas dit? oh ils l'ont fait? Qu'est-ce qui ne va pas avec vous?" ou quelque chose de semblable;)

-

Salutations de la Finlande - il fait beau, un hiver plutôt agréable ici, seulement -10 degrés Celsius, pas ces températures terriblement inférieures à -25 ° C.

\\ tatu-o

tatu stty
la source
De plus, si vous ne voulez pas écrire de longues commandes ou avez tendance à oublier les drapeaux, les aliseses sont là pour vous! Vérifiez ~ / .bashrc que le fichier d'alias est défini, puis ajoutez vos alias à ~ / .bash_aliases
tatu stty