policycoreutils/policycoreutils-rhat.patch
Daniel J Walsh 8788976044 * Thu Feb 23 2005 Dan Walsh <dwalsh@redhat.com> 1.21.19-3
- Fix genhomedircon to handle root
2005-02-24 18:23:58 +00:00

86 lines
3.2 KiB
Diff

diff --exclude-from=exclude -N -u -r nsapolicycoreutils/scripts/fixfiles policycoreutils-1.21.19/scripts/fixfiles
--- nsapolicycoreutils/scripts/fixfiles 2005-02-08 13:27:03.000000000 -0500
+++ policycoreutils-1.21.19/scripts/fixfiles 2005-02-23 09:31:45.000000000 -0500
@@ -78,8 +78,8 @@
esac; \
fi; \
done | \
- while read pattern ; do find $pattern -maxdepth 0 -print; done 2> /dev/null | \
- ${RESTORECON} -R $2 -v -e /root -e /home -e /tmp -e /var/tmp -e /dev -f -
+ while read pattern ; do find $pattern -fstype ext2 -fstype ext3 -fstype reiserfs -fstype xfs -print; done 2> /dev/null | \
+ ${RESTORECON} $2 -v -e /root -e /home -e /tmp -e /var/tmp -e /dev -f -
rm -f ${TEMPFILE}
fi
}
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/scripts/genhomedircon policycoreutils-1.21.19/scripts/genhomedircon
--- nsapolicycoreutils/scripts/genhomedircon 2005-02-17 14:28:23.000000000 -0500
+++ policycoreutils-1.21.19/scripts/genhomedircon 2005-02-24 13:20:09.000000000 -0500
@@ -154,13 +154,13 @@
def getDefaultHomeDir():
rc=commands.getstatusoutput("grep ^HOME= /etc/default/useradd | tail -1")
if rc[0]==0:
- return rc[1].split("=")[-1]
+ return rc[1].split("=")[-1].strip()
return "/home"
def getSELinuxType(directory):
rc=commands.getstatusoutput("grep ^SELINUXTYPE= %s/config | tail -1" % directory)
if rc[0]==0:
- return rc[1].split("=")[-1]
+ return rc[1].split("=")[-1].strip()
return "targeted"
def usage(error = ""):
@@ -203,13 +203,15 @@
def getHomeRootContext(self, homedir):
rc=commands.getstatusoutput("grep HOME_ROOT %s | sed -e \"s|^HOME_ROOT|%s|\"" % ( self.getHomeDirTemplate(), homedir))
if rc[0] == 0:
- return rc[1]
+ return rc[1]+"\n"
else:
errorExit(string.join("sed error ", rc[1]))
def getUsersFile(self):
return self.selinuxdir+self.type+"/users/local.users"
+ def getSystemUsersFile(self):
+ return self.selinuxdir+self.type+"/users/system.users"
def heading(self):
ret = "\n#\n#\n# User-specific file contexts, generated via %s\n" % sys.argv[0]
@@ -217,11 +219,16 @@
return ret
def getUsers(self):
+ users=""
+ rc = commands.getstatusoutput('grep "^user.*root" %s' % self.getSystemUsersFile())
+ if rc[0] == 0:
+ users+=rc[1]+"\n"
rc = commands.getstatusoutput("grep ^user %s" % self.getUsersFile())
udict = {}
prefs = {}
if rc[0] == 0:
- ulist = rc[1].strip().split("\n")
+ users+=rc[1]
+ ulist = users.split("\n")
for u in ulist:
user = u.split()
try:
@@ -254,7 +261,7 @@
# Fill in HOME and ROLE for users that are defined
for u in users.keys():
ret += self.getHomeDirContext (u, users[u]["home"], users[u]["role"])
- return ret
+ return ret+"\n"
def checkExists(self, home):
return commands.getstatusoutput("grep -E '^%s[^[:alnum:]_-]' %s" % (home, self.getFileContextFile()))[0]
@@ -285,7 +292,6 @@
ret= self.heading()
for h in self.getHomeDirs():
ret += self.getHomeDirContext ("user_u" , h+'/[^/]*', "user")
- ret += "\n"
ret += self.getHomeRootContext(h)
ret += self.genHomeDirContext()
return ret