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?

Gautam
fonte

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
Thomas Nyman
fonte
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.

Kurtm
fonte