Conceder níveis diferentes de acesso a um arquivo para três usuários diferentes

4

Eu fiz 3 usuários com adduser .
Como posso dar a cada usuário permissões diferentes para um arquivo ( example.txt ) sem setfacl ?

Exemplo:

  • Primeiro usuário a ter somente permissões de leitura no arquivo
  • Segundo, ter permissões de leitura e gravação
  • Terceiro para ter todas as permissões para o arquivo.
por Georgi Bangeev 26.02.2017 / 21:40

1 resposta

4

O wiki da tag de permissões é uma pequena referência sobre permissões de arquivos clássicos do Linux.

Como uma breve demonstração do uso mais simples dessas permissões apenas em arquivos, vamos criar um arquivo, que eu chamarei de shiny

touch shiny

vamos dar uma olhada nas permissões do arquivo que acabamos de criar

$ ls -l shiny
-rw-rw-r-- 1 zanna zanna 0 Feb 26 21:54 shiny

A string no início mostra as permissões em conjuntos de três. Após a string de permissões, há um número que não é interessante para nós, então a palavra zanna é repetida duas vezes. zanna é meu nome de usuário. Desde que criei o arquivo, sou o proprietário e também pertence ao meu grupo.

r = ler w = escrever, x = executar - = sem permissão

Olhando para shiny , agora podemos ver que é um arquivo normal ( - no início) e o proprietário, zanna , pode ler e gravar no arquivo. Os membros do grupo zanna também podem ler e gravar no arquivo, e qualquer outro usuário pode ler, mas não escrever. Nenhum usuário tem permissão de execução para este arquivo.

O comando stat fornece muito mais detalhes sobre metadados de arquivos, incluindo permissões, e podemos formatar sua saída de várias maneiras. Por exemplo, minha maneira favorita :

$ stat -c "%n %a" shiny
shiny 664

Isso nos mostra que o arquivo tem permissões octal 664 - leitura-gravação para proprietário e grupo e somente leitura para outras pessoas.

No meu sistema, criei três contas de usuário, zanna , pixie e mermaid

Vamos alterar as permissões de shiny para conceder diferentes níveis de acesso a cada usuário.

Primeiro, criaremos um novo grupo (poderíamos apenas adicionar um usuário ao grupo zanna , mas preferiria não fazer isso, já que isso daria acesso a muitos dos meus arquivos pessoais)

sudo addgroup unicorns

E agora usaremos o grupo unicorns para controlar o acesso, tornando o próprio grupo shiny :

chown :unicorns shiny

Por favor, não esqueça os dois pontos : neste comando, pois isso nos permite mudar apenas o grupo, e sempre digitar com cuidado quando usar chown ( ch ange próprio er) ou chmod ( ch ange mod e), especialmente com sudo .

Agora, torne um usuário um membro desse grupo:

sudo adduser pixie unicorns

Agora, a pixie é um unicórnio , um membro do grupo unicorns .

Agora só precisamos alterar o modo de arquivo. Existem duas maneiras de fazer isso, o modo octal, que eu prefiro:

chmod 764 shiny

e o caminho simbólico:

chmod u+x shiny

Confio em você para ler o wiki chmod para saber mais sobre esses . Depois de executar um desses comandos, você pode verificar novamente com stat ou ls -l .

$ ls -l shiny
-rwxrw-r-- 1 zanna unicorns 0 Feb 26 21:54 shiny

Agora:

  • zanna leu, escreveu e executou permissão porque é a proprietária
  • pixie tem permissão de leitura e gravação porque ela está no grupo unicorns
  • mermaid tem permissão de leitura porque shiny é legível para todos.
por Zanna 26.02.2017 / 23:23