Projects
openEuler:22.03:LTS:LoongArch
shadow
_service:tar_scm_kernel_repo:useradd-create-dir...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm_kernel_repo:useradd-create-directories-after-the-SELinux-user.patch of Package shadow
From 09c752f00f9dfc610f66d68be38c9e5be8ca7f15 Mon Sep 17 00:00:00 2001 From: Iker Pedrosa <ipedrosa@redhat.com> Date: Fri, 8 Oct 2021 13:09:59 +0200 Subject: [PATCH] useradd: create directories after the SELinux user Create the home and mail folders after the SELinux user has been set for the added user. This will allow the folders to be created with the SELinux user label. Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com> Conflict: context adaptation --- src/useradd.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/useradd.c b/src/useradd.c index 6269c01..b463a17 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -2670,27 +2670,12 @@ int main (int argc, char **argv) usr_update (); - if (mflg) { - create_home (); - if (home_added) { - copy_tree (def_template, prefix_user_home, false, false, - (uid_t)-1, user_id, (gid_t)-1, user_gid); - } else { - fprintf (stderr, - _("%s: warning: the home directory %s already exists.\n" - "%s: Not copying any file from skel directory into it.\n"), - Prog, user_home, Prog); - } - - } - - /* Do not create mail directory for system accounts */ - if (!rflg) { - create_mail (); - } - close_files (); + nscd_flush_cache ("passwd"); + nscd_flush_cache ("group"); + sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP); + /* * tallylog_reset needs to be able to lookup * a valid existing user name, @@ -2716,15 +2701,30 @@ int main (int argc, char **argv) } #endif /* WITH_SELINUX */ + if (mflg) { + create_home (); + if (home_added) { + copy_tree (def_template, prefix_user_home, false, false, + (uid_t)-1, user_id, (gid_t)-1, user_gid); + } else { + fprintf (stderr, + _("%s: warning: the home directory %s already exists.\n" + "%s: Not copying any file from skel directory into it.\n"), + Prog, user_home, Prog); + } + + } + + /* Do not create mail directory for system accounts */ + if (!rflg) { + create_mail (); + } + if (run_parts ("/etc/shadow-maint/useradd-post.d", (char*)user_name, "useradd")) { exit(1); } - nscd_flush_cache ("passwd"); - nscd_flush_cache ("group"); - sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP); - return E_SUCCESS; } -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.