60780ba34c
* Newgrp: avoid unnecessary lookups * Make language less binary * Add error when turning off man switch * Spelling fixes * Make userdel work with -R * newgidmap: enforce setgroups=deny if self-mapping a group * Norwegian bokmål translation * pwck: prevent crash by not passing O_CREAT * WITH_TCB fixes from Mandriva * Fix pwconv and grpconv entry skips * Fix -- slurping in su * add --prefix option - Remove CVE-2018-7169.patch: upstreamed - Remove shadow-4.1.5.1-pam_group.patch: upstreamed - Update userdel-script.patch: change due to prefix - Update useradd-mkdirs.patch: change due to prefix Additionally changed in that patch: * Test for strdup() failure * Directory to 0755 instead 0777 - Add shadow-4.6.0-fix-usermod-prefix-crash.patch: Fixes crash in usermod when called with --prefix. See https://github.com/shadow-maint/shadow/issues/110 OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=52
61 lines
1.6 KiB
Diff
61 lines
1.6 KiB
Diff
diff -urEbwB shadow-4.6/src/userdel.c shadow-4.6.new/src/userdel.c
|
|
--- shadow-4.6/src/userdel.c 2018-04-29 18:42:37.000000000 +0200
|
|
+++ shadow-4.6.new/src/userdel.c 2018-05-14 16:13:43.996280216 +0200
|
|
@@ -125,7 +125,7 @@
|
|
static void fail_exit (int);
|
|
static void open_files (void);
|
|
static void update_user (void);
|
|
-static void user_cancel (const char *);
|
|
+static void call_script (const char *, const char *);
|
|
|
|
#ifdef EXTRA_CHECK_HOME_DIR
|
|
static bool path_prefix (const char *, const char *);
|
|
@@ -767,13 +767,13 @@
|
|
* cron, at, or print jobs.
|
|
*/
|
|
|
|
-static void user_cancel (const char *user)
|
|
+static void call_script (const char *program, const char *user)
|
|
{
|
|
const char *cmd;
|
|
const char *argv[3];
|
|
int status;
|
|
|
|
- cmd = getdef_str ("USERDEL_CMD");
|
|
+ cmd = getdef_str (program);
|
|
if (NULL == cmd) {
|
|
return;
|
|
}
|
|
@@ -1213,9 +1213,10 @@
|
|
}
|
|
|
|
/*
|
|
- * Do the hard stuff - open the files, create the user entries,
|
|
- * create the home directory, then close and update the files.
|
|
+ * Do the hard stuff - open the files, remove the user entries,
|
|
+ * remove the home directory, then close and update the files.
|
|
*/
|
|
+ call_script ("USERDEL_PRECMD", user_name);
|
|
open_files ();
|
|
update_user ();
|
|
update_groups ();
|
|
@@ -1319,7 +1320,7 @@
|
|
* the entry from /etc/passwd.
|
|
*/
|
|
if(prefix[0] == '\0')
|
|
- user_cancel (user_name);
|
|
+ call_script ("USERDEL_CMD", user_name);
|
|
close_files ();
|
|
|
|
#ifdef WITH_TCB
|
|
@@ -1329,6 +1330,9 @@
|
|
nscd_flush_cache ("passwd");
|
|
nscd_flush_cache ("group");
|
|
|
|
+ /* Call the post script, for example to rebuild NIS database */
|
|
+ call_script ("USERDEL_POSTCMD", user_name);
|
|
+
|
|
return ((0 != errors) ? E_HOMEDIR : E_SUCCESS);
|
|
}
|
|
|