Security Enhanced Linux
What's New
Frequently Asked Questions
Background
Documents
License
Download
Participating
Mail List
Archives
Remaining Work
Contributors
Related Work
Press Releases
Information Assurance Research
NIARL In-house Research Areas
Mathematical Sciences Program
Sabbaticals
Computer & Information Sciences Research
Technology Transfer
Advanced Computing
Advanced Mathematics
Communications & Networking
Information Processing
Microelectronics
Other Technologies
Technology Fact Sheets
Publications
Related Links
|
SELinux Mailing ListRe: Patch to policycoreutils
From: Stephen Smalley <sds_at_tycho.nsa.gov>
Date: Mon, 31 Jan 2005 09:14:59 -0500
> diff_filecontext() { > if [ -f ${PREFC} -a -x /usr/bin/diff ]; then > TEMPFILE=`mktemp ${FILE_CONTEXT}.XXXXXXXXXX` > test -z "$TEMPFILE" && exit > /usr/bin/diff $PREFC $FILE_CONTEXT | egrep '^[<>]'|cut -c3-| grep ^/ | \ > sed -e 's,\\.*,*,g' -e 's,(.*,*,g' -e 's,\[.*,*,g' -e 's,\..*,*,g' \ > -e 's,[[:blank:]].*,,g' -e 's,\?.*,*,g' | sort -u | \ > while read pattern ; do if ! echo "$pattern" | grep -q -f ${TEMPFILE} 2>/dev/null ; then echo "$pattern"; case "$pattern" in *"*") echo "$pattern" |sed 's,\*$,,g'>> ${TEMPFILE};; esac; fi; done | \ > while read pattern ; do find $pattern -maxdepth 0 -print; done 2> /dev/null | \ > ${RESTORECON} $2 -v -f -R - > rm -f ${TEMPFILE} > fi > } To try to understand this better, I split the pipeline and wrote each stage into a separate temporary file, then looked at diffs between each pair of stages. I'm not sure if the filter pipline is functioning as you intend, e.g.:
A \. is not a regex; it is a regular dot character, so I would have expected you to just remove the backslash for passing along to restorecon.
2) The second sed substitution changes:
This is due to sed itself performing regex matching for the .* sequence, i.e. it consumes anything after an open parens. Possibly you could escape it if that is what you intended, e.g. \.\*.
Similar issues with the other substitutions that are using .*, I think,
e.g. changing:
But the shell would have correctly handled /usr/bin/[xgkw]dm without any change at all.
Also seems to have a problem with the /u?dev entries, changing:
which won't actually catch /dev nodes. -- Stephen Smalley <sds@tycho.nsa.gov> National Security Agency -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message.Received on Mon 31 Jan 2005 - 09:21:31 EST |
|
Date Posted: Jan 15, 2009 | Last Modified: Jan 15, 2009 | Last Reviewed: Jan 15, 2009 |