[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comment mettre à jour un fichier appartenant à l'utilisateur root avec cron ?




Je privilégierais ça :

    sudo cp /etc/hosts.deny /etc/hosts.deny.bak

Tu devrais interrompre ici si wget n'aboutit pas :

    wget https://hosts.ubuntu101.co.za/superhosts.deny -P /tmp || exit 1

 cat /tmp/superhosts.deny > /etc/hosts.deny

Chevron simple (">") plutôt non ? tu veux remplacer le contenu plutôt que
l'ajouter à la suite (si j'ai bien suivi)…

Point 1 et 2 ok. Point 3, effectivement, initialement, je déplaçais le fichier hosts.deny et il n'existait plus un court instant.
Ce qui nous donne, pour le moment, deux script différents, un que j'utilise manuellement, un second qui serait à lancer via la crontab de root.
Je me trompe, ou, ils ne seront pas pareil, du fait de l'approche avec root, qui serait différente que dans le cas d'un utilisateur normal mais en sudoers ?

En fait, je pense me tromper, car, même dans le script que je pense comme " normal ", il est lancé par sudoers, donc, je dois également définir le moment ou il faut utiliser le simple utilisateur pour télécharger.

Par contre, j'ai un gros doute sur la fin du deuxième script, j'ai mis deux fois exit, la première fois pour quitter l'utilisateur sur lequel j'ai basculé, la deuxième fois pour quitter le script totalement.

# Proposition pour créer manuellement le nouveau fichier hosts.deny depuis un script lancé par sudo :

# Utiliser le lien direct vers le fichier superhosts.deny (Plus de 15Mo) : https://hosts.ubuntu101.co.za/superhosts.deny
sudo cp /etc/hosts.deny /etc/hosts.deny.bak
# On peut télécharger le fichier dans le répertoire /tmp en tant que simple utilisateur.
# Arrêter le script si le fichier ne peut pas être téléchargé.
wget https://hosts.ubuntu101.co.za/superhosts.deny -P /tmp || exit 1
sudo -s
cat /tmp/superhosts.deny > /etc/hosts.deny
exit
rm /tmp/superhosts.deny


# Proposition pour créer le nouveau fichier hosts.deny depuis une tâche cron lancée avec la crontab de root :

# Utiliser le lien direct vers le fichier superhosts.deny (Plus de 15Mo) : https://hosts.ubuntu101.co.za/superhosts.deny
cp /etc/hosts.deny /etc/hosts.deny.bak
# On peut télécharger le fichier dans le répertoire /tmp en tant que simple utilisateur.
# Arrêter le script si le fichier ne peut pas être téléchargé.
sudo - utilisateur_normal
wget https://hosts.ubuntu101.co.za/superhosts.deny -P /tmp || exit 1
# On quitte le simple utilisateur pour copier le contenu du fichier temporaire vers le fichier appartenant à root:root
exit
cat /tmp/superhosts.deny > /etc/hosts.deny
# On supprime le fichier temporaire avec le simple utilisateur :
sudo - utilisateur_normal
rm /tmp/superhosts.deny
# On quitte, deux fois (?)
exit
exit

Reply to: