summaryrefslogtreecommitdiffstats
path: root/etc/periodic
diff options
context:
space:
mode:
authorasomers <asomers@FreeBSD.org>2016-10-03 14:59:32 +0000
committerasomers <asomers@FreeBSD.org>2016-10-03 14:59:32 +0000
commit9ebd30647498ea5f613830fbb3662a3258bf51b9 (patch)
tree7208a5e653c0670b3590ed6191cad06acb0bca2d /etc/periodic
parent1f56061aa32bcadb4bac8aafa0a93eca99d4c824 (diff)
downloadFreeBSD-src-9ebd30647498ea5f613830fbb3662a3258bf51b9.zip
FreeBSD-src-9ebd30647498ea5f613830fbb3662a3258bf51b9.tar.gz
MFC r306048
Fix periodic scripts when an NFS mount covers a local mount 100.chksetuid and 110.neggrpperm try to search through all UFS and ZFS filesystems. But their logic contains an error. They also search through remote filesystems that are mounted on top of the root of a local filesystem. For example, if a user installs a FreeBSD system with the default ZFS layout, he'll get a zroot/usr/home filesystem. If he then mounts /usr/home over NFS, these scripts would search through /usr/home.
Diffstat (limited to 'etc/periodic')
-rwxr-xr-xetc/periodic/security/100.chksetuid2
-rwxr-xr-xetc/periodic/security/110.neggrpperm2
2 files changed, 2 insertions, 2 deletions
diff --git a/etc/periodic/security/100.chksetuid b/etc/periodic/security/100.chksetuid
index 95920a6..da8d29d 100755
--- a/etc/periodic/security/100.chksetuid
+++ b/etc/periodic/security/100.chksetuid
@@ -46,7 +46,7 @@ then
echo ""
echo 'Checking setuid files and devices:'
MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'`
- find -sx $MP /dev/null -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+s -or -perm -g+s \) -exec ls -liTd \{\} \+ |
check_diff setuid - "${host} setuid diffs:"
diff --git a/etc/periodic/security/110.neggrpperm b/etc/periodic/security/110.neggrpperm
index 1d545ac..bd94015 100755
--- a/etc/periodic/security/110.neggrpperm
+++ b/etc/periodic/security/110.neggrpperm
@@ -44,7 +44,7 @@ then
echo ""
echo 'Checking negative group permissions:'
MP=`mount -t ufs,zfs | awk '$0 !~ /no(suid|exec)/ { print $3 }'`
- n=$(find -sx $MP /dev/null -type f \
+ n=$(find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \
\( \( ! -perm +010 -and -perm +001 \) -or \
\( ! -perm +020 -and -perm +002 \) -or \
\( ! -perm +040 -and -perm +004 \) \) \
OpenPOWER on IntegriCloud