Existe uma maneira de restringir certos usuários no Ubuntu 16.04 do MySQL?

2

No caso em que a (s) conta (s) do administrador poderia (m) executar o (s) comando (s) mysql no terminal e a (s) determinada (s) conta (s) de usuário não o faria.

    
por level-999999 08.03.2018 / 07:19

1 resposta

1

Com o sistema Linux de permissões, isso é muito bem possível. Veja as permissões atuais do executável mysql :

~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql

Existem três grupos de permissões:

  1. rwx (o dono root pode ler, gravar e executar o arquivo);
  2. r-x (outros no grupo root podem ler e executar o arquivo);
  3. r-x (todos os outros também podem ler e executar o arquivo).

Tiraremos as últimas permissões e permitiremos que apenas um grupo de usuários execute o comando.

Primeiro, crie um novo grupo mysqlusers :

sudo groupadd mysqlusers

Em seguida, mova o executável mysql para esse grupo:

sudo chgrp mysqlusers /usr/bin/mysql

Verifique se funcionou:

~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root mysqlusers 4243880 jan 19 13:45 /usr/bin/mysql

Agora retire as permissões de execução para todos os usuários "outros" (não-mysql):

sudo chmod o-x /usr/bin/mysql

Você pode emitir o comando ls -l mais uma vez para verificar se o% final x foi alterado para - .

Neste ponto, se você tentar entrar com o comando mysql, ele lhe dará: access denied. Isso porque você não é membro do grupo mysqlusers . Adicione você e outros usuários a esse grupo:

sudo groupadd -a -G mysqlusers [username]

Você precisará fazer logout e fazer o login para que esta última alteração funcione.

    
por Jos 08.03.2018 / 09:42