hello, touch utility telling weird error on file creation on a immutable/ro dir.
apparently, it does not catch/report the first error (EPERM) but only the second one (ENOENT), when trying to set the time on the non-existing file. regards roland kletzing sysadmin root@s900:/tmp# mkdir /tmp/test root@s900:/tmp# chown 0400 /tmp/test/ root@s900:/tmp# chattr +i /tmp/test root@s900:/tmp# touch /tmp/test/testfile touch: setting times of '/tmp/test/testfile': No such file or directory root@s900:/tmp# strace touch /tmp/test/testfile 2>&1 |grep -i test execve("/usr/bin/touch", ["touch", "/tmp/test/testfile"], 0x7ffe690abb88 /* 19 vars */) = 0 openat(AT_FDCWD, "/tmp/test/testfile", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = -1 EPERM (Operation not permitted) utimensat(AT_FDCWD, "/tmp/test/testfile", NULL, 0) = -1 ENOENT (No such file or directory) write(2, "setting times of '/tmp/test/test"..., 37setting times of '/tmp/test/testfile') = 37 # touch --version touch (GNU coreutils) 8.30 (on debian 10.9)