* (fhandler_disk_file::fchown): Remove execute bits from "sensible"

permissions.  Use same setting as in symlink.
This commit is contained in:
Corinna Vinschen 2005-12-21 13:37:28 +00:00
parent 0786c42a9c
commit 2df1714182
2 changed files with 7 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2005-12-21 Corinna Vinschen <corinna@vinschen.de>
* (fhandler_disk_file::fchown): Remove execute bits from "sensible"
permissions. Use same setting as in symlink.
2005-12-21 Corinna Vinschen <corinna@vinschen.de> 2005-12-21 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix inode number * fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix inode number

View File

@ -569,13 +569,9 @@ fhandler_disk_file::fchown (__uid32_t uid, __gid32_t gid)
new ACL with these useless permissions results in a potentially new ACL with these useless permissions results in a potentially
broken symlink. So what we do here is to set the underlying broken symlink. So what we do here is to set the underlying
permissions of symlinks to a sensible value which allows the permissions of symlinks to a sensible value which allows the
world to read the symlink and only the new owner to change it. world to read the symlink and only the new owner to change it. */
As for the execute permissions... they *seem* to be not
necessary, but for the sake of comleteness and to avoid
struggling with yet another Windows weirdness, the execute bits
are added as well. */
if (pc.issymlink ()) if (pc.issymlink ())
attrib = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; attrib = S_IFLNK | STD_RBITS | STD_WBITS;
res = set_file_attribute (pc.has_acls (), get_io_handle (), pc, res = set_file_attribute (pc.has_acls (), get_io_handle (), pc,
uid, gid, attrib); uid, gid, attrib);
} }