瀏覽代碼

Install su from coreutils in chapter 5 as su-tools. Use su-tools to run test suites from coreutils and bash as user nobody. Fixes #1877

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8006 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Jeremy Huntwork 18 年之前
父節點
當前提交
f4c628cc80
共有 5 個文件被更改,包括 31 次插入21 次删除
  1. 12 0
      chapter01/changelog.xml
  2. 9 0
      chapter05/coreutils.xml
  3. 4 2
      chapter06/bash.xml
  4. 4 17
      chapter06/coreutils.xml
  5. 2 2
      general.ent

+ 12 - 0
chapter01/changelog.xml

@@ -35,6 +35,18 @@
       </itemizedlist>
     </listitem>
 -->
+
+    <listitem>
+      <para>2007-04-03</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jhuntwork] - Install su from coreutils in chapter 5 as su-tools.
+          Use su-tools to run test suites from coreutils and bash as user nobody.
+          Fixes #1877.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>2007-04-01</para>
       <itemizedlist>

+ 9 - 0
chapter05/coreutils.xml

@@ -56,6 +56,15 @@
 
 <screen><userinput>make install</userinput></screen>
 
+    <para>The above command refuses to install <filename>su</filename>
+    because it cannot install it setuid root as a non-privileged user. By
+    manually installing it with a different name, we can use it for running
+    tests in the final system as a non-privileged user and we keep a possibly
+    useful <command>su</command> from our host first place in our PATH. Install
+    it with:</para>
+
+<screen><userinput>cp -v src/su /tools/bin/su-tools</userinput></screen>
+
   </sect2>
 
   <sect2 role="content">

+ 4 - 2
chapter06/bash.xml

@@ -70,8 +70,10 @@ sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-&bash-version;|" \
 
 <screen><userinput>make</userinput></screen>
 
-    <para>To test the results, issue:
-    <userinput>make tests</userinput>.</para>
+    <para>To test the results, issue:</para>
+
+<screen><userinput>chown -Rv nobody ./
+su-tools nobody -s /bin/bash -c "make tests"</userinput></screen>
 
     <para>Install the package:</para>
 

+ 4 - 17
chapter06/coreutils.xml

@@ -72,31 +72,18 @@
 
 <screen><userinput>make</userinput></screen>
 
-    <para>The test suite of Coreutils makes several assumptions about the
-    presence of system users and groups that are not valid within the minimal
-    environment that exists at the moment. Therefore, additional items need
-    to be set up before running the tests. Skip down to <quote>Install the
+    <para>Skip down to <quote>Install the
     package</quote> if not running the test suite.</para>
 
-    <para>Create two dummy groups and a dummy user:</para>
-
-<screen><userinput>echo "dummy1:x:1000:" &gt;&gt; /etc/group
-echo "dummy2:x:1001:dummy" &gt;&gt; /etc/group
-echo "dummy:x:1000:1000::/root:/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
-
     <para>Now the test suite is ready to be run. First, run the tests that are
     meant to be run as user <systemitem class="username">root</systemitem>:</para>
 
-<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
+<screen><userinput>make NON_ROOT_USERNAME=nobody check-root</userinput></screen>
 
     <para>Then run the remainder of the tests as the
-    <systemitem class="username">dummy</systemitem> user:</para>
-
-<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
-
-    <para>When testing is complete, remove the dummy user and groups:</para>
+    <systemitem class="username">nobody</systemitem> user:</para>
 
-<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
+<screen><userinput>su-tools nobody -s /bin/bash -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
 
     <para>Install the package:</para>
 

+ 2 - 2
general.ent

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20070401">
-<!ENTITY releasedate "April 1, 2007">
+<!ENTITY version "SVN-20070403">
+<!ENTITY releasedate "April 3, 2007">
 <!ENTITY milestone "6.3">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->