wiki:linux:comandos_grupos:comando_ppa
Table of Contents
Comandos de Permissões e Propriedades de Arquivos no Linux
Nível Básico
1. Visualização de Permissões
- ls -l - Lista arquivos com detalhes, incluindo permissões.
- Exemplo de uso:
ls -l /home/usuario/arquivo.txt
- Descrição: Mostra informações detalhadas sobre
arquivo.txt, incluindo permissões de leitura, escrita e execução, proprietário, grupo e tamanho.
2. Alteração Simples de Permissões com `chmod`
- chmod - Altera permissões de arquivos e diretórios.
- Exemplo de uso:
chmod 755 /home/usuario/arquivo.txt
- Descrição: Define permissões de leitura, escrita e execução para o dono, e permissões de leitura e execução para outros usuários em
arquivo.txt.
- chmod u+x - Adiciona permissão de execução para o dono.
- Exemplo de uso:
chmod u+x /home/usuario/script.sh
- Descrição: Concede permissão de execução ao dono do arquivo
script.sh, permitindo que ele seja executado como um programa.
3. Alteração de Propriedades de Grupo com `chgrp`
- chgrp - Altera o grupo associado a um arquivo ou diretório.
- Exemplo de uso:
chgrp desenvolvedores /home/usuario/projeto
- Descrição: Define o grupo
desenvolvedorescomo o grupo proprietário do diretórioprojeto, permitindo que seus membros tenham acesso de acordo com as permissões do grupo.
Nível Intermediário
1. Alteração Recursiva de Permissões
- chmod -R - Aplica permissões recursivamente em diretórios e seus arquivos.
- Exemplo de uso:
chmod -R 755 /home/usuario/projeto/
- Descrição: Define permissões de leitura, escrita e execução para o dono, e de leitura e execução para outros usuários, em todos os arquivos e subdiretórios dentro de
/projeto.
2. Alteração de Propriedade com `chown`
- chown - Altera o proprietário de um arquivo ou diretório.
- Exemplo de uso:
chown usuario /home/usuario/arquivo.txt
- Descrição: Define
usuariocomo o proprietário do arquivoarquivo.txt.
- chown usuario:grupo - Altera o proprietário e o grupo de um arquivo.
- Exemplo de uso:
chown usuario:desenvolvedores /home/usuario/arquivo.txt
- Descrição: Define o usuário
usuariocomo proprietário e o grupodesenvolvedorescomo o grupo associado ao arquivoarquivo.txt.
3. Permissões Adicionais com `chmod`
- chmod g+w - Adiciona permissão de escrita para o grupo.
- Exemplo de uso:
chmod g+w /home/usuario/arquivo.txt
- Descrição: Permite que o grupo associado ao arquivo
arquivo.txttenha permissão de escrita.
- chmod o-r - Remove permissão de leitura para outros usuários.
- Exemplo de uso:
chmod o-r /home/usuario/arquivo_secreto.txt
- Descrição: Remove a permissão de leitura para todos os usuários que não sejam o dono ou membros do grupo.
4. Visualização Detalhada de Propriedades
- stat - Exibe detalhes completos de um arquivo, incluindo permissões e propriedades.
- Exemplo de uso:
stat /home/usuario/arquivo.txt
- Descrição: Exibe informações detalhadas sobre
arquivo.txt, incluindo permissões, timestamps de criação e modificação, e o identificador de usuário e grupo.
Nível Avançado
1. Permissões Especiais com `chmod`
- chmod u+s - Define o bit SUID (Set User ID).
- Exemplo de uso:
chmod u+s /usr/bin/programa
- Descrição: Permite que o programa seja executado com os privilégios do dono do arquivo, em vez do usuário que o executa. Normalmente usado para programas que precisam de permissões elevadas.
- chmod g+s - Define o bit SGID (Set Group ID).
- Exemplo de uso:
chmod g+s /home/usuario/projeto/
- Descrição: Define que todos os arquivos criados dentro do diretório
/projetoherdarão o grupo do diretório pai, mantendo consistência de grupo entre arquivos e usuários.
- chmod o+t - Define o bit Sticky em diretórios.
- Exemplo de uso:
chmod o+t /home/usuario/publico
- Descrição: O bit Sticky garante que somente o dono de um arquivo dentro do diretório
publicopossa excluir ou renomear seus próprios arquivos, mesmo que outros usuários tenham permissão de escrita.
2. Controle Detalhado com ACLs (Access Control Lists)
- setfacl - Define permissões adicionais para usuários ou grupos específicos.
- Exemplo de uso:
setfacl -m u:usuario2:rwx /home/usuario/arquivo.txt
- Descrição: Concede permissões completas (leitura, escrita, execução) ao usuário
usuario2sobre o arquivoarquivo.txt, sem alterar as permissões do dono ou grupo.
- getfacl - Exibe as permissões ACL de um arquivo ou diretório.
- Exemplo de uso:
getfacl /home/usuario/arquivo.txt
- Descrição: Mostra todas as permissões configuradas, incluindo permissões padrão e as configuradas via ACL, para o arquivo
arquivo.txt.
3. Aplicação Recursiva de ACLs
- setfacl -R - Aplica ACLs recursivamente em diretórios.
- Exemplo de uso:
setfacl -R -m u:usuario2:rwx /home/usuario/projeto/
- Descrição: Concede permissões completas ao usuário
usuario2para todos os arquivos e subdiretórios dentro do diretório/projeto.
- setfacl -d - Define permissões ACL padrão para novos arquivos em um diretório.
- Exemplo de uso:
setfacl -d -m u:usuario2:rwx /home/usuario/projeto/
- Descrição: Configura ACLs para que todos os novos arquivos criados dentro de
/projetoherdem as permissões concedidas ao usuáriousuario2.
4. Remoção de ACLs
- setfacl -x - Remove uma entrada ACL específica.
- Exemplo de uso:
setfacl -x u:usuario2 /home/usuario/arquivo.txt
- Descrição: Remove todas as permissões ACL concedidas ao usuário
usuario2sobre o arquivoarquivo.txt.
- setfacl -b - Remove todas as ACLs de um arquivo ou diretório.
- Exemplo de uso:
setfacl -b /home/usuario/projeto/
- Descrição: Remove todas as permissões ACL de
/projeto, retornando às permissões padrão definidas porchmod.
5. Controle de Atributos com `chattr` e `lsattr`
- chattr - Define atributos especiais para arquivos e diretórios.
- Exemplo de uso:
chattr +i /home/usuario/arquivo.txt
- Descrição: Define o atributo
imutable(imutável) no arquivoarquivo.txt, impedindo que ele seja modificado ou excluído, mesmo por usuários root.
- lsattr - Lista os atributos especiais de arquivos e diretórios.
- Exemplo de uso:
lsattr /home/usuario/arquivo.txt
- Descrição: Exibe os atributos definidos para
arquivo.txt, permitindo visualizar se o arquivo está imutável, apenas anexável ou com outros atributos especiais.
Atributos Comuns Gerenciados pelo `chattr`
- +i - Define o atributo imutável.
- Exemplo de uso:
chattr +i /home/usuario/arquivo.txt
- Descrição: Um arquivo com o atributo
+inão pode ser modificado, renomeado ou excluído até que o atributo seja removido comchattr -i
.
- +a - Define o atributo “append only” (somente anexar).
- Exemplo de uso:
chattr +a /home/usuario/log.txt
- Descrição: Um arquivo com o atributo
+asó pode ser modificado para adicionar dados no final (anexar). Não é possível editar ou remover o conteúdo existente.
- +d - Impede que o arquivo seja incluído em backups com o comando `dump`.
- Exemplo de uso:
chattr +d /home/usuario/arquivo_temporario
- Descrição: O arquivo marcado com
+dserá ignorado por ferramentas de backup como `dump`, útil para arquivos temporários ou caches.
- +u - Define que o conteúdo de um arquivo deve ser preservado em caso de exclusão.
- Exemplo de uso:
chattr +u /home/usuario/arquivo_critico.txt
- Descrição: Um arquivo com o atributo
+utem seu conteúdo salvo quando excluído, permitindo a recuperação futura.
Nível Especializado
1. Herança Avançada de Permissões com ACLs
- setfacl -d -R - Define permissões ACL padrão recursivamente para novos arquivos e diretórios.
- Exemplo de uso:
setfacl -d -R -m u:usuario2:rwx /home/usuario/projeto/
- Descrição: Configura ACLs padrão recursivas para que todos os arquivos e diretórios criados dentro de
/projetoherdem permissões completas para o usuáriousuario2.
- setfacl -k - Remove as permissões ACL padrão de um diretório.
- Exemplo de uso:
setfacl -k /home/usuario/projeto/
- Descrição: Remove as permissões ACL padrão de
/projeto, permitindo que novos arquivos criados não herdem permissões adicionais.
2. Auditoria de Acessos com `auditd`
- auditctl - Configura regras de auditoria para monitorar acessos a arquivos.
- Exemplo de uso:
auditctl -w /home/usuario/arquivo.txt -p rwxa -k monitor_arquivo
- Descrição: Monitora todas as tentativas de leitura, escrita, execução e alteração do arquivo
arquivo.txt. Os eventos de acesso são registrados com a chave de auditoriamonitor_arquivo.
- ausearch - Pesquisa eventos de auditoria relacionados a arquivos.
- Exemplo de uso:
ausearch -f /home/usuario/arquivo.txt
- Descrição: Pesquisa os logs de auditoria para exibir todas as tentativas de acesso ao arquivo
arquivo.txt, incluindo informações sobre o usuário e a ação realizada.
3. Controle de Acesso com SELinux
- chcon - Altera o contexto de segurança de um arquivo.
- Exemplo de uso:
chcon -t httpd_sys_content_t /var/www/html/index.html
- Descrição: Altera o contexto de segurança do arquivo
index.htmlpara que ele possa ser acessado pelo servidor web Apache em um sistema com SELinux habilitado.
- restorecon - Restaura os contextos de segurança padrão.
- Exemplo de uso:
restorecon -v /var/www/html/
- Descrição: Restaura os contextos de segurança padrão para todos os arquivos no diretório
/var/www/html, conforme definido pelas políticas SELinux.
4. Manipulação de Capabilities com `setcap`
- setcap - Atribui capacidades específicas a binários sem necessidade de SUID.
- Exemplo de uso:
setcap cap_net_bind_service=+ep /usr/bin/apache2
- Descrição: Atribui ao binário
apache2a capacidade de vincular-se a portas de número inferior a 1024 (normalmente reservado a root) sem a necessidade de usar o bit SUID.
- getcap - Exibe as capacidades de um arquivo.
- Exemplo de uso:
getcap /usr/bin/apache2
- Descrição: Lista as capacidades que foram atribuídas ao binário
apache2, permitindo a verificação das permissões especiais.
5. Gerenciamento de Políticas de Controle de Acesso com AppArmor
- aa-status - Verifica o status das políticas do AppArmor.
- Exemplo de uso:
aa-status
- Descrição: Exibe o status atual das políticas de controle de acesso do AppArmor, incluindo quais perfis estão carregados e em execução.
- aa-complain - Coloca um perfil do AppArmor no modo de “Complain” (relatório de violação).
- Exemplo de uso:
aa-complain /etc/apparmor.d/usr.sbin.mysqld
- Descrição: Altera o perfil do AppArmor para o modo “Complain”, no qual as violações de segurança são registradas nos logs, mas não são aplicadas.
6. Auditar Permissões com `getfacl` e `auditd`
- getfacl + auditctl - Combina auditoria de ACLs com monitoramento de acessos.
- Exemplo de uso:
getfacl /home/usuario/arquivo.txt | auditctl -w /home/usuario/arquivo.txt -p rwxa -k acl_audit
- Descrição: Usa
getfaclpara visualizar as permissões ACL eauditctlpara auditar o acesso ao arquivo, rastreando tentativas de acesso de acordo com a ACL e criando logs detalhados com a chaveacl_audit.
wiki/linux/comandos_grupos/comando_ppa.txt · Last modified: by Wiki Administrator
