Os programas são executados com os privilégios do usuário que os invocou.
Portanto, quando você inicia o navegador, o processo do navegador tem os direitos que você tem para ler, modificar e executar arquivos.
E como você é o dono de seu pasta de downloads, a sua conta de usuário tem (geralmente por padrão) completos r
EAD / w
rito / e x
ecute direitos. Portanto, seu navegador também os possui.
Para esclarecer a saída do 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, como l
para um link. Além disso, existem (de acordo com o comentário de @ Atsby) b
para dispositivos de bloco, dispositivos c
de caracteres, p
tubos e provavelmente ainda mais ...
Veja * para obter informações sobre permissões de 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 completo
- As segundas três letras
r-x
representam as permissões que os usuários têm e que são membros do grupo do proprietário . É o mesmo formato "rwx" como acima. -> apenas permissões de leitura e execução, sem gravação
- As últimas três letras
r-x
representam as permissões de outros usuários que não são o proprietário e não são membros do grupo de proprietários. Ainda o mesmo formato "rwx". -> também apenas lê e executa permissões, sem gravação
* Permissões de diretório:
observe que permissões de diretório têm significados diferentes das permissões de arquivo. Para diretórios ... o
acesso de leitura (r) significa listar os arquivos ( ls
comando) , o
acesso de gravação (w) significa alterar o conteúdo do diretório (criar, excluir, renomear arquivos) e
executar o acesso (x) significa entrar no diretório ( cd
comando ou abertura com o gerenciador de arquivos)
Permissões de execução avançadas:
Às vezes você encontra um S
, s
, T
ou t
onde você seria de esperar uma x
.
Existem permissões SUID (Definir ID do Usuário) e SGID (Definir ID do Grupo) que substituem o normal x
se o arquivo sempre deve ser executado com as permissões do seu proprietário (SUID) ou do seu grupo proprietário (SGID). Para SUID, as x
permissões de usuário (primeiro bloco) são substituídas; para SGID, as x
permissões de grupo (segundo bloco) são substituídas. Uma letra maiúscula S
representa a -
(permissão negada) enquanto uma pequena s
é igual a x
(permissão concedida).
Se o x
terceiro bloco (permissões de outras pessoas) 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 não proprietários que possuem permissões de gravação. Novamente, uma letra maiúscula T
é igual a -
(sem permissão de execução para outras pessoas) sem "Sticky Bit", enquanto uma pequena t
significa acesso de execução concedido ( x
) para outras pessoas.
Notação octal:
As permissões também podem ser representadas por 3-4 dígitos (valores de 0 a 8), chamados de notação octal.
Normalmente você tem 3 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, Pegajoso = 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 de sinalização: r = 4, w = 2, x = 1.
- O terceiro dígito representa o estado dos sinalizadores de permissão do grupo proprietário (rwx; segundo bloco de permissão na formatação de string). Valores de sinalização: 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 cadeias). Valores de sinalização: r = 4, w = 2, x = 1.
Para calcular o valor do dígito, basta somar os valores dos sinalizadores de todos os sinalizadores definidos. Exemplos: rwx = 4 + 2 + 1 = 7, rx = 4 + 0 + 1 = 5
Fonte e referências adicionais:
http://www.zzee.com/solutions/linux-permissions.shtml
http://www.informit.com/articles/article.aspx?p=1822622&seqNum=6
Visite esses links para obter mais detalhes , especialmente sobre permissões avançadas.
ls -ld Downloads
, descobrirá que é, de fato, o proprietário da sua pasta Downloads. Portanto, quando você executa o navegador, é você, como proprietário do diretório, quem está tentando colocar algo nesse diretório.