MFC r322868:

Fix 100.chksetuid and 110.neggrpperm for mountpoints with spaces

Also, fix them for mountpoints with tabs.

PR:		48325
Reported by:	pguyot@kallisys.net, aaron@baugher.biz
This commit is contained in:
Alan Somers 2017-11-28 17:27:00 +00:00
parent 103b5ba329
commit e5d402ee36
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=326326
3 changed files with 15 additions and 2 deletions

View File

@ -45,7 +45,13 @@ if check_yesno_period security_status_chksetuid_enable
then then
echo "" echo ""
echo 'Checking setuid files and devices:' echo 'Checking setuid files and devices:'
MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'` IFS=$'\n' # Don't split mount points with spaces or tabs
MP=`mount -t ufs,zfs | awk '
$0 !~ /no(suid|exec)/ {
sub(/^.* on \//, "/");
sub(/ \(.*\)/, "");
print $0
}'`
find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \
\( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
\( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ | \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ |

View File

@ -43,7 +43,13 @@ if check_yesno_period security_status_neggrpperm_enable
then then
echo "" echo ""
echo 'Checking negative group permissions:' echo 'Checking negative group permissions:'
MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'` IFS=$'\n' # Don't split mount points with spaces or tabs
MP=`mount -t ufs,zfs | awk '
$0 !~ /no(suid|exec)/ {
sub(/^.* on \//, "/");
sub(/ \(.*\)/, "");
print $0
}'`
n=$(find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ n=$(find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \
\( \( ! -perm +010 -and -perm +001 \) -or \ \( \( ! -perm +010 -and -perm +001 \) -or \
\( ! -perm +020 -and -perm +002 \) -or \ \( ! -perm +020 -and -perm +002 \) -or \

View File

@ -48,6 +48,7 @@ rc=0
# LABEL is the base name of the ${LOG}/${label}.{today,yesterday} files. # LABEL is the base name of the ${LOG}/${label}.{today,yesterday} files.
check_diff() { check_diff() {
unset IFS
rc=0 rc=0
if [ "$1" = "new_only" ]; then if [ "$1" = "new_only" ]; then
shift shift