| Summary: | Regression: "sign" script fails without notice when folder is not group-writable | ||
|---|---|---|---|
| Product: | Community | Reporter: | Martin Oberhuber <mober.at+eclipse> |
| Component: | Servers | Assignee: | Eclipse Webmaster <webmaster> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Martin Oberhuber
Digging a little deeper, I now see why my scripts don't work any more. Apparently, the "mkdir" command does apply the "s" bit to make its folder group-writable, but the "mkdir -p" command does not. As a result, the folder in which I performed staging is not group-writable and it failed. This may be a regression due to the build server update. Steps to reproduce: > cd /home/data/httpd/download-staging.priv/dsdp/tm > mkdir foo > ls -la foo drwxrwsr-x+ 2 moberhuber dsdp-tmadmin 48 2010-08-24 07:27 foo > mkdir -p bar/baz > ls -la bar drwxr-sr-x+ 3 moberhuber dsdp-tmadmin 72 2010-08-24 07:27 bar > Apparently, the "mkdir" command does apply the "s" bit to make its folder
> group-writable, but the "mkdir -p" command does not.
Wow, great find. Oddly, we have an explicit ACL that _should_ allow genie to write everywhere, but with the missing group write permission, it seems to be filtering out even the ACL:
build:/home/data/httpd/download-staging.priv/dsdp/tm # getfacl bar
# file: bar
# owner: moberhuber
# group: dsdp-tmadmin
# flags: -s-
user::rwx
user:genie:rwx #effective:r-x <-- Why?
user:hudsonbuild:rwx #effective:r-x
group::rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:user:genie:rwx
default:user:hudsonbuild:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
I set the mask to rwx, and that fixed the problem of genie being unable to write. # setfacl -nRm m:rwx download-staging.priv build:/home/data/httpd/download-staging.priv/dsdp/tm # getfacl bar # file: bar # owner: moberhuber # group: dsdp-tmadmin # flags: -s- user::rwx user:genie:rwx user:hudsonbuild:rwx group::rwx mask::rwx other::r-x default:user::rwx default:user:genie:rwx default:user:hudsonbuild:rwx default:group::rwx default:mask::rwx default:other::r-x The ACL seems to have taken care of this. |