La question initiale : Comment remplacer l'utilisateur root pour
utiliser le service cron ?
Devrait plutôt être : Comment lancer le service cron/crontab
avec l'utilisateur gestionnaire (root) ?
J'ai créé l'utilisateur gestionnaire de la sorte :
Créer un utilisateur gestionnaire pour remplacer les actions de
l'utilisateur root, pour lancer toutes les tâches cron.
Consulter les groupes de l'utilisateur root :
sudo bash
id
uid=0(root) gid=0(root) groupes=0(root)
groups
root
Créer l'utilisateur gestionnaire :
sudo adduser gestionnaire
Ajouter l'utilisateur gestionnaire au groupe des administrateurs
système (root) à l'aide de la commande usermod :
# usermod -aG sudo gestionnaire
sudo usermod -aG root gestionnaire
Ajouter les droits root à l'utilisateur gestionnaire avec visudo :
sudo visudo
root ALL=(ALL:ALL) ALL
gestionnaire ALL=(ALL:ALL) ALL
sudo bash
cat /etc/passwd | grep -i gestionnaire
gestionnaire:x:1001:1001:,,,:/home/gestionnaire:/bin/bash
sudo bash
Donner à l'utilisateur gestionnaire les privilèges root sans qu'il
n'ait a utiliser sudo :
Changer l'ID de l'utilisateur gestionnaire avec l'option d'ID
utilisateur non unique :
usermod -o -u 0 gestionnaire
Utiliser su pour s'identifier avec l'utilisateur gestionnaire et
devenir root :
$ su gestionnaire
Mot de passe :
root@system:/home/utilisateur-courant#
cat /etc/passwd | grep -i gestionnaire
gestionnaire:x:0:1001:,,,:/home/gestionnaire:/bin/bash
La ligne peut être réécrite de la façon suivante :
sudo nano /etc/passwd
gestionnaire:x:0:1001:Gestionnaire:/home/gestionnaire:/bin/bash
Je n'ai pas trouvé comment relancer le service cron avec cet
autre utilisateur gestionnaire.
La solution fonctionnelle pour désactiver root semble être la
suivante :
1)
sudo passwd root # Créer un mot de passe.
sudo passwd -d root # Supprimer le mot de passe.
2)
* Désactiver l'utilisateur root à partir du shell.
Le moyen le plus simple de désactiver la connexion de
l'utilisateur root est de changer son shell du répertoire
/bin/bash à /sbin/nologin, dans le fichier /etc/passwd.
sudo nano /etc/passwd
root:x:0:0:root:/root:/sbin/nologin
3)
sudo passwd -S root
root NP 02/18/2024 0 99999 7 -1 # L'utilisateur root utilise no
password.
4)
su root
This account is currently not available.
5)
On ne peut donc pas accéder à root directement.
Le système cron avec la crontab -e root continue de fonctionner.
Le user root semble faire son travail sans erreur.
J'aurais préféré créer un utilisateur gestionnaire pour
remplacer les actions de l'utilisateur root, capable de lancer
toutes les tâches cron.
Si quelqu'un sait expliquer la méthode.
Merci.