source: LATMOS-Accounts/import/merge_nis @ 612

Last change on this file since 612 was 574, checked in by nanardon, 15 years ago
  • override home directory since it is false in source (/net/nfs/home/ + login)
File size: 1.4 KB
Line 
1#!/bin/env perl
2
3use strict;
4use warnings;
5use File::Temp qw(tempfile);
6
7my %jpass;
8my %shell;
9
10sub set_pass {
11    my ($user, $pass) = @_;
12    $pass eq 'x' and return;
13    $pass eq '!!' and return;
14    $pass eq 'CLOSED' and return;
15    $jpass{$user} ||= $pass;
16}
17
18
19my $ssh1 = open (my $fh, "ssh thauvin\@sirocco.aero.jussieu.fr 'ypcat passwd' |") or die "can't ssh sirocco";
20while (my $line = <$fh>) {
21        chomp($line);
22        my @ch = split(':', $line);
23        set_pass $ch[0], $ch[1];
24}
25close($fh) or die "ssh exit with error on sirroco";
26
27
28my $ssh3 = open (my $sfh, "ssh thauvin\@savtcp.aerov.jussieu.fr 'ypcat passwd' |") or die "can't ssh savtcp";
29while (<$sfh>) {
30        chomp;
31        my @ch = split(':', $_);
32        set_pass $ch[0], $ch[1];
33    $shell{$ch[0]} = $ch[6];
34}
35close($sfh) or die "ssh exit with error on savtcp";
36
37my $ssh2 = open (my $pfh, "ssh thauvin\@python.latmos.ipsl.fr 'ypcat passwd' |") or die "can't ssh python";
38while (my $line = <$pfh>) {
39    chomp($line);
40    my @ch = split(':', $line);
41        set_pass $ch[0], $ch[1];
42    $shell{$ch[0]} ||= $ch[6];
43}
44close($pfh) or die "ssh exit with error on python";;
45
46require Data::Dumper;
47warn Data::Dumper::Dumper { var => \%jpass };
48
49open (my $lpfh, '<', 'passwd') or die "Can't open passwd";
50while (my $line = <$lpfh>) {
51    chomp($line);
52    my @var = split(':', $line);
53    $var[1] = $jpass{$var[0]} || 'x';
54    $var[5] = "/net/nfs/home/$var[0]"; # Force home directory
55    $var[6] = $shell{$var[0]};
56    print join(':', @var) . "\n";
57}
Note: See TracBrowser for help on using the repository browser.