Je veux programmer dans un cron l'actualisation du
fichier /etc/ssh/ssd_config ou je mets à la fin une ligne AllowUsers .....
avec la liste des utilisateurs ayant modifié le mot de passe par défaut du
serveur. J'ai fait un script qui génere la liste des utilisateurs dans un
fichier, je voudrais faire un truc du style:
"efface la derniere ligne de /etc/ssh/ssd_config"
echo -h "AllowUsers " >> /etc/ssh/ssd_config
cat fichier >> /etc/ssh/ssd_config
/etc/init.d/ssh restart
Problème: je n'ai pas trouvé comment faire "efface la derniere ligne
de /etc/ssh/ssd_config"
Dans le message <news:dqtvtm$30ei$, *Nicolas George* tapota sur f.c.o.l.configuration :
Je n'aime pas tellement. D'abord, il faudrait faire attention à ne pas prendre un groupe qui a déjà une certaine signification pour le système installé, histoire de ne pas fournir de privilèges qu'on ne voulait pas fournir.
C'est pour cela que j'ai donné comme exemple le groupe 'sshd' car il n'existe pas par défaut sur les distributions.
Ensuite, je trouve assez bof l'idée d'un groupe auquel tous les utilisateurs appartiennent (ce qui est ultimement le cas dans ce qu'a décrit le posteur original).
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en cause le principe des groupes. Il existe bien le groupe 'wheel' pour n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en root. Il existe les groupes 'audio' et 'video' pour autoriser les utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab. Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que ceux qui ont le droit de se logger en ssh sur une machine ?
En fait, la bonne solution serait d'utiliser un module PAM pour ça,
Pourquoi pas.
mais je n'ai aucune idée de s'il existe un module adapté.
Par exemple le module pam_listfile qui permet de mettre dans une liste les utilisateurs autorisés ou refusés selon comment est configuré le module.
-- Sébastien Monbrun aka TiChou
Dans le message <news:dqtvtm$30ei$1@biggoron.nerim.net>,
*Nicolas George* tapota sur f.c.o.l.configuration :
Je n'aime pas tellement. D'abord, il faudrait faire attention à ne pas
prendre un groupe qui a déjà une certaine signification pour le système
installé, histoire de ne pas fournir de privilèges qu'on ne voulait pas
fournir.
C'est pour cela que j'ai donné comme exemple le groupe 'sshd' car il
n'existe pas par défaut sur les distributions.
Ensuite, je trouve assez bof l'idée d'un groupe auquel tous les
utilisateurs appartiennent (ce qui est ultimement le cas dans ce qu'a
décrit le posteur original).
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en
cause le principe des groupes. Il existe bien le groupe 'wheel' pour
n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en
root. Il existe les groupes 'audio' et 'video' pour autoriser les
utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il
existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab.
Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que
ceux qui ont le droit de se logger en ssh sur une machine ?
En fait, la bonne solution serait d'utiliser un module PAM pour ça,
Pourquoi pas.
mais je n'ai aucune idée de s'il existe un module adapté.
Par exemple le module pam_listfile qui permet de mettre dans une liste les
utilisateurs autorisés ou refusés selon comment est configuré le module.
Dans le message <news:dqtvtm$30ei$, *Nicolas George* tapota sur f.c.o.l.configuration :
Je n'aime pas tellement. D'abord, il faudrait faire attention à ne pas prendre un groupe qui a déjà une certaine signification pour le système installé, histoire de ne pas fournir de privilèges qu'on ne voulait pas fournir.
C'est pour cela que j'ai donné comme exemple le groupe 'sshd' car il n'existe pas par défaut sur les distributions.
Ensuite, je trouve assez bof l'idée d'un groupe auquel tous les utilisateurs appartiennent (ce qui est ultimement le cas dans ce qu'a décrit le posteur original).
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en cause le principe des groupes. Il existe bien le groupe 'wheel' pour n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en root. Il existe les groupes 'audio' et 'video' pour autoriser les utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab. Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que ceux qui ont le droit de se logger en ssh sur une machine ?
En fait, la bonne solution serait d'utiliser un module PAM pour ça,
Pourquoi pas.
mais je n'ai aucune idée de s'il existe un module adapté.
Par exemple le module pam_listfile qui permet de mettre dans une liste les utilisateurs autorisés ou refusés selon comment est configuré le module.
-- Sébastien Monbrun aka TiChou
Nicolas George
Sébastien Monbrun aka TiChou wrote in message :
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en cause le principe des groupes. Il existe bien le groupe 'wheel' pour n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en root. Il existe les groupes 'audio' et 'video' pour autoriser les utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab. Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que ceux qui ont le droit de se logger en ssh sur une machine ?
Si j'ai bien compris la problématique originale, il est question d'autoriser SSH aux utilisateurs qui ont changé leur mot de passe original. Ce qui, quelque part, veut dire que tous les utilisateurs sont autorisés à utiliser SSH. L'appartenance au groupe devient alors uniquement un flag « a changé son mot de passe », ce qui ne correspond vraiment pas à la sémantique d'un groupe.
D'autre part, je n'avais pas remarqué ce problème avec ta proposition au départ, tu remarqueras que le problème est seulement déplacé, de la ré-écriture de sshd_config à la réécriture de group, ce qui n'est certainement pas mieux.
Par exemple le module pam_listfile qui permet de mettre dans une liste les utilisateurs autorisés ou refusés selon comment est configuré le module.
Pas forcément. Je dirais plutôt un module qui vérifie la présence d'un flag accompagnant le mot de passe, puisque c'est de ça qu'il est question. Comme PAM est là pour le login par réseau _et_ pour le changement de mot de passe, c'est tout bénéfice.
Sébastien Monbrun aka TiChou wrote in message
<pwet.20060121200414@florizarre.tichou.org>:
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en
cause le principe des groupes. Il existe bien le groupe 'wheel' pour
n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en
root. Il existe les groupes 'audio' et 'video' pour autoriser les
utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il
existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab.
Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que
ceux qui ont le droit de se logger en ssh sur une machine ?
Si j'ai bien compris la problématique originale, il est question d'autoriser
SSH aux utilisateurs qui ont changé leur mot de passe original. Ce qui,
quelque part, veut dire que tous les utilisateurs sont autorisés à utiliser
SSH. L'appartenance au groupe devient alors uniquement un flag « a changé
son mot de passe », ce qui ne correspond vraiment pas à la sémantique d'un
groupe.
D'autre part, je n'avais pas remarqué ce problème avec ta proposition au
départ, tu remarqueras que le problème est seulement déplacé, de la
ré-écriture de sshd_config à la réécriture de group, ce qui n'est
certainement pas mieux.
Par exemple le module pam_listfile qui permet de mettre dans une liste les
utilisateurs autorisés ou refusés selon comment est configuré le module.
Pas forcément. Je dirais plutôt un module qui vérifie la présence d'un flag
accompagnant le mot de passe, puisque c'est de ça qu'il est question. Comme
PAM est là pour le login par réseau _et_ pour le changement de mot de passe,
c'est tout bénéfice.
Je ne comprends pas bien ta remarque ici. Quelque part tu remets un peu en cause le principe des groupes. Il existe bien le groupe 'wheel' pour n'autoriser que les utilisateurs qui en sont membres à pouvoir se logger en root. Il existe les groupes 'audio' et 'video' pour autoriser les utilisateurs qui ont le droit d'accéder aux périphériques audio et video. Il existe le groupe 'cron' pour autoriser ceux qui peuvent éditer leur crontab. Alors pourquoi n'existerait-il pas un groupe 'sshd' pour n'autoriser que ceux qui ont le droit de se logger en ssh sur une machine ?
Si j'ai bien compris la problématique originale, il est question d'autoriser SSH aux utilisateurs qui ont changé leur mot de passe original. Ce qui, quelque part, veut dire que tous les utilisateurs sont autorisés à utiliser SSH. L'appartenance au groupe devient alors uniquement un flag « a changé son mot de passe », ce qui ne correspond vraiment pas à la sémantique d'un groupe.
D'autre part, je n'avais pas remarqué ce problème avec ta proposition au départ, tu remarqueras que le problème est seulement déplacé, de la ré-écriture de sshd_config à la réécriture de group, ce qui n'est certainement pas mieux.
Par exemple le module pam_listfile qui permet de mettre dans une liste les utilisateurs autorisés ou refusés selon comment est configuré le module.
Pas forcément. Je dirais plutôt un module qui vérifie la présence d'un flag accompagnant le mot de passe, puisque c'est de ça qu'il est question. Comme PAM est là pour le login par réseau _et_ pour le changement de mot de passe, c'est tout bénéfice.
David
Le Sat, 21 Jan 2006 16:21:59 +0100, Lionel a écrit :
Problème: je n'ai pas trouvé comment faire "efface la derniere ligne de /etc/ssh/ssd_config"
En compilant ces différentes infos j'ai finalement résolu mon problème.
Comme suggéré par Sébastien, j'ai crée un groupe sshd qui est dans AllowsGroups du sshd_config, ça m'évite d'avoir à relancer ssh à chaque fois. De plus, pour une raison que j'ignore le fichier sshd_config n'accepte pas de ligne de plus de 1024 caracteres, je devais faire 2 lignes AllowUsers ce qui me compliquait la tâche.
le fichier /ect/group est généré à partir d'un fichier group.orig auquel je rajoute le groupe sshd puis le contenu du fichier "changes" qui est la liste des utilisateurs ayant changé leur mot de passe.
#!/bin/bash cat /dev/null > /root/changes && /root/testmdp.sh >> /root/changes cat /dev/null > /root/fin_group echo -n "sshd:x:5004:" >> /root/fin_group for i in `cat /root/changes |grep chang |cut -d " " -f1` ; do echo -n $i
En compilant ces différentes infos j'ai finalement résolu mon problème.
Comme suggéré par Sébastien, j'ai crée un groupe sshd qui est dans
AllowsGroups du sshd_config, ça m'évite d'avoir à relancer ssh à chaque
fois. De plus, pour une raison que j'ignore le fichier sshd_config
n'accepte pas de ligne de plus de 1024 caracteres, je devais faire 2 lignes
AllowUsers ce qui me compliquait la tâche.
le fichier /ect/group est généré à partir d'un fichier group.orig auquel je
rajoute le groupe sshd puis le contenu du fichier "changes" qui est la
liste des utilisateurs ayant changé leur mot de passe.
#!/bin/bash
cat /dev/null > /root/changes && /root/testmdp.sh >> /root/changes
cat /dev/null > /root/fin_group
echo -n "sshd:x:5004:" >> /root/fin_group
for i in `cat /root/changes |grep chang |cut -d " " -f1` ; do echo -n $i
En compilant ces différentes infos j'ai finalement résolu mon problème.
Comme suggéré par Sébastien, j'ai crée un groupe sshd qui est dans AllowsGroups du sshd_config, ça m'évite d'avoir à relancer ssh à chaque fois. De plus, pour une raison que j'ignore le fichier sshd_config n'accepte pas de ligne de plus de 1024 caracteres, je devais faire 2 lignes AllowUsers ce qui me compliquait la tâche.
le fichier /ect/group est généré à partir d'un fichier group.orig auquel je rajoute le groupe sshd puis le contenu du fichier "changes" qui est la liste des utilisateurs ayant changé leur mot de passe.
#!/bin/bash cat /dev/null > /root/changes && /root/testmdp.sh >> /root/changes cat /dev/null > /root/fin_group echo -n "sshd:x:5004:" >> /root/fin_group for i in `cat /root/changes |grep chang |cut -d " " -f1` ; do echo -n $i