[Pkg-shadow-devel] [PATCH v2 5/5] Allow creating shadow files, when missing, via an option.

Dimitri John Ledkov dimitri.j.ledkov at intel.com
Wed Apr 1 12:43:31 UTC 2015


---
 etc/login.defs.m4 | 8 ++++++++
 lib/getdef.c      | 1 +
 lib/sgroupio.c    | 2 ++
 lib/shadowio.c    | 2 ++
 4 files changed, 13 insertions(+)

diff --git a/etc/login.defs.m4 b/etc/login.defs.m4
index a45550e..7899fbb 100644
--- a/etc/login.defs.m4
+++ b/etc/login.defs.m4
@@ -415,3 +415,11 @@ USERGROUPS_ENAB yes
 #
 #CREATE_HOME     yes
 
+#
+# Create shadow(5) and gshadow(5) files, when operations are invoked
+# that could modify those. E.g. passwd/useradd/userdel/usermod etc.
+# If this option is not set, shadow(5)/gshadow(5) files are updated,
+# only if already present on disk.
+#
+#
+#CREATE_SHADOW    yes
diff --git a/lib/getdef.c b/lib/getdef.c
index c2f2dfb..4189a62 100644
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -135,6 +135,7 @@ static struct itemdef def_table[] = {
 	{"TCB_SYMLINKS", NULL},
 	{"USE_TCB", NULL},
 #endif
+	{"CREATE_SHADOW", NULL},
 	{NULL, NULL}
 };
 
diff --git a/lib/sgroupio.c b/lib/sgroupio.c
index 154d35e..9961a86 100644
--- a/lib/sgroupio.c
+++ b/lib/sgroupio.c
@@ -252,6 +252,8 @@ int sgr_setdbname (const char *filename)
 
 bool sgr_file_present (void)
 {
+	if (getdef_bool ("CREATE_SHADOW"))
+		return true;
 	return commonio_present (&gshadow_db);
 }
 
diff --git a/lib/shadowio.c b/lib/shadowio.c
index 53b0c9f..5b410ad 100644
--- a/lib/shadowio.c
+++ b/lib/shadowio.c
@@ -128,6 +128,8 @@ int spw_setdbname (const char *filename)
 
 bool spw_file_present (void)
 {
+	if (getdef_bool ("CREATE_SHADOW"))
+		return true;
 	return commonio_present (&shadow_db);
 }
 
-- 
2.1.0




More information about the Pkg-shadow-devel mailing list