Comando setfacl no Linux: ACLs (Listas de Controle de Acesso)
Gabarito: letra A. O comando setfacl -m u:cont:r arq fornece acesso de leitura ao arquivo arq para o usuário cont, pois setfacl manipula ACLs (Access Control Lists) e a opção -m modifica a ACL existente, adicionando ou alterando a entrada u:cont:r, que significa usuário cont com permissão de leitura (r).
O setfacl é o comando do Linux utilizado para configurar as Listas de Controle de Acesso (ACLs) de arquivos e diretórios. As ACLs estendem o modelo tradicional de permissões Unix (dono, grupo, outros) permitindo definir permissões específicas para usuários e grupos adicionais. O padrão POSIX 1003.1e define essas ACLs, e no Linux os comandos getfacl e setfacl são usados para visualizar e modificar essas listas.
A sintaxe básica do setfacl é:
setfacl -m <entrada> <arquivo>
Onde -m significa "modify" (modificar) a ACL. A entrada segue o formato u:usuário:permissões para usuários, g:grupo:permissões para grupos, e o::permissões para outros. As permissões podem ser r (leitura), w (escrita) e x (execução).
No comando do enunciado, u:cont:r especifica que o usuário cont deve receber a permissão de leitura (r) sobre o arquivo arq. Portanto, a intenção é conceder ao usuário cont o direito de ler o conteúdo do arquivo.
É importante distinguir o setfacl de outros comandos que lidam com permissões e propriedade de arquivos:
Comando | Função |
|---|
chmod
| Altera as permissões tradicionais (dono, grupo, outros) |
chown
| Altera o proprietário e/ou grupo do arquivo |
setfacl
| Gerencia ACLs, permitindo permissões específicas para usuários/grupos adicionais |
getfacl
| Exibe as ACLs de um arquivo |
A pegadinha desta questão está em confundir setfacl com chown (que altera o grupo) ou com cp (que copia arquivos). A banca explora exatamente essa confusão entre comandos que lidam com permissões e propriedade.
Alternativa A — ✅ Correta ⟵ GABARITO
A alternativa A está correta porque o comando setfacl -m u:cont:r arq adiciona uma entrada na ACL do arquivo arq concedendo ao usuário cont a permissão de leitura (r). Isso é exatamente o que a alternativa descreve: "fornecer acesso de leitura ao arquivo arq para o usuário cont".
Alternativa B — ❌ Incorreta
A alternativa B está incorreta porque setfacl não modifica o grupo do arquivo. Para alterar o grupo de um arquivo, o comando correto é chgrp ou chown :grupo arquivo. O setfacl lida com ACLs, não com a propriedade de grupo.
Alternativa C — ❌ Incorreta
A alternativa C está incorreta porque setfacl não copia ACLs de um arquivo para outro. Para copiar ACLs, seria necessário usar getfacl para extrair a ACL de um arquivo e depois setfacl --set-file para aplicá-la em outro. O comando do enunciado apenas modifica a ACL do arquivo arq.
Alternativa D — ❌ Incorreta
A alternativa D está incorreta porque setfacl não tem relação com compartilhamento de rede via SMB. O compartilhamento SMB é configurado por ferramentas como samba e smb.conf. O setfacl é exclusivamente para controle de acesso em nível de sistema de arquivos local.
Alternativa E — ❌ Incorreta
A alternativa E está incorreta porque o comando não copia a ACL do usuário cont para o arquivo arq. Na verdade, ele define uma permissão para o usuário cont no arquivo arq. A direção é oposta: a ACL é aplicada ao arquivo, não copiada de um usuário.
Gabarito: letra A