adduser, skel & crontab

Le
potiron
Bonjour

J'aimerais pouvoir préconfigurer les crontab lors de la création
d'utilisateurs. Lorsque que je créé un nouveau user, sa crontab devrait
contenir deux lignes. Existe-t-il un moyen de faire ceci ?

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #18749601
On Tue, 24 Feb 2009 11:01:41 +0100, potiron
J'aimerais pouvoir préconfigurer les crontab lors de la création
d'utilisateurs. Lorsque que je créé un nouveau user, sa crontab devrait
contenir deux lignes.



M'est avis que c'est une mauvaise idée :

A priori, plein de tâches identiques vont être lancées en même temps,
d'où des problèmes de surcharge du système, et de synchronisation.

Mais surtout, si jamais tu veux modifier quelque chose (heures de
lancement, nombre de tâches, etc.), tu vas devoir le faire pour tous
les utilisateurs !

Il me semble qu'il faudrait plutôt mettre, dans le crontab système (ou
celui de root), un script du style

for i in (liste des utilisateurs)
do
sudo -u $i commande
done


Sinon, pour répondre directement à ta question : il te suffit de créer
un script qui appelle useradd, puis ajuste le crontab, et d'utiliser
ce script pour créer tes utilisateurs.
potiron
Le #18749791
Fabien LE LEZ wrote:

On Tue, 24 Feb 2009 11:01:41 +0100, potiron
J'aimerais pouvoir préconfigurer les crontab lors de la création
d'utilisateurs. Lorsque que je créé un nouveau user, sa crontab devrait
contenir deux lignes.



M'est avis que c'est une mauvaise idée :

A priori, plein de tâches identiques vont être lancées en même temps,
d'où des problèmes de surcharge du système, et de synchronisation.



Oui en effet. il s'agit de contrôler l'existence d'un pid appartenant à
chaque utilisateur.


Il me semble qu'il faudrait plutôt mettre, dans le crontab système (ou
celui de root), un script du style

for i in (liste des utilisateurs)
do
sudo -u $i commande
done




Oui c'est en fait exactement ce qu'il faudrait. Mais je suis un peu médiocre
dans ce genre de script.
La partie (liste des utilisateurs) doit-être de quel format ? (user1, user2)
ou (user1 user2) ou autre ? Est-il possible de dire (tous les users ayant un
id > 500), par exemple ?


Sinon, pour répondre directement à ta question : il te suffit de créer
un script qui appelle useradd, puis ajuste le crontab, et d'utiliser
ce script pour créer tes utilisateurs.



Oui c'est ce que je suis en train de faire, je pensais qu'il était possible
de paramétrer crontab directement depuis skel, mais non :)

merci
potiron
Le #18749781
Fabien LE LEZ wrote:

On Tue, 24 Feb 2009 11:01:41 +0100, potiron
J'aimerais pouvoir préconfigurer les crontab lors de la création
d'utilisateurs. Lorsque que je créé un nouveau user, sa crontab devrait
contenir deux lignes.



M'est avis que c'est une mauvaise idée :

A priori, plein de tâches identiques vont être lancées en même temps,
d'où des problèmes de surcharge du système, et de synchronisation.



Oui en effet. il s'agit de contrôler l'existence d'un pid appartenant à
chaque utilisateur.


Il me semble qu'il faudrait plutôt mettre, dans le crontab système (ou
celui de root), un script du style

for i in (liste des utilisateurs)
do
sudo -u $i commande
done




Oui c'est en fait exactement ce qu'il faudrait. Mais je suis un peu médiocre
dans ce genre de script.
La partie (liste des utilisateurs) doit-être de quel format ? (user1, user2)
ou (user1 user2) ou autre ? Est-il possible de dire (tous les users ayant un
id > 500), par exemple ?


Sinon, pour répondre directement à ta question : il te suffit de créer
un script qui appelle useradd, puis ajuste le crontab, et d'utiliser
ce script pour créer tes utilisateurs.



Oui c'est ce que je suis en train de faire, je pensais qu'il était possible
de paramétrer crontab directement depuis skel, mais non :)

merci
Fabien LE LEZ
Le #18749971
On Tue, 24 Feb 2009 12:12:36 +0100, potiron
La partie (liste des utilisateurs) doit-être de quel format ?



Les arguments sont séparés par des espaces (au sens large), sans les
parenthèses.
http://www.tldp.org/LDP/abs/html/loops1.html


Est-il possible de dire (tous les users ayant un
id > 500), par exemple ?



À vue de nez, la commande pour obtenir cette liste doit être quelque
chose comme :

awk -F: '{if ($3 >= 500) print $1}' /etc/passwd

(Il y a peut-être plus simple.)

Cf http://www.vectorsite.net/tsawk.html

Du coup, on se retrouve avec

for i in $(awk -F: '{if ($3 >= 500) print $1}' /etc/passwd)
do
sudo -u $i commande
done


Ça a l'air de fonctionner, mais je ne garantis rien.
Fabien LE LEZ
Le #18749961
Tu te répètes.

Le serveur de news des petits travailleurs tranquilles est
généralement en panne (depuis le début, il y a plus de dix ans) ; je
te conseille d'en changer.

Tu peux ouvrir gratuitement un compte chez Free :
http://subscribe.free.fr/accesgratuit/index.html

Tu pourras alors te connecter à news.free.fr (en rajoutant tes login
et mot de passe), même si tu es connecté à Internet via un autre FAI.
potiron
Le #18750111
Fabien LE LEZ wrote:

On Tue, 24 Feb 2009 12:12:36 +0100, potiron
La partie (liste des utilisateurs) doit-être de quel format ?



Les arguments sont séparés par des espaces (au sens large), sans les
parenthèses.
http://www.tldp.org/LDP/abs/html/loops1.html


Est-il possible de dire (tous les users ayant un
id > 500), par exemple ?



À vue de nez, la commande pour obtenir cette liste doit être quelque
chose comme :

awk -F: '{if ($3 >= 500) print $1}' /etc/passwd

(Il y a peut-être plus simple.)

Cf http://www.vectorsite.net/tsawk.html

Du coup, on se retrouve avec

for i in $(awk -F: '{if ($3 >= 500) print $1}' /etc/passwd)
do
sudo -u $i commande
done


Ça a l'air de fonctionner, mais je ne garantis rien.



Sur mon système ça a l'air de fonctionner parfaitement. Merci du coup de
main !
potiron
Le #18750101
Fabien LE LEZ wrote:

Tu te répètes.

Le serveur de news des petits travailleurs tranquilles est
généralement en panne (depuis le début, il y a plus de dix ans) ; je
te conseille d'en changer.

Tu peux ouvrir gratuitement un compte chez Free :
http://subscribe.free.fr/accesgratuit/index.html

Tu pourras alors te connecter à news.free.fr (en rajoutant tes login
et mot de passe), même si tu es connecté à Internet via un autre FAI.



En fait c'est Kontact (KDE4) qui crash quand j'essai d'envoyer un message
alors que la connexion est rompue. Desfois ça passe quand même.
En plus il ajoute un fu2 à chaque message, pas terrible.
Fabien LE LEZ
Le #18750741
On Tue, 24 Feb 2009 12:39:33 +0100, potiron
En fait c'est Kontact (KDE4) qui crash quand j'essai d'envoyer un message
alors que la connexion est rompue. Desfois ça passe quand même.
En plus il ajoute un fu2 à chaque message, pas terrible.



Mauvais logiciel, changer de logiciel.
Fabien LE LEZ
Le #18750731
On Tue, 24 Feb 2009 12:38:19 +0100, potiron
Sur mon système ça a l'air de fonctionner parfaitement.



Mais tu dois t'efforcer de comprendre comment ça marche (mieux que
moi), afin de ne pas être démuni en cas de problème.
Publicité
Poster une réponse
Anonyme