diff options
Diffstat (limited to '')
l--------- | tests/su/02/env_special-options_-l | 1 | ||||
l--------- | tests/su/02/env_special-options_-l-p | 1 | ||||
-rwxr-xr-x | tests/su/02/env_special-options_-l-p.exp | 55 | ||||
l--------- | tests/su/02/env_special-options_-l-p_bash | 1 | ||||
-rwxr-xr-x | tests/su/02/env_special-options_-l.exp | 54 | ||||
l--------- | tests/su/02/env_special-options_-l_bash | 1 |
6 files changed, 113 insertions, 0 deletions
diff --git a/tests/su/02/env_special-options_-l b/tests/su/02/env_special-options_-l new file mode 120000 index 0000000..11a6d1a --- /dev/null +++ b/tests/su/02/env_special-options_-l @@ -0,0 +1 @@ +run_env_test.sh
\ No newline at end of file diff --git a/tests/su/02/env_special-options_-l-p b/tests/su/02/env_special-options_-l-p new file mode 120000 index 0000000..11a6d1a --- /dev/null +++ b/tests/su/02/env_special-options_-l-p @@ -0,0 +1 @@ +run_env_test.sh
\ No newline at end of file diff --git a/tests/su/02/env_special-options_-l-p.exp b/tests/su/02/env_special-options_-l-p.exp new file mode 100755 index 0000000..15c10b6 --- /dev/null +++ b/tests/su/02/env_special-options_-l-p.exp @@ -0,0 +1,55 @@ +#!/usr/bin/expect + +if {$argc == 1} { + set command [lindex $argv 0] +} else { + set command "" +} + + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/bash +expect "# " + +send "id\r" +expect "uid=0(root) gid=0(root) groups=0(root)\r" +expect "# " + +send "export PATH=bar:\$PATH\r" +expect "# " +send "echo \"PATH=\\\"\$PATH\\\"\"\r" +expect "# " + +#============================================================================= +# +# su -m -l, make a login shell, but preserve environment +# However, PATH is not preserved, but set to what it would be with login +# +#============================================================================= +send "/bin/su -p $command -l myuser\r" +expect "$ " + +send "id\n" +expect "uid=424242(myuser) gid=424242(myuser) groups=424242(myuser)\r" +expect "$ " + +send_user "\n# Even with -p, PATH is reset" +send "\r" +expect "$ " + +send "echo \"PATH=\\\"\$PATH\\\"\"\r" +expect "PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games\"\r" +expect "$ " + +send "echo \"'\$HOME'\$USER'\$LOGNAME'\$SHELL'\"\r" +expect "'/root'root'root'/bin/bash'\r" +expect "$ " + +send "exit\r" +expect "# " + +puts "\nPASS" +exit 0 + diff --git a/tests/su/02/env_special-options_-l-p_bash b/tests/su/02/env_special-options_-l-p_bash new file mode 120000 index 0000000..11a6d1a --- /dev/null +++ b/tests/su/02/env_special-options_-l-p_bash @@ -0,0 +1 @@ +run_env_test.sh
\ No newline at end of file diff --git a/tests/su/02/env_special-options_-l.exp b/tests/su/02/env_special-options_-l.exp new file mode 100755 index 0000000..75df5dc --- /dev/null +++ b/tests/su/02/env_special-options_-l.exp @@ -0,0 +1,54 @@ +#!/usr/bin/expect + +if {$argc == 1} { + set command [lindex $argv 0] +} else { + set command "" +} + + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/bash +expect "# " + +send "id\r" +expect "uid=0(root) gid=0(root) groups=0(root)\r" +expect "# " + +send "export PATH=bar:\$PATH\r" +expect "# " +send "echo \"PATH=\\\"\$PATH\\\"\"\r" +expect "# " + +#============================================================================= +# +# su -l, make a login shell +# +#============================================================================= +send "/bin/su - $command myuser\r" +expect "$ " + +send "id\n" +expect "uid=424242(myuser) gid=424242(myuser) groups=424242(myuser)\r" +expect "$ " + +send_user "\n# PATH should be '/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games'" +send "\r" +expect "$ " + +send "echo \"PATH=\\\"\$PATH\\\"\"\r" +expect "PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games\"\r" +expect "$ " + +send "echo \"'\$HOME'\$USER'\$LOGNAME'\$SHELL'\"\r" +expect "'/home/'myuser'myuser'/bin/sh'\r" +expect "$ " + +send "exit\r" +expect "# " + +puts "\nPASS" +exit 0 + diff --git a/tests/su/02/env_special-options_-l_bash b/tests/su/02/env_special-options_-l_bash new file mode 120000 index 0000000..11a6d1a --- /dev/null +++ b/tests/su/02/env_special-options_-l_bash @@ -0,0 +1 @@ +run_env_test.sh
\ No newline at end of file |