touch
sempre cria o arquivo se ele não existir, sempre segue os links simbólicos e sempre torna o arquivo não executável. Você pode decidir ler e escrever bits através da umask .
(umask 077; touch file) # creates a 600 (rw-------) file
(umask 002; touch file) # creates a 664 (rw-rw-r--) file
A criação de arquivos atômicos "seguros" (em particular, com O_NOFOLLOW
) não é possível com as ferramentas tradicionais do shell. Você pode usar sysopen
em perl. Se você tiver o utilitário mktemp
inspirado pelo BSD, ele criará um arquivo atomicamente com O_NOFOLLOW
; você terá que chamar chmod
depois se o modo padrão de 600 não for o correto.