Chmod por letras vs números


8

Recentemente, fui convidada por um colega para usar chmodcom letras em vez de números. Além da óbvia vantagem de legibilidade, existe algum motivo específico para usar letras sobre números?

Respostas:


13

A chmodnotação simbólica é mais refinada em comparação com a notação octal, permitindo a modificação de bits de modo específicos enquanto deixa outros bits de modo intocados.

A notação simbólica consiste em três componentes:

chmod [references][operator][modes] file

O referencesconsiste em uma combinação das letras ugoa, que especificar qual usuário o acesso à fileserá modificado: o usuário que possui ( u), outros usuários no grupo do arquivo ( g), outros usuários não no grupo do arquivo ( o), ou todos os usuários ( a) Se o referencescomponente for omitido, o padrão é todos os usuários, mas apenas as permissões permitidas pelo umasksão modificadas.

Isso + operatorfaz com que os bits especificados no modo de arquivo sejam adicionados aos bits existentes no modo de arquivo de cada arquivo; -faz com que sejam removidos; e =faz com que sejam adicionados e bits não especificadas para ser removida, excepto setuide setgidbits definidos para directórios, a não ser que explicitamente especificado.

O modeconsiste em uma combinação das letras rwxXst, que correspondem à leitura ( r), write ( w), executar (ou procurar diretórios) ( x), executar / procurar somente se o arquivo é um diretório ou já tem permissão de execução para algum usuário ( X) setuidou setgid(dependendo das referências especificadas) ( s) e sinalizador de exclusão restrito ou bit adesivo ( t). Como alternativa, modepode consistir em uma das letras ugo; nesse caso, modecorresponde às permissões atualmente concedidas ao proprietário ( u), membro do grupo de arquivos ( g) ou permissões de usuários em nenhuma das categorias anteriores ( o).

Exemplos

Supondo que a permissão definida para fileé0764/-rwxrw-r--

Remova a permissão de outros usuários que não estão no grupo de arquivos:

  • Octal: chmod 760 file

    Observe como as permissões existentes inalteradas devem ser repetidas ao usar a notação octal.

  • Simbólico: chmod o-rwx file

    Com notação simbólica, as permissões de arquivo existentes não importam.

Conjunto setuid:

  • Octal: chmod 4764 file

  • Simbólico: chmod u+s file

Conjunto setgid:

  • Octal: chmod 2764 file
  • Simbólico chmod g+s file

1

O uso das letras permite ativar e desativar bits individuais sem alterar os outros bits.

Digamos que eu tenho o seguinte diretório: drwxrwsr-x 6 f261-01a g261-01a 4096 12 de setembro 17:51 / home / teams / 261 / f261-01a

Se eu quiser desativar a permissão de leitura de outros e desejar usar números, talvez o faça rapidamente chmod 751. Exceto que acabei de desativar o bit setgid no diretório. Opa

Se, no entanto, eu uso chmod o-r, apenas desativo o bit de leitura que eu queria e o bit setgid no diretório permanece definido.

Também é útil se você deseja ativar os bits setuid, setgid ou sticky em um arquivo ou diretório. Especialmente se você fizer isso, raramente terá problemas para lembrar qual parte é a que está no quarto octeto.

Então, depende do que você está fazendo. Ainda prefiro usar números quando estou definindo permissões e não me importo com o que há para começar. Mas se você estiver alternando bits individuais, a notação de letras é muito mais fácil.

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.