Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

adduser, skel & crontab

9 réponses
Avatar
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

9 réponses

Avatar
Fabien LE LEZ
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.
Avatar
potiron
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
Avatar
potiron
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
Avatar
Fabien LE LEZ
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.
Avatar
Fabien LE LEZ
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.
Avatar
potiron
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 !
Avatar
potiron
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.
Avatar
Fabien LE LEZ
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.
Avatar
Fabien LE LEZ
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.