42

Answer to Life, the Universe, and the IT

md5 codiertes Passwort von Solaris/Linux nach AIX übernehmen

| 0 comments

md5 codiertes Passwort von Solaris/Linux nach AIX übernehmen

heute hatte ich das Problem, dass ich gerne User von Solaris/Linux Systemen auf ein AIX System kopieren wollte. Da mir kein LDAP oder NIS zur Verfügung steht habe ich mir mal angeschaut ob man nicht einfach den md5 Hash aus der /etc/shadow unter Solaris/Linux nach AIX kopieren kann. Dabei habe ich aber festgestellt, dass AIX 7.1 nur noch smd5 (salted md5) unterstützt. Damit AIX auch ‘normale’ md5 Hashes versteht, muss man in der /etc/security/pwdalg.cfg im smd5 Abschnitt folgenden lpa_options-Eintrag setzen

1
2
3
smd5:
        lpa_module = /usr/lib/security/smd5
        lpa_options = std_hash=true

Danach muss man noch aus dem Solaris/Linux md5-hash das führende Triplet $1$ entfernen und ein {smd5} voranstellen und schon kann man den Solaris/Linux md5 Hash unter AIX nutzen.

So sieht der md5 Hash von Solaris/Linux für den User testi aus:

$1$RilZftfkf$.skKef3CnoF4CloeTDQE/

und so der Eintrag in der /etc/security/passwd

testi:
         password = {smd5}RilZftfkf$.skKef3CnoF4CloeTDQE/

Folgendes Script (linMD5_2_aix.sh) gibt eine korrekt formatierte Ausgabe aus.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/bash
for i in $1; do
 # Hier überprüf ich ob es bereits einen Eintrag gibt
 if ! grep -q $i /etc/security/passwd; then
  # Hier hol ich mir den md5-hash aus der von Solaris/Linux nach /tmp 
  # kopierten shadow für den angegeben User heraus
  PASSWD=`grep $i /tmp/shadow|cut -d: -f2|/opt/freeware/bin/sed 's/\\$1\\$//g'`
   # Falls in der Variable was drin steht gebe ich den Eintrag 
   # passend formatiert zurück
   if [ ! -z $PASSWD ]; then
    echo -e $i": \n\t password = {smd5}"$PASSWD "\n"
   fi
  fi
done

Ausgeführt wird das ganze mit dem/den User/n als Argument, also für den User testi:

# ./linMD5_2_aix.sh testi >> /etc/security/passwd

Und schon kann man sich mit dem Solaris/Linux Passwort unter AIX einloggen.

Leave a Reply

Required fields are marked *.


This site uses Akismet to reduce spam. Learn how your comment data is processed.