aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@mengyan1223.wang>2021-07-18 01:04:22 +0800
committerXi Ruoyao <xry111@mengyan1223.wang>2021-07-18 01:04:22 +0800
commitef61313366e6ca42298c4a48ecbe50c50c125b12 (patch)
treedb0ea25d083be06a9d95f15699f15f5618a0eff1
parent28bdcfe0ef164ea92e1debc35bf71e62e29a5c4b (diff)
do not use UID hack for tester
It's causing "root-tester namesis" (both have UID 0) if the tty is owned by root. To fix bash test, use Expect to spawn a new PTY for it.
-rw-r--r--appendices/dependencies.xml2
-rw-r--r--chapter07/createfiles.xml2
-rw-r--r--chapter08/bash.xml4
3 files changed, 4 insertions, 4 deletions
diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 46a016465..7beb8fa3a 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -218,7 +218,7 @@
<segmentedlist id="bash-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
- <seg>Shadow</seg>
+ <seg>Expect and Shadow</seg>
</seglistitem>
</segmentedlist>
diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml
index 93abeaf8e..c55d40836 100644
--- a/chapter07/createfiles.xml
+++ b/chapter07/createfiles.xml
@@ -175,7 +175,7 @@ EOF</userinput></screen>
user. We add this user here and delete this account at the end of that
chapter.</para>
-<screen><userinput>echo "tester:x:$(ls -n $(tty) | cut -d" " -f3):101::/home/tester:/bin/bash" &gt;&gt; /etc/passwd
+<screen><userinput>echo "tester:x:101:101::/home/tester:/bin/bash" &gt;&gt; /etc/passwd
echo "tester:x:101:" &gt;&gt; /etc/group
install -o tester -d /home/tester</userinput></screen>
diff --git a/chapter08/bash.xml b/chapter08/bash.xml
index bb0f2b0fb..99ee2e3f4 100644
--- a/chapter08/bash.xml
+++ b/chapter08/bash.xml
@@ -76,8 +76,8 @@
<para>Now, run the tests as the <systemitem
class="username">tester</systemitem> user:</para>
-<screen><userinput remap="test">su tester &lt;&lt; EOF
-PATH=$PATH make tests &lt; $(tty)
+<screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; EOF
+spawn make tests; expect EOF;
EOF</userinput></screen>
<para>Install the package:</para>