probleme mit sonderzeichen bei sed

11/10/2007 - 13:55 von Ralf K aus K | Report spam
Grund der Aktion ist es das root Passwort zu àndern.

Ich habe das alte Passwort ausgelesen und in eine variable
gespeichert, dann wird der sed aufgerufen, und mit "suchen" und
"ersetzte" soll dann das alte gegen das neue Passwort getauscht
werden.

cp /etc/shadow /etc/shadow.ORIG
SUN_PASS=`cat /etc/shadow.ORIG | grep root | cut -d: -f2`
cat /etc/shadow.ORIG | sed 's#${sun_pass}#_neues_passwort_' > /tmp/
shad

Dummerweise sind im aktuellen Passwort aber Sonderzeichen
untergebracht.
Das Passwort sieht ungefàhr so aus: fe93845hgn//23

Zum testen habe ich das Passwort auch schon durch ASCII Zeichen
ersetzt, das geht ohne Problem.

Meine Frage wàre, wie schaffe ich es das sed den Doppelslash nicht
mehr beachtet und nur noch das Passwort als ganzes nimmt?
 

Lesen sie die antworten

#1 Paul Hink
11/10/2007 - 14:17 | Warnen spam
Ralf K aus K wrote:

Grund der Aktion ist es das root Passwort zu àndern.



Hast du dir das gut überlegt, dafür nicht die extra dazu
bereitgestellten Systemtools wie passwd oder chpasswd zu verwenden?
Manuell passwd, shadow und co. zu editieren kann böse Folgen haben.

Ich habe das alte Passwort ausgelesen und in eine variable
gespeichert, dann wird der sed aufgerufen, und mit "suchen" und
"ersetzte" soll dann das alte gegen das neue Passwort getauscht
werden.

cp /etc/shadow /etc/shadow.ORIG
SUN_PASS=`cat /etc/shadow.ORIG | grep root | cut -d: -f2`
cat /etc/shadow.ORIG | sed 's#${sun_pass}#_neues_passwort_' > /tmp/
shad

Dummerweise sind im aktuellen Passwort aber Sonderzeichen
untergebracht.



Warum so umstàndlich?

sed -e 's/^root:[^:]*:/root:<neuer Hash>:/'

(Dass in der shadow nur Passwort-Hashes, also keine Klartext-Passwörter
stehen ist dir bekannt und bewusst?)

Ähnliche fragen