fs: fix symlink ownership/perms
This commit is contained in:
parent
5fb67306e4
commit
c0da19951b
|
@ -239,14 +239,18 @@ let
|
||||||
aclmode="$4"
|
aclmode="$4"
|
||||||
shift 4
|
shift 4
|
||||||
|
|
||||||
|
# ensure any things created by the user script have the desired mode.
|
||||||
|
# chmod doesn't work on symlinks, so we *have* to use this umask approach.
|
||||||
|
umask $(( 777 - "$aclmode" ))
|
||||||
|
|
||||||
# try to chmod/chown the result even if the user script errors
|
# try to chmod/chown the result even if the user script errors
|
||||||
_status=0
|
_status=0
|
||||||
trap "_status=\$?" ERR
|
trap "_status=\$?" ERR
|
||||||
|
|
||||||
${gen-opt.script.script}
|
${gen-opt.script.script}
|
||||||
|
|
||||||
chmod "$aclmode" "$fspath"
|
# claim ownership of the new thing (DON'T traverse symlinks)
|
||||||
chown "$acluser:$aclgroup" "$fspath"
|
chown --no-derefence "$acluser:$aclgroup" "$fspath"
|
||||||
exit "$_status"
|
exit "$_status"
|
||||||
'';
|
'';
|
||||||
scriptArgs = [ path gen-opt.acl.user gen-opt.acl.group gen-opt.acl.mode ] ++ gen-opt.script.scriptArgs;
|
scriptArgs = [ path gen-opt.acl.user gen-opt.acl.group gen-opt.acl.mode ] ++ gen-opt.script.scriptArgs;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user