Para que serve o primeiro dígito octal chmod em um valor de quatro dígitos?


40

Às vezes, vejo chmodcomandos que usam quatro dígitos octais em vez de três - para que serve o primeiro dígito opcional? Por exemplo, chmod 777é equivalente a chmod a+rwx; qual é o mesmo comando chmod 2777?


11
Essa é uma boa pergunta, então tentei generalizá-la um pouco
Michael Mrozek

3
O 'quarto dígito octal chmod' é um pouco confuso, o dígito em questão é realmente o primeiro ao ler da esquerda para a direita.
jsbillings

Respostas:


44

Observe que chmod 777 filenameé o equivalente chmod 0777 filenameneste exemplo.

O primeiro dígito octal define os bits setuid, setgid e sticky (consulte este artigo para obter mais detalhes sobre setuid / setgid). octal 2 significa definir o ID do grupo no arquivo. Então, o equivalente seria fazer um chmod a+rwx filename, então chmod g+s filename. A chmod página de informações explica isso com mais detalhes.


5
Quase todas as implementações do chmod (1) podem usar vírgulas nos argumentos do modo simbólico. Assim, o equivalente a 2777 pode ser feito em um comando: chmod a+rwx,g+s filename. Ou, mais estrita (certificando-se de limpar os bits setuid e pegajosos como o modo numérico seria): chmod a=rwx,g+s filename.
quer
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.