Os programas são executados com os privilégios do usuário que os invocou.
Por isso, quando você inicia o navegador, o processo do navegador tem os direitos para ler, modificar e executar arquivos.
E como você é o proprietário da sua pasta Downloads, sua conta de usuário tem (geralmente por padrão) direitos completos r
ead / w
rite / e x
ecute . Portanto, seu navegador também os possui.
Para esclarecer a saída stat (d rwx r-x r-x)
:
- A primeira letra (aqui:
d
) descreve o tipo do objeto do sistema de arquivos que você está examinando.d
significa que você está mostrando as permissões de um diretório. Se você estiver examinando um arquivo, receberá um-
. Existem outras possibilidades também, comol
para um link. Além disso, existem (de acordo com o comentário do @Atsby)b
para dispositivos de bloco,c
para dispositivos de caracteres,p
para pipes e provavelmente ainda mais ...
Veja * para nota sobre as permissões do diretório! - As três primeiras letras
rwx
representam as permissões do proprietário . Uma letra significa que o respectivo tipo de acesso é concedido, um "-" significa negado. - > acesso total - As segundas três letras
r-x
representam as permissões que os usuários têm como membros do grupo do proprietário . É o mesmo formato "rwx" como acima. - > somente ler e executar permissões, sem escrever - As três últimas letras
r-x
representam as permissões de quaisquer outros usuários que não são do próprio proprietário e não são membros do o grupo do proprietário. Ainda o mesmo formato "rwx". - > também só lê e executa permissões, sem escrever
* Permissões do diretório:
Observe que as permissões de diretório têm significados diferentes das permissões de arquivo. Para diretórios ...
acesso de leitura (r) significa listando os arquivos ( ls
command) ,
acesso de gravação (w) significa alterar o conteúdo do diretório (criação, exclusão, renomeação de arquivos) e executar acesso (x) significa entrar no diretório ( cd
comando ou abertura com o gerenciador de arquivos)
Permissões avançadas de execução:
Às vezes, você encontra um S
, s
, T
ou t
em que você esperaria um x
.
Existem permissões de SUID (Definir ID de Usuário) e SGID (Definir ID de Grupo) que substituem o normal x
se o arquivo sempre deve ser executado com as permissões de seu proprietário (SUID) ou seu grupo de proprietários (SGID). Para SUID, o x
das permissões do usuário (primeiro bloco) é substituído; para o SGID, o x
das permissões do grupo (segundo bloco) é substituído. Uma letra maiúscula S
significa -
(permissão negada), enquanto um pequeno s
é igual a x
(permissão concedida).
Se o x
do terceiro bloco (outras permissões) for substituído por T
/ t
, isso significa que o "Sticky Bit" está definido. Atualmente, é usado principalmente para impedir a exclusão do arquivo por usuários que não são proprietários e que possuem permissões de gravação. Novamente, uma letra maiúscula T
é igual a -
(sem permissão de execução para outros) sem "Sticky Bit", enquanto um pequeno t
significa acesso de execução concedido ( x
) para outros.
Notação Octal:
As permissões também podem ser representadas por 3-4 dígitos (valores 0-8), o que é chamado de notação octal.
Normalmente você tem 3 dígitos ou 4 dígitos com o primeiro dígito definido como 0 (por exemplo, 755
ou 0755
).
- O primeiro dígito (que pode ser omitido se for 0) representa os sinalizadores de permissão avançados. Valores de sinalização: SUID = 4, SGID = 2, Fixo = 1.
- O segundo dígito representa o estado dos sinalizadores de permissão do proprietário (rwx; primeiro bloco de permissão na formatação de string). Valores do sinalizador: r = 4, w = 2, x = 1.
- O terceiro dígito representa o estado dos sinalizadores de permissão do grupo de proprietários (rwx; segundo bloco de permissão na formatação de string). Valores do sinalizador: r = 4, w = 2, x = 1.
- O quarto dígito representa o estado de todos os outros sinalizadores de permissão (rwx; terceiro bloco de permissões na formatação de string). Valores do sinalizador: r = 4, w = 2, x = 1.
Para calcular o valor do dígito, basta somar os valores do sinalizador de todos os sinalizadores definidos. Exemplos: rwx = 4 + 2 + 1 = 7, r-x = 4 + 0 + 1 = 5
Fonte e referências adicionais: link
link
Visite esses links para mais detalhes, especialmente sobre permissões avançadas.