Diff for /loncom/lcpasswd between versions 1.16 and 1.17

version 1.16, 2002/08/30 13:37:59 version 1.17, 2002/09/16 13:27:40
Line 158  unless(getpwnam($safeusername)) { Line 158  unless(getpwnam($safeusername)) {
   
 &enable_root_capability;  &enable_root_capability;
 ($>,$<)=(0,0);  ($>,$<)=(0,0);
   print "Now root, -invoking pwchange with $safeusername $password1"
       unless $noprint;
 open OUT,"|pwchange $safeusername";  open OUT,"|pwchange $safeusername";
 print OUT $password1;  print OUT $password1;
 print OUT "\n";  print OUT "\n";
 close OUT;  close OUT;
 ($>,$<)=(0,500);  ($>,$<)=(0,500);
   
   print "pwchange done, back to uid 500" unless $noprint;
   
 if ($?) {  if ($?) {
     exit 8;      exit 8;
 }  }
Line 173  if (-e '/usr/bin/smbpasswd') { Line 177  if (-e '/usr/bin/smbpasswd') {
   
     ($>,$<)=(0,0); # fool smbpasswd here to think this is not a setuid      ($>,$<)=(0,0); # fool smbpasswd here to think this is not a setuid
                    # environment                     # environment
     unless (-e '/etc/smbpasswd') {  
  open (OUT,'>/etc/smbpasswd'); close OUT;  
     }  
   
     my $smbexist=0;  
     open (IN, '</etc/smbpasswd');  
     my @lines=<IN>;  
     close IN;  
     for my $l (@lines) {  
  chop $l;  
  my @F=split(/\:/,$l);  
  if ($F[0] eq $username) {$smbexist=1;}  
     }  
     unless ($smbexist) {  
  open(OUT,'>>/etc/smbpasswd');  
  print OUT join(':',($safeusername,$userid,  
     'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXX'.  
     'XXXXXXXXXXXXXXXXXX','','/home/'.$safeusername,  
     '/bin/bash')) . "\n";  
  close OUT;  
     }  
   
     open(OUT,"|/usr/bin/smbpasswd -s $safeusername>/dev/null") or  #   If the -a swithc is put on the smbpasswd
   # command line, either a new entry will be created or the old one
   # will be used. 
   # Therefore the old strategy of looking for and adding a dummy entry is 
   # not needed... Finally, the smbpasswd file is in /etc/samba not 
   # /etc/smbpasswd as older versions of the script implied.
   
       print "Running smbpasswd" unless $noprint;
       open(OUT,"|/usr/bin/smbpasswd -s -a $safeusername>/dev/null") or
  die('cannot run smbpasswd');   die('cannot run smbpasswd');
     print OUT $password2; print OUT "\n";      print OUT $password2; print OUT "\n";
     print OUT $password2; print OUT "\n";      print OUT $password2; print OUT "\n";
     close OUT;      close OUT;
     $<=$wwwid; # unfool the program      $<=$wwwid; # unfool the program
       print "smbpasswd done" unless $noprint;
 }  }
   
 &disable_root_capability;  &disable_root_capability;

Removed from v.1.16  
changed lines
  Added in v.1.17


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>