t
não é "temporário", isso significa que o bit pegajoso está definido. De man ls
:
t [means that the] sticky bit is set (mode 1000), and is searchable or executable. (See chmod(1) or sticky(8).)
O bit pegajoso é definido aqui porque você ajustou decimal 777 (octal 1411), não octal 777 (decimal 511). Você precisa escrever 0777
para usar octal, não 777
.
Você também deve observar que o efeito final do argumento mode
para mkdir
também envolve AND contra seu umask. De man 2 mkdir
:
The argument mode specifies the permissions to use. It is modified by the process's umask in the usual way: the permissions of the created directory are (mode & ~umask & 0777).
Sugiro que, se isso afetar você, você chmod
após mkdir
em vez de usar o argumento de modo.
Uma palavra final de aviso: o modo 777 é quase nunca o que você realmente quer fazer. Em vez de abrir o diretório globalmente para todos os usuários, considere configurar um modo apropriado e proprietário / grupo no diretório. Se você precisar de regras mais complicadas, considere o uso de ACLs.