Parece uma péssima notícia. GNU coreutils touch
contém este código:
int default_permissions =
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
fd = fd_reopen (STDIN_FILENO, file,
O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY,
default_permissions);
que sugere que ele sempre cria arquivos com exatamente as mesmas permissões, e default_permissions
sempre tem o valor 0666
(que é expresso com constantes simbólicas no código-fonte).
Parece que sua cópia do touch
foi adulterada. É especialmente suspeito que as permissões que ele está usando agora tenham o bit set-user-id definido.