Index: hurd-0.6.git20150523/trans/fakeroot.c =================================================================== --- hurd-0.6.git20150523.orig/trans/fakeroot.c +++ hurd-0.6.git20150523/trans/fakeroot.c @@ -560,12 +560,10 @@ netfs_attempt_chmod (struct iouser *cred it. */ real_mode = mode; nn = netfs_node_netnode (np); - if (nn->openmodes & O_READ) real_mode |= S_IRUSR; - if (nn->openmodes & O_WRITE) real_mode |= S_IWUSR; - if (nn->openmodes & O_EXEC) - real_mode |= S_IXUSR; + if ((real_mode & S_IFDIR) && ((real_mode & S_IXUSR) == 0)) + real_mode |= S_IXUSR; /* We don't bother with error checking since the fake mode change should always succeed--worst case a later open will get EACCES. */