1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 12:29:55 +00:00

shadow: drop inappropriate patch

The 0001-useradd-copy-extended-attributes-of-home.patch (oe-core commit:
eed66e85af5ca6bbdd80cc3d5cf8453e8d8880bc) introduced a runtime failure
when enable SELinux.

When enable SELinux, The directory /home/user will get the extended
attributes of /etc/skel. However, the SELinux lable for /etc/skel is
etc_t which is also copied to /home/user. It will cause the user can not
write their home directory because the SELinux lable for /home/user
should be user_home_dir_t.

See discussion: http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146039.html

The solution at the moment is to drop this patch.

(From OE-Core rev: 2a8b35226edde4cd49cb5ba68c5b47aa8379eca1)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yi Zhao
2019-03-13 11:26:31 +08:00
committed by Richard Purdie
parent dad2a7bc3a
commit 2f26e0e8d5
3 changed files with 5 additions and 51 deletions
@@ -1,41 +0,0 @@
Subject: [PATCH] useradd: copy extended attributes of home
The Home directory wasn't getting the extended attributes
of /etc/skel. This patch fixes that issue and adds the copy
of the extended attributes of the root of the home directory.
Upstream-Status: Pending
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/useradd.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/useradd.c b/src/useradd.c
index e721e52..c74e491 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -54,6 +54,9 @@
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
+#ifdef WITH_ATTR
+#include <attr/libattr.h>
+#endif
#include "chkname.h"
#include "defines.h"
#include "faillog.h"
@@ -2042,6 +2045,9 @@ static void create_home (void)
(void) chown (prefix_user_home, user_id, user_gid);
chmod (prefix_user_home,
0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
+#ifdef WITH_ATTR
+ attr_copy_file (def_template, user_home, NULL, NULL);
+#endif
home_added = true;
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, Prog,
--
2.11.0
@@ -4,11 +4,11 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
--- ---
src/useradd.c | 82 +++++++++++++++++++++++++++++++++++++++-------------------- src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 54 insertions(+), 28 deletions(-) 1 file changed, 53 insertions(+), 27 deletions(-)
diff --git a/src/useradd.c b/src/useradd.c diff --git a/src/useradd.c b/src/useradd.c
index 7214e72..3aaf45c 100644 index 00a3c30..9ecbb58 100644
--- a/src/useradd.c --- a/src/useradd.c
+++ b/src/useradd.c +++ b/src/useradd.c
@@ -2021,6 +2021,35 @@ static void usr_update (void) @@ -2021,6 +2021,35 @@ static void usr_update (void)
@@ -47,7 +47,7 @@ index 7214e72..3aaf45c 100644
* create_home - create the user's home directory * create_home - create the user's home directory
* *
* create_home() creates the user's home directory if it does not * create_home() creates the user's home directory if it does not
@@ -2038,42 +2067,39 @@ static void create_home (void) @@ -2038,39 +2067,36 @@ static void create_home (void)
fail_exit (E_HOMEDIR); fail_exit (E_HOMEDIR);
} }
#endif #endif
@@ -74,16 +74,12 @@ index 7214e72..3aaf45c 100644
- (void) chown (prefix_user_home, user_id, user_gid); - (void) chown (prefix_user_home, user_id, user_gid);
- chmod (prefix_user_home, - chmod (prefix_user_home,
- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); - 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
- home_added = true;
+ fail_exit (E_HOMEDIR); + fail_exit (E_HOMEDIR);
+ } + }
+ (void) chown (prefix_user_home, user_id, user_gid); + (void) chown (prefix_user_home, user_id, user_gid);
+ chmod (prefix_user_home, + chmod (prefix_user_home,
+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); + 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
#ifdef WITH_ATTR
- attr_copy_file (def_template, user_home, NULL, NULL);
+ attr_copy_file (def_template, user_home, NULL, NULL);
#endif
- home_added = true;
+ home_added = true; + home_added = true;
#ifdef WITH_AUDIT #ifdef WITH_AUDIT
- audit_logger (AUDIT_ADD_USER, Prog, - audit_logger (AUDIT_ADD_USER, Prog,
-1
View File
@@ -11,7 +11,6 @@ DEPENDS = "virtual/crypt"
UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
file://shadow-4.1.3-dots-in-usernames.patch \ file://shadow-4.1.3-dots-in-usernames.patch \
file://0001-useradd-copy-extended-attributes-of-home.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
" "