root / example / hooks / linux / root_passwd @ 981845ed
History | View | Annotate | Download (900 Bytes)
1 |
#!/bin/bash |
---|---|
2 |
|
3 |
# |
4 |
# Copyright (C) 2011 Greek Research and Technology Network |
5 |
# |
6 |
|
7 |
set -e |
8 |
|
9 |
. common.sh |
10 |
. common_linux.sh |
11 |
|
12 |
debug set -x |
13 |
|
14 |
HASH=$(${TOOLS_DIR}/snf-passtohash.py -p $IMG_PASSWD) |
15 |
|
16 |
CLEANUP=( ) |
17 |
|
18 |
trap cleanup EXIT |
19 |
|
20 |
declare -a USERS |
21 |
|
22 |
USERS+=("root") |
23 |
|
24 |
get_os ${TARGET} |
25 |
if [ "x$OPERATING_SYSTEM" = "xubuntu" -o \ |
26 |
"x$OPERATING_SYSTEM" = "xfedora" ] ; then |
27 |
USERS+=("user") |
28 |
fi |
29 |
|
30 |
if [ -e ${TARGET}/etc/shadow ]; then |
31 |
|
32 |
for i in `seq 0 1 $((${#USERS[@]}-1))`; do |
33 |
|
34 |
TMP_SHADOW=$(mktemp) |
35 |
CLEANUP+=("rm $TMP_SHADOW") |
36 |
|
37 |
echo -n "Setting ${USERS[$i]} password..." |
38 |
|
39 |
echo "${USERS[$i]}:$HASH:15103:0:99999:7:::" > $TMP_SHADOW |
40 |
grep -v "${USERS[$i]}" ${TARGET}/etc/shadow >> $TMP_SHADOW |
41 |
cat $TMP_SHADOW > ${TARGET}/etc/shadow |
42 |
echo "done" |
43 |
|
44 |
done |
45 |
|
46 |
cleanup |
47 |
trap - EXIT |
48 |
exit 0 |
49 |
fi |
50 |
|
51 |
echo "Password changes failed!!!" |
52 |
exit 1 |
53 |
|