200 likes | 343 Views
Permissões e Propriedades de Arquivos. Cada arquivo e diretório em um sistema Linux possui um conjunto de permissões e propriedades integradas a ele.
E N D
Cada arquivo e diretório em um sistema Linux possui um conjunto de permissões e propriedades integradas a ele.
Conceito de PermissãoLinux sistema multiusuário e é necessário ter uma conta de acesso para utilizá-lo, além das permissões de arquivos, onde é definido quem pode acessar e como determinados arquivos ou diretórios.Cada arquivo / diretório possui três níveis de permissão:Usuário dono: Também chamado de owner, é o proprietário do arquivo/ diretório.Grupo dono: É o grupo proprietário do arquivo/diretório. O grupo pode conter um usuário(geralmente o usuário dono) ou vários usuários.Outros: Aplica-se a qualquer outro usuário, que não se encaixa nos níveis anteriores.
Para cada nível de permissão, existem três tipos de permissão:Leitura(r) : Permissão para visualizar o conteúdo do arquivo, simbolizada por “r” (do inglês read).Escrita(w) : Permissão para alterar o conteúdo do arquivo, simbolizada por “w” (do inglês write).Execução(x): Permissão para executar o arquivo, simbolizada por “x” (do inglês execution)
Verificando as Permissões Para visualizar as permissões de um arquivo, pode-se utilizar o comando ls-l, que listará os arquivos do diretório atual com uma série de informações adicionais, incluindo as colunas com as permissões, nome do usuário e do grupo donos do arquivo.
A primeira coluna da esquerda para a direita é a que contém todas as permissões; a segunda indica os links diretos dos arquivos, a terceira e a quarta especificam os nomes do usuário e do grupo ao qual pertencem o arquivo. As demais colunas mostram informações adicionais. Na primeira coluna é mostrado um vetor com um espaço para 10 caracteres. O primeiro identifica o tipo de arquivo, enquanto os outros 9 são o conjunto de três permissões para cada um dos três níveis (usuário, grupo e outros, respectivamente).
Modo Octal e Textual Textual no modo textual utilizam-se os caracteres u para representar usuário, g para representar grupo dono do arquivo e o o para representar outros, com um sinal de mais (“+”) para adicionar as permissões e (“-”) para remover. Exemplo: $ chmod u+rw, g+w, o-rwx arquivo2.txt Octal No formato octal, as permissões são representadas por números na base octal, onde a leitura é representada pelo valor 4, a escrita por 2 e execução por 1. Somando-se os valores obtém-se a permissão desejada para cada nível. Exemplo: $ chmod 640 arquivo.txt Configura a permissão de arquivo.txt como sendo 640:6 = leitura(4) + escrita(2) para o usuário dono, 4=leitura para o grupo e 0 (nenhuma permissão ) para outros. O usuário root possui permissão ilimitada, podendo acessar, visualizar ou modificar, qualquer permissão de qualquer usuário, em qualquer diretório.
Modificando propriedades e Grupo Chmod Permite que se altere permissões e propriedades de um ou mais arquivos, é importante ressaltar que o usuário deve ter permissões para fazer as alterações (deve ser root, ou dono do arquivo, ou deve estar no grupo, com permissão de escrita). Pode –se utilizar tanto a notação textual como a octal. Opções: -R permite que se altere recursivamente as permissões de arquivos ou diretórios; --reference=rarquivo permite que o arquivo seja modificado tomando como referência as permissões de rarquivo.
Exemplos: $ chmod u+rw,g+x documento.txt Concede permissões de leitura e gravação ao dono, e execução ao grupo para o arquivo documento.txt. $ chmod 610 documento.txt Define permissão de leitura e gravação ao dono (4+2=rw), execução para o grupo(1=x), e nenhuma permissão qualquer outro usuário(zero). $ chmod +x binaro.sh Concede permissões de execução (+x) de binario.sh para todos os usuários do sistema (caso não seja especificado pelo usuário, a permissão é concedida/retirada de todos- equivalente ao parâmetro a+x). $ chmod - -reference=documento.txt documento2.txt Aplica as mesmas condições do documento.txt para o documento2.txt, caso o usuário possua as permissões necessárias para executar esta mudança. $ chmod –R ug=rw,o-r testes/ Concede permissão de leitura e gravação ao dono e ao grupo, e permissão de leitura a outros, para o diretório testes e todos os arquivos ou sub-diretórios contidos nele.
ChownPermite alteração do dono e do grupo relacionado ao arquivo, ou arquivos, selecionados. Somente o usuário pode alterar o grupo caso ele pertença tanto ao grupo de origem como ao grupo destino. Pode utilizar também as notações octal e textual. Opções: -R permite que se altere recursivamente o proprietário e o grupo dos arquivos. --reference=arquivo2 o arquivo usará o grupo configurado para arquivo2. Exemplos: $chown :grupo02 documento.txt Ls- la//verifica o resultado Altera o grupo de documento.txt para grupo02. $chown aluno2:grupo02 documento.txt Altera o dono do arquivo para aluno2 e o grupo do mesmo para grupo02. O usuário só poderá fazer isto se pertencer ao grupo 02, e também o arquivo possuir permissões corretas. $chown -R :grupo02 alunos/ Modifica o grupo do diretório alunos/ e de todo seu conteúdo para grupo02. Antes de realizar as alterações com o comando chown verificar os grupos e usuários existentes.
Chgrp Altera apenas o grupo para os arquivos indicados. O grupo deve ser válido, eo usuário deve ter permissões para executar isto. Pode-se também mudar grupos de diretórios. O comando chmod, somente com o parâmetro :grupo(ou seja, sem modificar o usuário dono, somente o grupo) é equivalente ao comando chgrp. Opções: -R permite que se altere recursivamente a propriedade de grupo de diretórios e de seus conteúdos. --reference=arquivo2 permite que o comando use o grupo configurado para arquivo2 para configurar outros grupos. -c descreve detalhadamente a ação para cada arquivo cuja propriedade de grupo está sendo alterada. -f força a mudança de grupo, sem relatório de erros. Exemplo: $chgrp coisas texto1 texto2 Imagens/ Modifica o grupo associado aos arquivos texto01, texto02 e ao diretório Imagens, associando-os ao grupo coisas. $chgrp –R empregados comercial/ Modifica o grupo associado ao diretório comercial, associando-os ao grupo empregados, e modifica recursivamente todos os arquivos e sub-diretórios contido no diretório comercial para grupos empregados.
Permissões Padrão • Todo arquivo ou diretório em um sistema Linux ao ser criado recebe permissões iniciais, indicando o acesso para o proprietário do arquivo, para o grupo ao qual pertence, bem como para os outros usuários. Estas permissões iniciais são criadas através de máscaras para usuários ou umask. • A umask é constituída de três números, que funcionam removendo permissões, quando o usuário criar ou copiar arquivos ou diretórios. • O valor padrão da umask para a maioria das distribuições é 022 (666-022=644) para o superusuário , e de 002(666-002=664) para os outros usuário. • Umak Define as permissões padrão dos arquivos que serão lidos ou copiados pelo usuário. Sintaxe: • Umask [opções] modo • Onde modo informa a máscara de criação que será fornecida ao usuário/grupo/outros. Ele pode ser informado de duas maneiras: • Como um número octal (022) • Como uma máscara semelhante à utilizada pelo comando chmod (u=rwx, g=rx, o=rx) • O comando executado sem parâmetro exibe a máscara atual.
Permissões em Diretórios Para diretórios as permissões possuem um significado ligeiramente diferente. Para compreender mais facilmente os conceitos, basta imaginar um diretório como se fosse “um arquivo que contém outros arquivos”.
Exemplo: • Um diretório que tenha permissão 755, permite que seu dono faça qualquer alteração, mas outros usuários podem apenas acessá-lo e ler seu conteúdo. Nesse modo, cada arquivo contido no diretório fica protegido por sua própria permissão. É o modo mais comum. • Um diretório com permissão 744 permite que outros listem seu conteúdo, mas não acessem seus arquivos. • Diretórios tem sua permissões alteradas do mesmo modo que arquivos, utilizando o comando chmod.
Permissões especiais Permissões especiais que oferecem algumas funcionalidades além das simples permissões de acesso. SUID o bit suid é utilizado em arquivos executáveis quando se deseja que o programa seja executado com privilégios de seu usuário dono. Situações onde o programa precisa acessar determinado recurso, mas os usuários que o utilizem não o possam fazer diretamente. O bit Suid é representado textualmente por u+s. $chmod u+s arquivo_executável Em octal é o número 4 mas utilizado antes das permissões de dono/grupo/outros. $chmod 4755 arquivo_executável SGID tem a mesma função do SUID, mas é aplicado ao grupo, o programa é executado com os privilégios do grupo a que pertence. Representação textual g+s e em forma octal o número 2, também utilizado antes das permissões. O bit SGID pode ser utilizado em diretórios. Nesse caso , todos os arquivos criados dentro deste terão como grupo dono o mesmo grupo a que diretório pertence.
Stick Bit O stick bit é usado em diretórios compartilhado com vários usuários (em combinação com permissões de escrita para estes), onde seja desejável que usuários não acessem os arquivos por outros criados, um diretório stick bit ligado permite que qualquer usuário crie arquivos, mas os outros usuários não poderão remover ou alterar estes arquivos. Representação textual +t e em formato octal 1 antes das permissões.
Dicas • A umask pode ser de grande utilizada para programas que criam arquivos ou diretórios temporários, pois desta forma, pode-se bloquear o acesso a outros usuários e a criação de arquivos, sem precisar recorrer ao chmod. • Modifique a umask somente se necessário. É preciso atenção antes de escolher a umask, pois um valor mal escolhido poderá causar problemas de acesso a arquivos, diretórios ou programas não sendo executados. • Por padrão, quando um usuário é criado, é criado um grupo com os mesmos nome de usuário. É possível visualizar estas informações com o comando id. • O comando chmod não permite mudanças de permissões de link simbólico, ou seja, as permissões devem ser mudadas no arquivo do link alvo. • É possível copiar permissões de acesso do arquivo diretamente. Por exemplo: se o usuário digitar chmodo=u,as permissões de acesso dos outros usuários (o) serão idênticas ao do dono(u).