Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — VUNESP 2025

Sistemas OperacionaisGeral
Código
vu223087
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana SIJ ( )
Uma recomendação de segurança para o servidor de banco de dados MySQL no sistema operacional Linux consiste em
  1. Afornecer o privilégio FILE para usuários não administrativos.
  2. Bfornecer o privilégio PROCESS para usuários não administrativos.
  3. Cnão executar o processo mysqld como o usuário root do Linux.
  4. Dmover os scripts e arquivos binários do servidor, tais como o mysqld, para o diretório /boot.
  5. Eoferecer permissão de acesso somente-leitura à tabela mysql.user para todos os usuários do MySQL.
Revelar gabarito e comentário

GabaritoC — não executar o processo mysqld como o usuário root do Linux.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Segurança do MySQL no Linux

Gabarito: letra C. A recomendação de segurança mais fundamental para o servidor MySQL no Linux é não executar o processo mysqld como o usuário root do sistema, pois isso viola o princípio do privilégio mínimo e expõe todo o sistema a um risco crítico caso o banco seja comprometido. Essa prática é amplamente documentada na documentação oficial do MySQL e em guias de boas práticas de segurança.

O princípio do privilégio mínimo é um dos pilares da segurança de sistemas operacionais. Ele determina que todos os usuários e programas devem operar com o mínimo possível de privilégios ou permissões de acesso necessários para poder funcionar. No contexto de um servidor de banco de dados, isso significa que o processo mysqld não deve rodar com os privilégios totais do superusuário root do Linux, mas sim com um usuário dedicado (geralmente mysql) que tenha apenas as permissões necessárias para acessar os diretórios de dados e executar o serviço.

A razão por trás dessa regra é simples: se um atacante explorar uma vulnerabilidade no MySQL e o processo estiver rodando como root, ele terá controle total do sistema operacional. Por outro lado, se o processo rodar como um usuário sem privilégios, o dano será limitado ao escopo desse usuário. Essa é uma aplicação direta do princípio da separação de privilégios e do default seguro.

Na prática, a instalação padrão do MySQL já cria um usuário de sistema chamado mysql e configura o serviço para rodar com esse usuário. O administrador deve garantir que essa configuração seja mantida e que o mysqld nunca seja iniciado manualmente como root. Além disso, é importante que os arquivos de dados e configuração do MySQL pertençam a esse usuário e não sejam acessíveis por outros usuários do sistema.

A banca explora aqui a confusão entre privilégios do banco de dados (como FILE e PROCESS) e privilégios do sistema operacional. As alternativas A e B falam de privilégios do MySQL, que são internos ao banco e não devem ser concedidos a usuários não administrativos. A alternativa D fala de mover binários para /boot, o que é uma prática incorreta e perigosa. A alternativa E fala de permissão de leitura na tabela mysql.user, o que também é uma violação de segurança. A alternativa C é a única que aborda corretamente a segurança no nível do sistema operacional.

Guarde a fronteira entre privilégios do banco de dados e privilégios do sistema operacional: é exatamente nela que as alternativas se dividem.

1Privilégio mínimo
Não rodar mysqld como root
Usuário dedicado (mysql)
2Privilégios do banco (internos)
FILE (ler/escrever arquivos)
PROCESS (ver processos)
Acesso à tabela mysql.user
3Práticas incorretas
Mover binários para /boot
Segurança do MySQL no Linux
LEVELsoulevel.com.br
Segurança do MySQL no Linux: Privilégio mínimo (Não rodar mysqld como root, Usuário dedicado (mysql)); Privilégios do banco (internos) (FILE (ler/escrever arquivos), PROCESS (ver processos), Acesso à tabela mysql.user); Práticas incorretas (Mover binários para /boot)

Alternativa A — ❌ Incorreta

Fornecer o privilégio FILE para usuários não administrativos é uma violação de segurança. O privilégio FILE permite que o usuário leia e escreva arquivos no servidor, o que pode ser usado para acessar dados sensíveis fora do banco ou para escrever código malicioso. Esse privilégio deve ser concedido apenas a administradores que realmente precisam dele.

Alternativa B — ❌ Incorreta

Fornecer o privilégio PROCESS para usuários não administrativos também é inseguro. O privilégio PROCESS permite que o usuário veja informações sobre os processos de outros usuários, incluindo consultas em execução, o que pode expor dados confidenciais. Esse privilégio deve ser restrito a administradores.

Alternativa C — ✅ Correta ⟵ GABARITO

Não executar o processo mysqld como o usuário root do Linux é a recomendação de segurança correta. Isso segue o princípio do privilégio mínimo, limitando o impacto de uma possível exploração de vulnerabilidades. O serviço deve rodar com um usuário dedicado, como mysql, que tenha apenas as permissões necessárias.

Alternativa D — ❌ Incorreta

Mover os scripts e arquivos binários do servidor, como o mysqld, para o diretório /boot é incorreto e perigoso. O diretório /boot é reservado para os arquivos necessários à inicialização do sistema, como o kernel e o initrd. Colocar binários de aplicativos lá pode quebrar a inicialização do sistema e não traz nenhum benefício de segurança.

Alternativa E — ❌ Incorreta

Oferecer permissão de acesso somente-leitura à tabela mysql.user para todos os usuários do MySQL é inseguro. A tabela mysql.user contém informações sensíveis, como hashes de senhas e privilégios. Mesmo com acesso somente-leitura, isso expõe informações que podem ser usadas em ataques. O acesso a essa tabela deve ser restrito apenas a administradores.

NÃO CAIA NESSA!

A banca mistura privilégios do MySQL (como FILE e PROCESS) com privilégios do sistema operacional. O candidato pode se confundir e achar que a resposta está em conceder ou negar privilégios do banco, mas a questão pede uma recomendação de segurança para o servidor no Linux, que é justamente não rodar o processo como root. Fique atento ao escopo da pergunta!

PEGA ESSA DICA!

Para questões de segurança de serviços no Linux, lembre-se sempre do princípio do privilégio mínimo. Pergunte-se: "o processo precisa rodar como root?" Se não, ele deve rodar com um usuário dedicado. Essa lógica se aplica a MySQL, Apache, Nginx e outros serviços.

Gabarito: letra C

Link permanente: /questoes/vu223087