De man utime
:
The utime() system call changes the access and modification times of
the inode specified by filename to the actime and modtime fields of
times respectively.
If times is NULL, then the access and modification times of the file
are set to the current time.
Changing timestamps is permitted when: either the process has appropri‐
ate privileges, or the effective user ID equals the user ID of the
file, or times is NULL and the process has write permission for the
file.
Portanto, para alterar apenas o tempo de modificação do arquivo ( touch -m foo
), você precisa ser root
ou o proprietário do arquivo.
Ser capaz de gravar no arquivo só lhe dá permissão para atualizar os horários modificados e de acesso para a hora atual; você não pode atualizar separadamente, nem configurá-los para um horário diferente.