It seems 'ls -l dir/file' or 'stat dir/file' succeeds even if I don't have read/search permission for the 'dir'.
Create a directory and a file in it: $ mkdir tmpdir $ ls -ld tmpdir drwxr-xr-x+ 1 takimoto none 0 Feb 26 12:46 tmpdir $ touch tmpdir/afile $ ls -l tmpdir/afile -rw-r--r-- 1 takimoto 0 none Feb 26 12:46 tmpdir/afile Remove all permissions from tmpdir: $ chmod 0000 tmpdir $ ls -ld tmpdir d---------+ 1 takimoto none 0 Feb 26 12:46 tmpdir $ getfacl tmpdir # file: tmpdir # owner: takimoto # group: none user::--- group::--- other::--- default:user::rwx default:group::r-x default:other::r-x This fails as expected: $ ls -l tmpdir ls: cannot open directory 'tmpdir': Permission denied But the followings succeed (should fail, I believe): $ ls -l tmpdir/afile -rw-r--r-- 1 takimoto none 0 Feb 26 12:46 tmpdir/afile $ stat tmpdir/afile File: tmpdir/afile Size: 0 Blocks: 0 IO Block: 65536 regular empty file Device: d05d00abh/3495755947d Inode: 14636698789089092 Links: 1 Access: (0644/-rw-r--r--) Uid: (197609/takimoto) Gid: (197121/ none) Access: 2020-02-26 12:46:12.478966400 +0900 Modify: 2020-02-26 12:46:12.478966400 +0900 Change: 2020-02-26 12:46:12.464849300 +0900 Birth: 2020-02-26 12:46:12.464849300 +0900 Does this happen only for me? Should I set some ACL properly? I removed default ACL from tmpdir but the results are the same. I confirmed (by a simple C code) that the stat(3p) system call (or library function) succeeds for 'tmpdir/afile'. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple