O uso dos códigos octais tem duas vantagens em que consigo pensar, nenhuma das quais é tão grande:
- Eles são mais curtos, mais fáceis de digitar.
- Algumas coisas apenas as compreendem e, se você as usar rotineiramente, não estará coçando a cabeça (ou correndo para a documentação) quando encontrar uma. Por exemplo, você deve usar octal para
chmod
em Perl ou C.
Às vezes, utilitários realmente simples não lidam com as versões "amigáveis"; especialmente em terras de usuários não-GNU.
Além disso, alguns utilitários cospem octal. Por exemplo, se você executar umask
para ver qual é o seu umask atual, ele será cuspido em octal (embora no bash, umask -S
seja simbólico).
Então, resumindo, eu diria que o único motivo para preferir eles é digitar menos caracteres, mas mesmo que você opte por não usá-los, você deve saber como eles são mapeados para que você possa descobrir um código octal se executar em uma das coisas que apenas octal. Mas você não precisa saber imediatamente que 5 mapeia rx
, você só precisa descobrir isso.
chmod
em Perl ou C precisa usar representação octal não é realmente uma vantagem, pois a representação já existia em primeiro lugar.Acho que estou usando octal há muito tempo.
7 é rwx (faça qualquer coisa com ele), 5 é rx (precisa lê-lo para executá-lo), 6 é wr (qualquer arquivo de dados que você precise modificar), 4 é r (vamos deixar você ver) 0 é - (desculpe, nada aqui para ver). E a ordem é Eu, Nós, Todos. Estas são as combinações básicas.
755 Posso mudar e executá-lo, todos os outros podem executá-lo.
644 Eu posso mudar, todos os outros podem ler.
444 Leia apenas para todos, estamos por aqui.
500 Eu posso executá-lo, não quero que isso mude, todo mundo passa.
Para mim, é curto, direto ao ponto. 9 caracteres e uma especificação de arquivo e siga em frente.
fonte
Eu nunca gostei muito da representação octal, sempre busquei uma
rwxr-xr-x
notação direta , pois me parece mais simples. No entanto, pelo que eu entendo, a representação octal existe para facilitar a lembrança (não vejo como isso funciona).O único outro benefício possível que vejo octal trazendo para a mesa é a falta de ambiguidade. As 8 configurações diferentes de bits de permissão são representadas por um único número distinto, o que, com certeza, ajuda algumas pessoas a colocar um
w
local acidentalmente onde não deveriam.Infelizmente, eu memorizei esta tabela:
fonte
/tmp
, incluindo o bit pegajoso) leva 12 bits, um tamanho conveniente nos PDPs, especialmente o PDP-8. Se eles usassem hexadecimal, um mapeamento natural de um conjunto de permissões por dígito hexadecimal exigiria uma máquina de palavras de 16 bits +, que nem todos os PDPs eram. Também teria desperdiçado 3 bits ou exigido que eles inventassem um uso para esses bits, o que provavelmente teria complicado as permissões do Unix sem nenhum benefício real.Eu acho que o motivo é novamente - história. A princípio, os valores octais eram os únicos. Os simbólicos vieram depois.
Eu prefiro os simbólicos. Especialmente se você deseja alterar os valores existentes sem tocar em outras partes.
Como
chmod -R u=rwx,g-w+X,o=-
fazer isso em octal ...fonte
Observe que os modos octais podem remover os bits setuid e setgid em alguns sistemas.
Fedora 16:
(o
2
é preservado)FreeBSD 9:
(o
2
tornou-se um0
)Se você deseja alterar as permissões de um arquivo ou diretório, pode ser melhor especificar apenas os bits que deseja alterar (por exemplo,
chmod o= dir
ouchmod o-rwx dir
no exemplo acima).fonte
A história explica por que os modos octais existem , mas acho que a funcionalidade é a razão pela qual a forma mnemônica existe. E todos os pontos sobre outras ferramentas que usam exclusivamente modos octais são perfeitamente válidos e acho que você precisa aprender e conhecê-los. No entanto, acho que os administradores conservadores não veem a verdadeira utilidade que vem da forma mnemônica.
A forma octal, especialmente quando usada recursivamente, tende a forçar os administradores a fazerem coisas estúpidas. Ou melhor, negligência adicional resulta em que se torna estúpido. Sempre que você encontrar uma pasta com muitos arquivos de texto e o
x
conjunto de bits, você tem uma prova.Por que alguém definiria a situação
x
assim? Porque é difícil não, a menos que você use a forma mnemônica para modos. Considere que você deseja redefinir as permissões/var/www
e não executa nenhum CGI antigo, portanto ox
bit deve ser removido. No entanto, ox
bit serve para outro propósito nos diretórios. Então você acaba fazendo algo (asroot
) como:Se, no entanto, você estava usando a forma mnemônica, poderia fornecer uma "receita":
que é a forma abreviada de
chmod -R ugo=rwX /var/www
(alcançar o mesmo caminho, mas diferente:)chmod -R a-x,a+rwX /var/www
.Mas há outra coisa mais trivial que não pode ser alcançada com os modos octais. Você não pode ajustar a
user
ougroup
ouother
máscara individualmente com a forma octal.Resumindo: é como comparar um bisturi (mnemônico) e uma faca de cozinha afiada (octal) ... mas você ainda precisa conhecer os bits do modo octal por outros motivos :)
A razão pela qual os modos octais ainda são preferidos , eu acho, não é mais a digitação envolvida na forma mnemônica, mas os administradores excessivamente conservadores. E sim, chamando em 2013, esses administradores excessivamente conservadores ainda existem e estão aqui para ficar por algum tempo.
fonte
Quando você precisa modificar as permissões dos arquivos o tempo todo , aprecia os três caracteres. Muitas vezes, uso as versões
+
ou-
para alterar as permissões.Por exemplo, eu crio um novo PHP, Python ou outro script na minha pasta apache.
chmod a+x
é tudo o que faço para que possa ser executado. Eu li como "tudo mais executar". Agora eu sei que vai funcionar, e eu só precisava de 3 caracteres.Outras vezes, uso 644 e 755 automaticamente. Eu apenas penso nisso como
644
um arquivo,755
um script.fonte
Ele se encaixa perfeitamente nas configurações de umask, que geralmente são fornecidas na escrita octal (em
pam
oufstab
).fonte
Sugiro que uma razão importante é que a representação octal corresponde intimamente ao que você vê
ls -l
(ou melhor, quando faz uma conversão mental entre octal e binário).fonte