mirror of https://github.com/tLDP/LDP
46 lines
998 B
Bash
46 lines
998 B
Bash
#!/bin/bash
|
|
# setnew-password.sh: For demonstration purposes only.
|
|
# Not a good idea to actually run this script.
|
|
# This script must be run as root.
|
|
|
|
ROOT_UID=0 # Root has $UID 0.
|
|
E_WRONG_USER=65 # Not root?
|
|
|
|
E_NOSUCHUSER=70
|
|
SUCCESS=0
|
|
|
|
|
|
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."
|
|
echo "Even root users get the blues... "
|
|
echo
|
|
fi
|
|
|
|
|
|
username=bozo
|
|
NEWPASSWORD=security_violation
|
|
|
|
# Check if bozo lives here.
|
|
grep -q "$username" /etc/passwd
|
|
if [ $? -ne $SUCCESS ]
|
|
then
|
|
echo "User $username does not exist."
|
|
echo "No password changed."
|
|
exit $E_NOSUCHUSER
|
|
fi
|
|
|
|
echo "$NEWPASSWORD" | passwd --stdin "$username"
|
|
# The '--stdin' option to 'passwd' permits
|
|
#+ getting a 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
|