Maison  >  Article  >  Opération et maintenance  >  Quelle est la méthode pour sudo sans saisir de mot de passe sous Linux ?

Quelle est la méthode pour sudo sans saisir de mot de passe sous Linux ?

WBOY
WBOYavant
2023-05-12 23:46:193610parcourir

Solution 1 :
Entrez en mode sans échec au démarrage. A ce moment, connectez-vous en tant que root, exécutez :

chmod 740 /etc/sudoers

Puis ouvrez le fichier /etc/sudoers, enregistrez la dernière ligne :

%admin ALL=(ALL)
改为
%%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

et quittez.
Exécution :

chmod 0440 /etc/sudoers
reboot your ubuntu.OK!

Solution 2 :
Ubuntu ne peut pas se connecter directement avec le compte root par défaut. Vous devez obtenir les autorisations root via su ou sudo auprès du premier utilisateur créé (c'est-à-dire l'utilisateur créé lors de l'installation). Cette commande est souvent utilisée lors de l'exploitation du système sous Ubuntu. On voit qu'il est nécessaire que les nouveaux arrivants connaissent cette commande. Cela peut être gênant, mais cela augmente la sécurité et empêche les utilisateurs d'endommager le système en raison d'une mauvaise utilisation.

sudo
Format : sudo [Autres commandes]

sudo signifie Super utilisateur faire. sudo ne joue qu'un rôle dans l'appel de l'utilisateur root dans ce processus. Une fois cette opération terminée, son rôle disparaît. Si vous souhaitez utiliser la commande pour appeler l'opération de privilège root, vous devez à nouveau utiliser sudo. Au cours de ces processus, le système demandera à l'utilisateur de saisir un mot de passe. Ce mot de passe est le mot de passe que vous avez saisi lors de l'installation du système. Remarque : Lorsque vous saisissez ce mot de passe, vous ne saisirez pas de mot de passe avec un signe * comme lorsque vous saisissez un. mot de passe dans Windows. De cette façon, le but est de rendre le mot de passe plus sécurisé, car ne pas savoir combien de mots de passe vous avez augmentera sans aucun doute la difficulté des pirates de mot de passe. :)

Exemple :

Si nous voulons modifier les autorisations de upload.tar.gz dans le répertoire actuel, nous devons utiliser sudo. Si vous souhaitez modifier les autorisations sur un autre fichier eva.tar.gz dans le répertoire actuel, vous devez à nouveau utiliser sudo.

ownlinux@server:/var/www$ sudo chmod 777 upload.tar.gz
[sudo] password for ownlinux: (此时输入你的密码)
ownlinux@server:/var/www$ sudo chmod 777 eva.tar.gz
[sudo] password for ownlinux:

Ajouté :
Habituellement, nous ne nous connectons pas en tant que root, mais lorsque nous exécutons certaines commandes (commandes), nous avons besoin des autorisations root. Nous utilisons généralement la "commande sudo" pour exécuter la commande. Depuis que j'utilise Ubuntu, j'utilise souvent sudo. Lorsque j'utilise sudo, je dois saisir un mot de passe, j'ai donc cherché un moyen de sudo sans saisir de mot de passe. J'ai cherché sur Google il y a quelque temps et j'ai trouvé facilement une méthode, mais je ne l'ai pas bien comprise. Aujourd'hui, j'ai étudié attentivement le fichier /etc/sudoers et il est devenu très clair comment mettre en œuvre mes besoins. Les informations que je voyais sur Internet étaient souvent floues, alors je les ai triées en fonction de mes propres besoins.
En supposant que mon nom d'utilisateur est Jay (appartenant au groupe admin), la méthode pour créer sudo sans mot de passe est la suivante.
Exécutez la commande : sudo visudo ou sudo vi /etc/sudoers. Si vi est utilisé pour éditer, n'oubliez pas d'utiliser "wq!" pour forcer la sauvegarde lors de la sauvegarde, sinon il vous indiquera qu'il est en lecture seule et ne peut pas être enregistré.
Le fichier /etc/sudoers sera édité. Par défaut, nous verrons la phrase "%admin ALL=(ALL) ALL", qui permet au groupe admin d'exécuter toutes les commandes sur tous les hôtes. Bien entendu, passwd est requis.
1. Si vous souhaitez que tous les utilisateurs du groupe admin sudo sans mot de passe, vous pouvez remplacer cette ligne par : "%admin ALL=(ALL) NOPASSWD: NOPASSWD ALL".
2. Si vous souhaitez simplement que l'utilisateur Jay sudo sans mot de passe, vous pouvez ajouter la ligne "jay ALL = NOPASSWD: ALL".
3. Si vous souhaitez que l'utilisateur de Jay sudo exécute certaines commandes sans mot de passe, vous pouvez écrire "jay ALL = NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser"
4. ? Pour plus de méthodes de configuration, veuillez exécuter "man sudoers" pour lire la documentation d'aide.
Remarque : une de mes propres configurations n'a pas pris effet. J'en cherchais la raison depuis un moment, je vais donc l'écrire ici.
J'ai ajouté la ligne "jay ALL = NOPASSWD: ALL" cependant, jay doit toujours saisir le mot de passe lors de l'exécution de sudo. Pourquoi est-ce ?
Il s'avère que ma ligne est avant la stratégie de groupe "%admin ALL=(ALL) ALL". La configuration de groupe suivante écrase la configuration précédente et Jay appartient au groupe admin, un mot de passe est donc requis.
Pour le moment, commentez simplement la ligne %admin avec #. D'ACCORD! Ensuite, cela prendra effet immédiatement ? Peut-être que le système lira /etc/sudoers lorsque sudo sera exécuté, donc cela prendra effet immédiatement.
De plus, il est livré avec une configuration /etc/sudoers d'un serveur de l'entreprise :

Defaults env_reset
Defaults syslog=auth
Defaults log_year,logfile=/var/log/sudo.log
User_Alias ABC = abc
Cmnd_Alias DEFAULT=/bin/*,/sbin/ldconfig,/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel,/bin/rpm,/usr/bin/yum,/sbin/service,/sbin/chkconfig,sudoedit /etc/rc.local,sudoedit /etc/hosts,sudoedit /etc/ld.so.conf,/bin/mount,sudoedit /etc/exports,/usr/bin/passwd [!-]*,!/usr/bin/passwd root,/bin/su - [!-]*,!/bin/su - root,!/bin/su root,/bin/bash,/usr/sbin/dmidecode,/usr/sbin/lsof,/usr/bin/du,/usr/bin/python,/usr/sbin/xm,sudoedit /etc/profile,sudoedit /etc/bashrc,/usr/bin/make,sudoedit /etc/security/limits.conf,/etc/init.d/*,/usr/bin/ruby
ABC ALL=(ALL)NOPASSWD:DEFAULT

En modifiant /etc/sudoers

sudo vi /etc/sudoers
把/etc/sudoers里最后一行
%admin ALL=(ALL)
?为
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

puis en forçant la sauvegarde de wq, ce sera OK
Ce qui précède n'est pas exact , veuillez prêter attention aux points suivants.
Modifiez le fichier /etc/sudoers en utilisant le "Super User Terminal" au lieu d'un terminal ordinaire. Le démarrage du "Super User Terminal" est ajouté via la commande clic droit "Modifier le menu".
Après l'édition, utilisez wq au lieu de wq pour quitter

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer