
O seguinte é frequentemente usado para definir permissões de arquivo, um bom exemplo é definir um arquivo de chave para um nível de permissão apropriado para ser usado pelo ssh (sendo este o formato "octal"):
chmod 600 filename.xyz
Seria uma prática equivalente correta e aceitável usar o seguinte (esta é a forma "simbólica")?
chmod a=,u=r filename.xyz
A razão pela qual pergunto é que parece um pouco mais claro para a legibilidade do código. Ainda não é exatamente legível por humanos, mas não é necessário mapeamento de bits.
Se a máxima legibilidade (e não a concisão) fosse o principal motivador, haveria uma opção melhor?
Responder1
Com a=,u=r
, a ordem é importante. Se você acidentalmente trocar a ordem de a=
e u=r
(ou a ordem de a=
e u=
), o resultado será muito diferente. (Sim, a
e u
estão muito distantes um do outro em um teclado QWERTY, mas alguém que olha um documento de referência e digita manualmente as coisas pode confundir as duas partes de aparência muito semelhante.) Para máxima legibilidade e segurança, eu estaria mais explícito:
chmod u=r,go-rwx filename # or go-rwxst
Os componentes de permissão são muito diferentes aqui e muito mais explícitos, tornando menos provável a ocorrência de erros. E não importa se você tem go-rwx
primeiro ou u=r
primeiro.