Optimized group_save implemenation in case of selinux attr changes

This commit is contained in:
si-gui 2020-09-04 14:59:59 +08:00
parent 97f12c7440
commit 712ffae423
3 changed files with 30 additions and 34 deletions

View File

@ -1,32 +0,0 @@
From b737cd29a5c0911a968050a927154d44e9ec9a53 Mon Sep 17 00:00:00 2001
From: si-gui <245140120@qq.com>
Date: Thu, 3 Sep 2020 17:10:27 +0800
Subject: [PATCH] Subject: Modify etc group file directly in case of selinux
attr changes
Modify nss_wrapper.pl when it add user to group, the nss_wrapper.pl will change the /etc/group file's selinux attr from passwd_file_t to etc_t,so we modify the /etc/group directly
Signed-off-by: si-gui <245140120@qq.com>
---
nss_wrapper.pl | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/nss_wrapper.pl b/nss_wrapper.pl
index 48fa2c5..73dd655 100755
--- a/nss_wrapper.pl
+++ b/nss_wrapper.pl
@@ -386,10 +386,9 @@ sub group_save($)
push(@lines, $line);
}
- open(GROUP, ">$tmppath") or die("Unable to open '$tmppath' for write");
+ open(GROUP, ">$path") or die("Unable to open '$path' for write");
print GROUP join("\n", @lines)."\n";
close(GROUP);
- rename($tmppath, $path) or die("Unable to rename $tmppath => $path");
}
sub passwd_add($$$$$)
--
2.23.0

View File

@ -0,0 +1,28 @@
From a846e000b590c68ba4532c5b796614262f734328 Mon Sep 17 00:00:00 2001
From: si-gui <245140120@qq.com>
Date: Fri, 4 Sep 2020 14:46:49 +0800
Subject: [PATCH] Optimized group_save implemenation in case of selinux attr changes
Optimized group_save implemenation in case of selinux attr changes, and
calling the shell's cp command would be a good decision until a better
way is found
Signed-off-by: si-gui <245140120@qq.com>
---
nss_wrapper.pl | 1 +
1 file changed, 1 insertion(+)
diff --git a/nss_wrapper.pl b/nss_wrapper.pl
index 48fa2c5..6c3f666 100755
--- a/nss_wrapper.pl
+++ b/nss_wrapper.pl
@@ -375,6 +375,7 @@ sub group_save($)
my @lines = ();
my $path = $group->{path};
my $tmppath = $path.$$;
+ system("cp -a $path $tmppath");
foreach my $eref (@{$group->{array}}) {
next unless defined($eref);
--
2.23.0

View File

@ -5,7 +5,7 @@ License: BSD
Summary: A wrapper for the user, group and hosts NSS API
Url: https://cwrap.org/
Source0: https://ftp.samba.org/pub/cwrap/%{name}-%{version}.tar.gz
Patch0000: 0001-Modify-etc-group-file-directly-in-case-of-selinux-attr-changes.patch
Patch0000: 0001-Optimized-group_save-implemenation-in-case-of-selinux-attr-changes.patch
BuildRequires: cmake libcmocka-devel
Requires: cmake pkgconfig
@ -73,7 +73,7 @@ make test
%changelog
* Thu Sep 3 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 1.1.3-3
- Modify nss_wrapper.pl to directly change the /etc/group
- Optimized group_save implemenation in case of selinux attr changes
* Thu Nov 28 2019 yangjian<yangjian79@huawei.com> - 1.1.3-2
- Package init