Changeset 544

Show
Ignore:
Timestamp:
05/19/08 14:23:19 (7 months ago)
Author:
free
Message:

* Added cryptpw script
* Encrypt passwords when changing the manager account

Location:
cdd-utils/trunk
Files:
4 modified
1 moved

Legend:

Unmodified
Added
Removed
  • cdd-utils/trunk/bin/cryptpw

    r542 r544  
    22 
    33use strict; 
     4         
     5use Crypt::PasswdMD5 qw(unix_md5_crypt); 
     6use Crypt::SmbHash qw(lmhash nthash); 
    47 
    5 use Crypt::PasswdMD5 qw(unix_md5_crypt); 
    68my @salt = ( '.', '/', 0 .. 9, 'A' .. 'Z', 'a' .. 'z' ); 
    79 
    8 # this takes password as argument: good for simple example, bad for 
    9 # security (perldoc -q password) 
    10 my $password = shift || die "usage: $0 password"; 
     10my $type     = shift || die "usage: $0 type password"; 
     11my $password = shift || die "usage: $0 type password"; 
    1112 
    12 my %encrypted; 
     13my $encrypted; 
    1314 
    14 # generate traditional (weak!) DES password, and more modern md5 
    15 $encrypted{md5} = unix_md5_crypt( $password, gensalt(8) ); 
     15if ( $type eq "md5" ) { 
     16    $encrypted = unix_md5_crypt( $password, gensalt(8) ); 
     17} 
     18if ( $type eq "lm" ) { 
     19    $encrypted = lmhash($password); 
     20} 
     21if ( $type eq "nt" ) { 
     22    $encrypted = nthash($password); 
     23} 
    1624 
    17 print "$encrypted{md5}\n"; 
     25print "$encrypted\n"; 
    1826 
    1927# uses global @salt to construct salt string of requested length 
     
    2735 
    2836return $salt; 
     37 
    2938} 
    30  
  • cdd-utils/trunk/debian/changelog

    r543 r544  
    1717  * Remove cdrom APT sources 
    1818  * Use squirrelmail via SSL 
    19   * Added md5pw script 
    20   * Encrypt webmin password on the fly 
     19  * Added cryptpw script 
     20  * Encrypt passwords when changing the manager account 
    2121 
    2222 -- Free Ekanayaka <free@64studio.com>  Thu, 08 May 2008 21:55:32 +0200 
  • cdd-utils/trunk/lib/common.sh

    r541 r544  
    4949    sed -i -e "\|^$key| d" $cfg 
    5050} 
     51ldap_set () { 
     52    dn="$1" 
     53    key="$2" 
     54    val="$3" 
     55    echo -e "dn: $dn\nchangetype: modify\nreplace: $key\n$key: $val"| ldapmodify -x -D cn=admin,dc=nodomain -w admin > /dev/null 
     56} 
    5157is_ubuntu () { 
    5258 
  • cdd-utils/trunk/lib/server.sh

    r543 r544  
    199199} 
    200200 
    201 # Webmin 
    202 webmin () { 
    203  
    204     password=$1 
    205     if nullstr $password; then warning "No password given"; return; fi 
    206  
    207     # Do not run with SSL 
    208     cfg=/etc/webmin/miniserv.conf 
    209     if ! exists $cfg; then warning $cfg not found; return; fi 
    210     sed -i -e's/^ssl=1/ssl=0/g' $cfg 
     201# Set the password for the manager account modifying Unix and Samba LDAP entry and 
     202# the webmin one 
     203manager () { 
     204 
     205    password="$1" 
     206    if nullstr "$password"; then warning "No password given"; return; fi 
     207 
     208    md5=$(cryptpw md5 "$password") 
     209    nt=$(cryptpw nt "$password") 
     210    lm=$(cryptpw lm "$password") 
    211211 
    212212    # Add manager as webmin user 
     
    214214    key='manager' 
    215215    sep=':' 
    216     val=$(md5pw $password) 
     216    val=$md5 
    217217    if ! exists $cfg; then warning $cfg not found; return; fi 
    218218    add_key $key $sep $cfg 
    219219    set_key $key $sep $val $cfg 
     220 
     221    # Modify LDAP entry 
     222    dn="uid=manager,ou=People,dc=nodomain" 
     223    ldap_set "$dn" "userPassword"    "$password" 
     224    ldap_set "$dn" "sambaLMPassword" "$lm" 
     225    ldap_set "$dn" "sambaNTPassword" "$nt" 
     226 
     227} 
     228 
     229# Webmin 
     230webmin () { 
     231 
     232    # Do not run with SSL 
     233    cfg=/etc/webmin/miniserv.conf 
     234    if ! exists $cfg; then warning $cfg not found; return; fi 
     235    sed -i -e's/^ssl=1/ssl=0/g' $cfg 
    220236 
    221237    # Set manager privileges 
  • cdd-utils/trunk/lib/suites.sh

    r543 r544  
    1818    cdd-config squirrelmail ares 
    1919    cdd-config samba 
    20     cdd-config webmin manager 
     20    cdd-config webmin 
    2121    cdd-config nfs server 
    2222    cdd-config squid 
     
    2525    cdd-config dnsmasq 
    2626    cdd-config monit 
     27    cdd-config manager manager 
    2728} 
    2829