Compreender as permissões de ficheiros do Linux

embora já existam muitas boas funcionalidades de segurança incorporadas em sistemas baseados no Linux, uma vulnerabilidade potencial muito importante pode existir quando o acesso local é concedido-isto é, questões baseadas em Permissões de ficheiros resultantes de um utilizador não atribuir as permissões correctas a ficheiros e directórios. Por isso, com base na necessidade de permissões adequadas, vou rever as formas de atribuir permissões e mostrar-lhe alguns exemplos onde a modificação pode ser necessária.,

permissões básicas de Ficheiros

grupos de permissões

cada ficheiro e Directório tem três grupos de permissões baseados no utilizador:

  • proprietário – as permissões do dono aplicam-se apenas ao dono do ficheiro ou directório, não irão afectar as acções dos outros utilizadores.grupo
  • – as permissões de grupo aplicam-se apenas ao grupo que foi atribuído ao ficheiro ou directório, não irão afectar as acções dos outros utilizadores.
  • todos os utilizadores-as permissões de todos os utilizadores aplicam-se a todos os outros utilizadores do sistema, Este é o grupo de permissões que mais deseja ver.,

tipos de permissões

cada ficheiro ou directório tem três tipos básicos de permissões:

  • – a permissão de leitura refere-se à capacidade de um utilizador ler o conteúdo do ficheiro.
  • write – as permissões de Escrita referem-se à capacidade de um utilizador escrever ou modificar um ficheiro ou directório.
  • execute-a permissão de execução afeta a capacidade de um usuário para executar um arquivo ou ver o conteúdo de um diretório.,

ver as permissões

Você poderá ver as permissões se verificar as permissões do ficheiro ou directório no seu gestor de Ficheiros GUI favorito (que não irei cobrir aqui) ou se rever o resultado do comando “ls-l” enquanto estiver no terminal e enquanto estiver a trabalhar na pasta que contém o ficheiro ou pasta.

a permissão na linha de comandos é apresentada como: _rwxrwxrwx 1 dono:grupo

  1. direitos/Permissões de utilizador
    1. o primeiro carácter que marquei com um sublinhado é a opção de permissões especiais que pode variar.,
    2. o seguinte conjunto de três caracteres (rwx) é para as permissões do dono.
    3. o segundo conjunto de três caracteres (rwx) é para as permissões do Grupo.
    4. o terceiro conjunto de três caracteres (rwx) é para as permissões de todos os usuários.
  2. Após esse agrupamento, dado que o número inteiro mostra o número de ligações ao ficheiro.
  3. A última peça é o proprietário e grupo de atribuição formatado como proprietário: grupo.

modificando as permissões

Quando na linha de comandos, as permissões são editadas usando o comando chmod., Você pode atribuir as permissões explicitamente ou usando uma referência binária como descrito abaixo.

define explicitamente as permissões

para definir explicitamente as permissões, terá de referenciar os tipos de permissões e grupos de permissões.

Os Grupos de permissões usadas são:

u – Proprietário
g – Grupo
o – Outros

um – Todos os usuários

O potencial Operadores de Atribuição são de + (mais) e – (menos); estes são usados para informar ao sistema se para adicionar ou remover as permissões específicas.,

os tipos de permissões que são usados são:

  • R-Read
  • w-Write
  • x – Execute

assim, por exemplo, digamos que tenho um ficheiro chamado file1 que tem de momento as permissões definidas para _rw_rw_, o que significa que o dono, o grupo e todos os utilizadores têm permissões de leitura e escrita. Agora queremos remover as permissões de leitura e escrita do grupo de todos os usuários.,

para fazer esta modificação, invocaria o comando: chmod a-rw file1
para adicionar as permissões acima, invocaria o comando: chmod a+RW file1

Como poderá ver, se quiser conceder essas permissões, irá mudar o carácter menos para um mais para adicionar essas permissões.

Usando referências binárias para definir as permissões

Agora que você entende os grupos de permissões e os tipos, este deve parecer natural. Para definir a permissão usando referências binárias você deve primeiro entender que a entrada é feita inserindo três inteiros/números.,

uma string de permissão de exemplo seria chmod 640 file1, o que significa que o dono tem permissões de leitura e escrita, o grupo tem permissões de leitura, e todos os outros usuários não têm direitos para o arquivo.

o primeiro número representa a permissão do dono; o segundo representa as permissões do grupo; e o último número representa as permissões para todos os outros utilizadores. Os números são uma representação binária da string rwx.

  • R = 4
  • w = 2
  • x = 1

adiciona os números para obter o número inteiro que representa as permissões que deseja definir., Terá de incluir as permissões binárias para cada um dos três grupos de permissões.

assim, para configurar um ficheiro para permissões no ficheiro 1 para ler _rwxr_______, você iria introduzir o ficheiro chmod 740.

proprietários e grupos

fiz várias referências aos proprietários e grupos acima, mas ainda não lhe disse como atribuir ou alterar o proprietário e grupo atribuído a um ficheiro ou directório.,

Você usa o comando chown para mudar as atribuições do dono e do grupo, a sintaxe é simplechown proprietário: nome do ficheiro do grupo, de modo a mudar o dono do ficheiro 1 para user1 e o grupo para família você iria indicar chown user1:family file1.

permissões avançadas

a opção de permissões especiais pode ser marcada com qualquer uma das seguintes:

  • _ – Sem permissões especiais
  • d – directory

  • l– o ficheiro ou directório é uma ligação simbólica
  • s – isto indicou as permissões setuid / setgid., Isto não é mostrado na parte de permissões especiais da mostra de permissões, mas é representado como um s na parte de leitura das permissões do dono ou grupo.
  • t-isto indica as permissões de bits pegajosos. Este não é o conjunto apresentado na permissão especial parte das permissões de visualização, mas é representado como um t em a parte executável de todas as permissões de usuários

Setuid/Setgid de Permissões Especiais

Os bits setuid/setguid permissões são utilizados para informar ao sistema para executar um executável como o proprietário com as permissões do proprietário.,

tenha cuidado ao usar bits setuid / setgid em permissões. Se atribuir incorrectamente permissões a um ficheiro pertencente ao root com o conjunto de bits setuid/setgid, então poderá abrir o seu sistema para intrusão.

só poderá atribuir o bit setuid/setgid definindo explicitamente as permissões. O carácter do bit setuid/setguid é S.

por isso active o bit setuid/setguid file2.sh você emitiria o comando chmod g+s file2.sh.,

Sticky Bit Permissões Especiais

O sticky bit pode ser muito útil no ambiente compartilhado, porque quando ele foi atribuído para as permissões de um diretório define tão somente o proprietário do arquivo pode renomear ou excluir o arquivo.

só poderá atribuir o bit fixo definindo explicitamente as permissões. O carácter do ‘sticky bit’ é t.

para definir o ‘sticky bit’ numa pasta chamada dir1, você iria emitir o comando chmod +t dir1.,

Quando as permissões são importantes

para alguns usuários de computadores baseados em Mac ou Windows você não pensa em permissões, mas esses ambientes não se focam tão agressivamente nos direitos baseados no usuário em arquivos, a menos que você esteja em um ambiente corporativo. Mas agora você está executando um sistema baseado em Linux e a segurança baseada em permissão é simplificada e pode ser facilmente usada para restringir o acesso como quiser.

assim, mostrar-lhe-ei alguns documentos e pastas em que deseja concentrar-se e mostrar-lhe como devem ser definidas as permissões ideais.,

  • pastas domésticas-as pastas domésticas dos utilizadores são importantes porque você não quer que outros utilizadores sejam capazes de ver e modificar os ficheiros nos documentos de outro utilizador do ambiente de trabalho. Para remediar isto, irá querer que o directório tenha as permissões do drwx______ (700), por isso, digamos que queremos impor as permissões correctas no directório pessoal do Utilizador 1, o que poderá ser feito através da emissão do comando chmod 700 /home/user1.,
  • ficheiros de configuração de arranque– se decidir implementar a senha para sistemas operacionais específicos de arranque, então irá querer remover as permissões de leitura e escrita do ficheiro de configuração de todos os utilizadores, excepto o root. Para fazer você pode mudar as permissões do arquivo para 700.
  • os ficheiros de configuração do sistema e do servidor– é muito importante restringir os direitos aos ficheiros de configuração do sistema e do servidor para restringir os utilizadores de editar o conteúdo, pode não ser aconselhável restringir as permissões de leitura, mas restringir as permissões de escrita é uma obrigação., Nestes casos, poderá ser preferível alterar os direitos a 644.
  • firewall scripts – pode nem sempre ser necessário bloquear todos os usuários de ler o arquivo de firewall, mas é aconselhável restringir os usuários de escrever para o arquivo. Neste caso, o script do firewall é executado pelo usuário root automaticamente no boot, de modo que todos os outros usuários não precisam de direitos, para que você possa atribuir as 700 permissões.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Ir para a barra de ferramentas