J'ai récemment installé les systèmes Fedora 28 et Ubuntu 18.04 et j'aimerais configurer mon compte d'utilisateur principal sur les deux afin de pouvoir exécuter les commandes Sudo
sans être invité à entrer un mot de passe.
Comment puis-je le faire sur les systèmes respectifs?
C'est assez trivial si vous utilisez le groupe Unix spécial appelé wheel
sur les systèmes Fedora. Il vous suffit de faire ce qui suit:
Ajoutez votre utilisateur principal au groupe wheel
$ Sudo gpasswd -a <primary account> wheel
Activez NOPASSWD pour le %wheel
groupe dans /etc/sudoers
$ Sudo visudo
Commentez ensuite cette ligne:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
Et décommentez cette ligne:
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
Enregistrez ce fichier avec Shift+Z+Z.
Déconnectez-vous et reconnectez-vous
REMARQUE: Cette dernière étape est obligatoire pour que votre bureau et tous les shells de niveau supérieur correspondants soient réexécutés, indiquant que votre compte principal est maintenant membre du groupe Unix wheel
.
Traditionnellement sur les distributions basées sur Debian telles que Debian/Ubuntu/Mint/Kali/Antix, le groupe par défaut pour Sudo est, eh bien, Sudo
.
Donc, pour ajouter des utilisateurs sans mot de passe Sudo
à un système basé sur Debian, les étapes sont les suivantes:
Installez Sudo
Dans Debian, selon les options d'installation, vous vous retrouvez souvent sans Sudo
installé par défaut.
Si le package Sudo
n'est pas installé (par exemple, vous n'avez pas /etc/sudoers
), exécutez en tant que root:
# apt install Sudo
Ajouter l'utilisateur au groupe Sudo
Ajoutez un utilisateur au groupe Sudo, s'il n'est pas déjà dans le groupe Sudo (Ubuntu et dérivés ajoutent automatiquement un utilisateur créé en installation au groupe Sudo).
Lors de la configuration du premier utilisateur Sudo, vous êtes arrivé au premier en tant que root
:
# gpasswd -a <primary account> Sudo
Lorsque vous avez déjà un utilisateur Sudo
, il est conseillé, comme bonne pratique de sécurité, de configurer les autres utilisateurs du groupe Sudo via cet utilisateur:
$ Sudo gpasswd -a <primary account> Sudo
Modifier /etc/sudoers
pour l'ajout de la directive NOPASSWD
Vous modifiez ensuite la ligne par défaut dans /etc/sudoers
pour le groupe Sudo
avec:
$ Sudo visudo
et changez-le de:
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
à:
# Allow members of group Sudo to execute any command, no password
%Sudo ALL=(ALL:ALL) NOPASSWD:ALL
Déconnectez-vous et reconnectez-vous
S'il est connecté au système, l'utilisateur prévu doit alors se déconnecter et se connecter pour que le changement d'utilisateur appartenant au groupe Sudo
prenne effet.
NOTE: Dans Debian, le groupe wheel
est souvent utilisé pour restreindre dans PAM l'utilisation de su
à un groupe, au lieu de l'utiliser pour le Sudo
commande comme dans les distributions basées sur RedHat/SuSE.
Traditionnellement dans les distributions basées sur Debian, pour la commande Sudo
, vous utilisez le groupe Sudo
.
La plupart des distributions ont cette ligne dans /etc/sudoers/
:
#includedir /etc/sudoers.d
Par conséquent, un moyen simple d'ajouter un utilisateur consiste à créer un fichier approprié dans le /etc/sudoers.d/
répertoire; Je le nomme normalement pour l'utilisateur à ajouter:
add_sudoer() {
if ! test -n "$1"
then echo "Usage: $0 <user>" >&2; return
fi
printf >"/etc/sudoers.d/$1" '%s ALL= NOPASSWD: ALL\n' "$1"
}
Vous pouvez également ajouter Defaults:%s !lecture, !authenticate\n
et/ou d'autres options du fichier.
Alternativement, vous pouvez utiliser le package Python pudo .
Installation:
user$ Sudo -H pip3 install pudo # you can install using pip2 also
Ci-dessous est l'extrait de code à utiliser dans python automation pour exécuter des commandes sous privilège root ::
user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'
Voici l'exemple de cmd pour exécuter des commandes avec le privilège root
user$ pudo ls /root
Desktop Downloads Pictures Music