Selon Olivier Thauvin <[EMAIL PROTECTED]>:
[...]
> > merci pour cette information. je vais poursuivre dans cette voie. je ne
> > voudrais pas me planter puisqu'il s'agit de travailler sur /etc/passwd !
> > question subsidiaire : peut-on (en perl) avoir un accès direct à un
> > enregistrement ?
Dans le cas présent, une ligne terminée par un caractère de fin de ligne.
exemple : une entrée de /etc/passwd
Par accès direct, j'entend pourvoir accéder en lecture et écriture à une ligne
donnée (je lis la ligne 5, traite le contenu et réécris la ligne 5)
>
> Ca dépends ce que tu appelle enregistrement, il y a des fonctions pour
> interroger la liste des compte, sinon faut écrire un petit parser pour
> l'/etc/passwd, ce qui est très simple, encore que des modules sur CPAN
> doivent davoir faire.
>
> J'avais ecrit un script dans le temps pour extraire les comptes/group de 500
> ou supérieur et les recopier dans des chroots. Cf document attaché.
merci pour ce script qui, s'il ne répond pas tout-à-fait à mon besoin, contient
du code réutilisable, et mieux écrit que le mien (je débute en perl !)

Plus de précision sur ce que je veux faire : récupérer la base de comptes d'un
domaine NT (avec samdump), parser le fichier pour recréer sur le serveur linux
:
- les comptes des utilisateurs
- les groupes
- le groupmap samba
- mettre les utilisateurs dans les groupes

Pour l'instant, cela fonctionne, en utilisant les commandes système luseradd et
consorts (à cause des majuscules et autres caractères dans les noms des comptes
NT) et gpasswd pour l'ajout des utilisateurs dans les groupes, les utilisateurs
samba étant créés par écriture directe d'un fichier au format smbpasswd puis
importation dans la base tdbsam avec pdbedit -i

Mais c'est horriblement long (environ 20 mn pour 1500 comptes), ce temps étant
dû pour l'essentiel aux commandes luseradd, lgroupadd et gpasswd.

D'où l'idée d'écrire directement dans les fichiers concernés.

Le problème : conserver les utilisateurs et groupes système.
nota : tous les utilisateurs et groupes sont importés et créés en local avec un
uid/gid >= 10000 (donc pas de confusion avec les utilisateurs et groupes
système).

cette importation doit pouvoir se faire plusieurs fois, c-a-d supprimer le
résultat d'une importation précédente (pour garder la synchro NT/linux).

Si tu as des idées géniales pour cela...
--
CC

____________________________________________________
Want to buy your Pack or Services from Mandriva? 
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________

Répondre à