L'utilisateur gestionnaire est créé.
Identifier l'utilisateur qui fait tourner le service cron :
ps -Af | grep cron
root 890 1 0 20:21 ? 00:00:00 /usr/sbin/cron -f -P
sudo systemctl stop cron
cd /usr/sbin/
ls -la
-rwxr-xr-x 1 root root 51792 mars 23 2022 cron
sudo bash
*chown gestionnaire:gestionnaire cron*
cd /usr/sbin/
ls -la
-rwxr-xr-x 1 *root gestionnaire* 51792 mars 23 2022 cron
sudo systemctl restart cron
ps -Af | grep cron
*root* 5315 1 0 20:38 ? 00:00:00 /usr/sbin/cron -f -P
C'est toujours l'utilisateur *root* qui *fait tourner le service cron*.
L'ID de l'utilisateur gestionnaire avec l'option d'*ID utilisateur non
unique* est *0 (root)*.
Le 20/02/2024 à 12:26, Bernard Bass a écrit :
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.