Como o meu navegador da internet pode gravar arquivos no meu arquivo “Downloads” se as permissões padrão não permitirem “gravar”?

14

No terminal, usei este comando:

stat Downloads

Ele declarou que as permissões para minha pasta de downloads eram "drwxr-xr-x"

Isso não significaria apenas que o administrador e o proprietário poderiam editar a pasta? Como o navegador baixaria algo e o colocaria na pasta se não tivesse permissão, ou o Ubuntu detecta que você permitiu que o navegador o fizesse?

    
por Raffat 08.04.2015 / 02:17

1 resposta

20

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, como l 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.

    
por Byte Commander 08.04.2015 / 02:35