mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-04 10:41:11 +02:00
users/6663: follow symlinks when checking permissions on directories in
the fpath; also in case of symlinks, find parent with ${^fpath:h} rather than ${^fpath}/..
This commit is contained in:
parent
a7803f9daf
commit
7d8715c1d8
1 changed files with 6 additions and 6 deletions
|
@ -102,11 +102,11 @@ done <<(getent group)
|
|||
# (including zwc files)
|
||||
|
||||
if [[ $GROUP == $LOGNAME && ( -z $GROUPMEM || $GROUPMEM == $LOGNAME ) ]]; then
|
||||
_i_wdirs=( ${^fpath}(Nf:g+w:^g:${GROUP}:,f:o+w:,^u0u${EUID})
|
||||
${^fpath}/..(Nf:g+w:^g:${GROUP}:,f:o+w:,^u0u${EUID}) )
|
||||
_i_wdirs=( ${^fpath}(N-f:g+w:^g:${GROUP}:,-f:o+w:,-^u0u${EUID})
|
||||
${^fpath:h}(N-f:g+w:^g:${GROUP}:,-f:o+w:,-^u0u${EUID}) )
|
||||
else
|
||||
_i_wdirs=( ${^fpath}(Nf:g+w:,f:o+w:,^u0u${EUID})
|
||||
${^fpath}/..(Nf:g+w:,f:o+w:,^u0u${EUID}) )
|
||||
_i_wdirs=( ${^fpath}(N-f:g+w:,-f:o+w:,-^u0u${EUID})
|
||||
${^fpath:h}(N-f:g+w:,-f:o+w:,-^u0u${EUID}) )
|
||||
fi
|
||||
|
||||
if [[ -f /etc/debian_version ]]
|
||||
|
@ -115,8 +115,8 @@ _i_ulwdirs=( ${(M)_i_wdirs:#/usr/local/*} )
|
|||
_i_wdirs=( ${_i_wdirs:#/usr/local/*} ${^_i_ulwdir}(Nf:g+ws:^g:staff:,f:o+w:,^u0) )
|
||||
fi
|
||||
|
||||
_i_wdirs=( $_i_wdirs ${^fpath}.zwc^([^_]*|*~)(N^u0u${EUID}) )
|
||||
_i_wfiles=( ${^fpath}/^([^_]*|*~)(N^u0u${EUID}) )
|
||||
_i_wdirs=( $_i_wdirs ${^fpath}.zwc^([^_]*|*~)(N-^u0u${EUID}) )
|
||||
_i_wfiles=( ${^fpath}/^([^_]*|*~)(N-^u0u${EUID}) )
|
||||
|
||||
case "${#_i_wdirs}:${#_i_wfiles}" in
|
||||
(0:0) _i_q= ;;
|
||||
|
|
Loading…
Reference in a new issue