/[vz-tools]/trunk/vz-create.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/vz-create.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 43 by dpavlin, Fri Feb 8 23:02:25 2008 UTC revision 44 by dpavlin, Sat Feb 9 00:28:10 2008 UTC
# Line 54  foreach my $arg ( @ARGV ) { Line 54  foreach my $arg ( @ARGV ) {
54                          $hostname = $arg;                          $hostname = $arg;
55                  }                  }
56          }          }
57    
58  }  }
59    
60    # nuke arguments so that prompt doesn't get confused
61    @ARGV = ();
62    
63  $ip ||= prompt('Enter IP: ', -require => {  $ip ||= prompt('Enter IP: ', -require => {
64          'Must be IP (e.g. 192.168.0.1): ' => qr/$RE{net}{IPv4}/,          'Must be IP (e.g. 192.168.0.1): ' => qr/$RE{net}{IPv4}/,
65  }) unless ($ip =~ /$RE{net}{IPv4}/);  }) unless ($ip =~ /$RE{net}{IPv4}/);
# Line 121  create_file( Line 125  create_file(
125    
126  vzctl('start', $ve_id);  vzctl('start', $ve_id);
127    
128  my $customize_sh = <<'__END_OF_SH__';  runscript( $ve_id, 'custom/00-all.sh' );
   
 # use shadow passwords  
 pwconv  
   
 # upgrade to lastest version  
 apt-get -y update  
 apt-get -y upgrade  
   
 # install additional packages  
 apt-get -y --force-yes install vim less ssh sudo screen telnet finger  
   
 # remove unwanted packages  
 apt-get -y remove nano  
   
 # apt-iselect helper  
 wget -t 1 -T 5 -O /usr/local/bin/apt-iselect http://www.rot13.org/~dpavlin/projects/scripts/apt-iselect  
 chmod 755 /usr/local/bin/apt-iselect  
   
 # lock root user  
 usermod -L root  
   
 # disable getty  
 sed -i -e '/getty/d' /etc/inittab  
   
 # sane permissions for /root directory  
 chmod 700 /root  
   
 # disable sync() for syslog  
 sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/syslog.conf  
   
 # fix /etc/mtab  
 rm -f /etc/mtab  
 ln -s /proc/mounts /etc/mtab  
   
 # remove unneeded packages  
 dpkg --purge modutils  
 dpkg --purge ppp pppoeconf pppoe pppconfig  
   
 # disable services  
 update-rc.d -f klogd remove  
 update-rc.d -f quotarpc remove  
 update-rc.d -f exim4 remove  
 update-rc.d -f inetd remove  
   
 # clean packages  
 apt-get clean  
   
 __END_OF_SH__  
   
 foreach my $l (split(/\n/, $customize_sh)) {  
         next if ($l =~ /^\s*$/);  
         if ($l =~ /^#\s+(.+)$/) {  
                 warn ">> $1\n";  
         } else {  
                 vzctl('exec', $ve_id, $l);  
         }  
 }  
129    
130  #vzctl('stop', $ve_id);  #vzctl('stop', $ve_id);
131    
132  my $passwd = prompt('root passwd: ', -echo=>'*');  my $passwd = prompt( -prompt => 'root passwd: ', -echo=>'*' );
133  vzctl('set', $ve_id, '--userpasswd', 'root:' . $passwd ) if ($passwd);  vzctl('set', $ve_id, '--userpasswd', 'root:' . $passwd ) if $passwd;
134    
135  my $login = prompt('create login: ');  my $login = prompt('create login: ');
136  if ($login) {  if ($login) {
137          $passwd = prompt("$login passwd: ", -echo=>'*');          $passwd = prompt( -prompt => "$login passwd: ", -echo=>'*');
138          vzctl('exec', $ve_id, "useradd --create-home $login");          vzctl('exec', $ve_id, "useradd --create-home $login");
139          vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" );          vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" );
140  }  }

Legend:
Removed from v.43  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.26