Skrypt z passwd
Witajcie ludzie z debian-user-polish!
Piszę sobie skrypcik w perlu i chcialbym zmienic haslo za pomoca tego
skryptu dla danego usera. I tu mam problem.
Ze strony http://www.tldp.org/LDP/abs/html/system.html wyczytalem, ze
w bashu wykona to taki oto skrypcik:
---- cytuje start ----
passwd
Sets or changes a user's password.
The passwd can be used in a script, but should not be. #!/bin/bash
# set-new-password.sh: Not a good idea.
# This script must be run as root,
#+ or better yet, not run at all.
ROOT_UID=0 # Root has $UID 0.
E_WRONG_USER=65 # Not root?
if [ "$UID" -ne "$ROOT_UID" ]
then
echo; echo "Only root can run this script."; echo
exit $E_WRONG_USER
else
echo; echo "You should know better than to run this script, root."
fi
username=bozo
NEWPASSWORD=security_violation
echo "$NEWPASSWORD" | passwd --stdin "$username"
# The '--stdin' option to 'passwd' permits
#+ getting new password from stdin (or a pipe).
echo; echo "User $username's password changed!"
# Using the 'passwd' command in a script is dangerous.
exit 0
---- cytuje end ----
W tym sek, ze nie dziala to u mnie i nie wiem dlaczego :////
(oczywiscie w tym skrypcie zmieniam zmiena username na konto z mojego
systemu oraz NEWPASSWORD na cos co potrzebuje).
Efetem wykonania skryptu w moim systemie jest co takiego (loguje sie na
konto uzytkownika za pomoca putty a potem su -):
----
You should know better than to run this script, root.
passwd: błędna opcja -- -
usage: passwd [ -f | -s ] [ name ]
passwd [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name
passwd { -l | -u | -d | -S | -e } name
User xxxx's password changed!
----
I nie dziala :/ (chyba, ze musze uzyc skryptu z czystego konta root? ale
z linii polecen moge zminiac haslo wiec nie powinno byc roznicy).
Interesuje mnie ta linia:
echo "$NEWPASSWORD" | passwd --stdin "$username"
jesli to zadziala to wstawie do skryptu perlowego:
system('echo "$newpass" | passwd --stdin "$username"');
Macie moze jakies sugestie?
Z gory thx za pomoc.
Pozdrawiam,
--
Piotr najduk(at)dami(dot)pl
Linux Registered User # 217130
GG UIN # 1176825
Reply to: