[Pkg-shadow-commits] r3535 - in upstream/trunk: . man src

Nicolas FRANÇOIS nekral-guest at alioth.debian.org
Sun Nov 6 18:37:26 UTC 2011


Author: nekral-guest
Date: 2011-11-06 18:37:25 +0000 (Sun, 06 Nov 2011)
New Revision: 3535

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/NEWS
   upstream/trunk/man/useradd.8.xml
   upstream/trunk/src/useradd.c
Log:
	* NEWS, src/useradd.c, man/useradd.8.xml: Add --root option. Open
	audit after the potential chroot.

Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2011-11-06 18:37:19 UTC (rev 3534)
+++ upstream/trunk/ChangeLog	2011-11-06 18:37:25 UTC (rev 3535)
@@ -4,6 +4,8 @@
 	po/POTFILES.in: Add process_root_flag() to process the --root
 	option and chroot so that the chroot config is used and changes
 	are applied to the chroot.
+	* NEWS, src/useradd.c, man/useradd.8.xml: Add --root option. Open
+	audit after the potential chroot.
 
 2011-10-22  Nicolas François  <nicolas.francois at centraliens.net>
 

Modified: upstream/trunk/NEWS
===================================================================
--- upstream/trunk/NEWS	2011-11-06 18:37:19 UTC (rev 3534)
+++ upstream/trunk/NEWS	2011-11-06 18:37:25 UTC (rev 3535)
@@ -71,6 +71,7 @@
 - useradd
   * If the skeleton directory contained hardlinked files, copies of the
     hardlink were removed from the skeleton directory.
+  * Add --root option.
 - userdel
   * Check the existence of the user's mail spool before trying to remove
     it. If it does not exist, a warning is issued, but no failure.

Modified: upstream/trunk/man/useradd.8.xml
===================================================================
--- upstream/trunk/man/useradd.8.xml	2011-11-06 18:37:19 UTC (rev 3534)
+++ upstream/trunk/man/useradd.8.xml	2011-11-06 18:37:25 UTC (rev 3535)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
    Copyright (c) 1991 - 1994, Julianne Frances Haugh
-   Copyright (c) 2007 - 2009, Nicolas François
+   Copyright (c) 2007 - 2011, Nicolas François
    All rights reserved.
   
    Redistribution and use in source and binary forms, with or without
@@ -436,6 +436,19 @@
       </varlistentry>
       <varlistentry>
 	<term>
+	  <option>-R</option>, <option>--root</option>
+	  <replaceable>CHROOT_DIR</replaceable>
+	</term>
+	<listitem>
+	  <para>
+	    Apply changes in the <replaceable>CHROOT_DIR</replaceable>
+	    directory and use the configuration files from the
+	    <replaceable>CHROOT_DIR</replaceable> directory.
+	  </para>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
+	<term>
 	  <option>-s</option>, <option>--shell</option>
 	  <replaceable>SHELL</replaceable>
 	</term>

Modified: upstream/trunk/src/useradd.c
===================================================================
--- upstream/trunk/src/useradd.c	2011-11-06 18:37:19 UTC (rev 3534)
+++ upstream/trunk/src/useradd.c	2011-11-06 18:37:25 UTC (rev 3535)
@@ -724,6 +724,7 @@
 	                "                                (non-unique) UID\n"), usageout);
 	(void) fputs (_("  -p, --password PASSWORD       encrypted password of the new account\n"), usageout);
 	(void) fputs (_("  -r, --system                  create a system account\n"), usageout);
+	(void) fputs (_("  -R, --root CHROOT_DIR         directory to chroot into\n"), usageout);
 	(void) fputs (_("  -s, --shell SHELL             login shell of the new account\n"), usageout);
 	(void) fputs (_("  -u, --uid UID                 user ID of the new account\n"), usageout);
 	(void) fputs (_("  -U, --user-group              create a group with the same name as the user\n"), usageout);
@@ -997,6 +998,7 @@
 			{"non-unique", no_argument, NULL, 'o'},
 			{"password", required_argument, NULL, 'p'},
 			{"system", no_argument, NULL, 'r'},
+			{"root", required_argument, NULL, 'R'},
 			{"shell", required_argument, NULL, 's'},
 #ifdef WITH_SELINUX
 			{"selinux-user", required_argument, NULL, 'Z'},
@@ -1007,9 +1009,9 @@
 		};
 		while ((c = getopt_long (argc, argv,
 #ifdef WITH_SELINUX
-		                         "b:c:d:De:f:g:G:hk:K:lmMNop:rs:u:UZ:",
+		                         "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:UZ:",
 #else
-		                         "b:c:d:De:f:g:G:hk:K:lmMNop:rs:u:U",
+		                         "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:U",
 #endif
 		                         long_options, NULL)) != -1) {
 			switch (c) {
@@ -1178,6 +1180,8 @@
 			case 'r':
 				rflg = true;
 				break;
+			case 'R': /* no-op, handled in process_root_flag () */
+				break;
 			case 's':
 				if (   ( !VALID (optarg) )
 				    || (   ('\0' != optarg[0])
@@ -1869,10 +1873,6 @@
 #endif				/* USE_PAM */
 #endif				/* ACCT_TOOLS_SETUID */
 
-#ifdef WITH_AUDIT
-	audit_help_open ();
-#endif
-
 	/*
 	 * Get my name so that I can use it to report errors.
 	 */
@@ -1882,7 +1882,12 @@
 	(void) bindtextdomain (PACKAGE, LOCALEDIR);
 	(void) textdomain (PACKAGE);
 
+	process_root_flag ("-R", argc, argv);
+
 	OPENLOG ("useradd");
+#ifdef WITH_AUDIT
+	audit_help_open ();
+#endif
 
 	sys_ngroups = sysconf (_SC_NGROUPS_MAX);
 	user_groups = (char **) xmalloc ((1 + sys_ngroups) * sizeof (char *));




More information about the Pkg-shadow-commits mailing list