Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com> |
| 4 | # Copyright 2013 Robin Mittal <robinmittal.it@gmail.com> |
| 5 | |
| 6 | [ -f testing.sh ] && . testing.sh |
| 7 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 8 | if [ "$(id -u)" -ne 0 ] |
| 9 | then |
Elliott Hughes | 2ee0cd9 | 2015-03-01 15:35:48 -0600 | [diff] [blame] | 10 | echo "SKIPPED: useradd (not root)" |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 11 | continue 2>/dev/null |
| 12 | exit |
| 13 | fi |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 14 | |
| 15 | # Redirecting all output to /dev/null for grep, adduser and deluser |
| 16 | arg="&>/dev/null" |
| 17 | |
| 18 | #testing "name" "command" "result" "infile" "stdin" |
| 19 | |
| 20 | # Default password for adding user is: 'password' |
| 21 | pass=`echo -ne 'password\npassword\n'` |
| 22 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 23 | user="toyTestUser" |
| 24 | testing "adduser user_name (text)" "useradd $user $arg || |
| 25 | grep '^$user:' /etc/passwd $arg && [ -d /home/$user ] && |
| 26 | echo 'yes'" "yes\n" "" "$pass" |
| 27 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 28 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 29 | user="toy1Test2User3" |
| 30 | testing "adduser user_name (alphanumeric)" "useradd $user $arg || |
| 31 | grep '^$user:' /etc/passwd $arg && [ -d /home/$user ] && |
| 32 | echo 'yes'" "yes\n" "" "$pass" |
| 33 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 34 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 35 | user="987654321" |
| 36 | testing "adduser user_name (numeric)" "useradd $user $arg || |
| 37 | grep '^$user:' /etc/passwd $arg && [ -d /home/$user ] && |
| 38 | echo 'yes'" "yes\n" "" "$pass" |
| 39 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 40 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 41 | user="toy.1Test-2User_3" |
| 42 | testing "adduser user_name (with ./-/_)" "useradd $user $arg || |
| 43 | grep '^$user:' /etc/passwd $arg && [ -d /home/$user ] && |
| 44 | echo 'yes'" "yes\n" "" "$pass" |
| 45 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 46 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 47 | # 70 characters long string; hereafter, we will use it as per our need. |
| 48 | user="abcdefghijklmnopqrstuvwxyz123456789abcdefghijklmnopqrstuvwxyz123456789" |
| 49 | testing "adduser user_name (long string)" "useradd $user $arg || |
| 50 | grep '^$user:' /etc/passwd $arg && [ -d /home/$user ] && |
| 51 | echo 'yes'" "yes\n" "" "$pass" |
| 52 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 53 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 54 | user="toyTestUser" |
| 55 | testing "adduser user_name with dir" "useradd -h $PWD/dir $user $arg || |
| 56 | grep '^$user:.*dir' /etc/passwd $arg && [ -d $PWD/dir ] && |
| 57 | echo 'yes'" "yes\n" "" "$pass" |
| 58 | userdel -r $user $arg |
| 59 | rm -rf $PWD/dir |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 60 | |
| 61 | gecos="aaa,bbb,ccc,ddd,eee" |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 62 | testing "adduser user_name with gecos" "useradd -g '$gecos' $user $arg || |
| 63 | grep '^$user:.*$gecos' /etc/passwd $arg && [ -d /home/$user ] && |
| 64 | echo 'yes'" "yes\n" "" "$pass" |
| 65 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 66 | |
| 67 | shl="/bin/sh" |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 68 | testing "adduser user_name with shell" "useradd -s $shl $user $arg || |
| 69 | grep '^$user:.*$shl$' /etc/passwd $arg && [ -d /home/$user ] && |
| 70 | echo 'yes'" "yes\n" "" "$pass" |
| 71 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 72 | |
| 73 | g_name="root" |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 74 | g_id=`grep $g_name':.*:.*' /etc/group | cut -d : -f 3` |
| 75 | testing "adduser user_name with group" "useradd -G $g_name $user $arg || |
| 76 | grep '^$user:.*:.*:$g_id:.*' /etc/passwd $arg && [ -d /home/$user ] && |
| 77 | echo 'yes'" "yes\n" "" "$pass" |
| 78 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 79 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 80 | testing "adduser user_name (system user)" "useradd -S $user $arg || |
| 81 | grep '^$user:.*:.*:.*' /etc/passwd $arg && [ ! -e /home/$user ] && |
| 82 | echo 'yes'" "yes\n" "" "$pass" |
| 83 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 84 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 85 | testing "adduser user_name with -D" "useradd -D $user $arg || |
| 86 | grep '^$user:.*:.*:.*' /etc/passwd $arg && [ -d /home/$user ] && |
| 87 | echo 'yes'" "yes\n" "" "$pass" |
| 88 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 89 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 90 | testing "adduser user_name with -H" "useradd -H $user $arg || |
| 91 | grep '^$user:.*:.*:.*' /etc/passwd $arg && [ ! -e /home/$user ] && |
| 92 | echo 'yes'" "yes\n" "" "$pass" |
| 93 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 94 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 95 | testing "adduser user_name with dir and -H" "useradd -H -h $PWD/dir $user $arg || |
| 96 | grep '^$user:.*dir' /etc/passwd $arg && [ ! -e $PWD/dir ] && |
| 97 | echo 'yes'" "yes\n" "" "$pass" |
| 98 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 99 | |
Yeongdeok Suh | 2683307 | 2015-02-18 13:06:26 -0600 | [diff] [blame] | 100 | testing "adduser user_name with user_id" "useradd -u 49999 $user $arg || |
| 101 | grep '^$user:x:49999:.*' /etc/passwd $arg && [ -d /home/$user ] && |
| 102 | echo 'yes'" "yes\n" "" "$pass" |
| 103 | userdel -r $user $arg |
Divya Kothari | ef0ed68 | 2014-07-04 21:20:02 -0500 | [diff] [blame] | 104 | |