Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme S Zanoni

Revoke

Recommended Posts

Galera, eu preciso tirar todos os privilegios de uma tabela especifica de um schema, por ex:

 

DB_ECOLE_J (schema)

aluno (table)

serie (table)

turma (table)

foto (table)

 

eu queria que o usuário fernando nao pudesse realizar nada nas tabelas aluno e serie somente.

 

Alguem sabe como fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem várias coisas e se analisar para que o comando GRANT ou REVOKE seja realmente efetivo.

Se o usuário já tem privilégios de utilização no banco de dados DB_ECOLE_J, você deverá revogar estes privilégios por medida de segurança e atribuir novos:

 

mysql> show grants for fernando@localhost;
+-------------------------------------------------------+
| Grants for fernando@localhost						 |
+-------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'fernando'@'localhost' | 
+-------------------------------------------------------+
1 row in set (0.00 sec)

Acima, o usuário fernando que efetiva a conexão com o mysql somente a partir do localhost ou servidor local aonde o MySQL está instalado, tem todos os privilégios em todos os bancos de dados e todos as tabelas do servidor de bancos de dados MySQL.

 

Para revogar estes privilégios:

 

mysql> REVOKE ALL ON *.* FROM 'fernando'@'localhost';
Query OK, 0 rows affected (0.00 sec)

AGora o usuário somente terá o privilégio mínimo, conhecido como USAGE. Somente poderá além de se conectar ao servidor de bancos de dados MySQL, enviar os comandos SHOW VARIABLES e SHOW STATUS.

 

Agora, dê privilégio para este usuário nas tabelas turma e foto, pois, sua dúvida foi "como negar qualquer coisa para o usuário fernando nas tabelas aluno e série". Tenha sempre em mente que você precisa trabalhar com a política do menor privilégio. Já que o banco de dados está pronto, ele não precisa mais nada do que SELECT, INSERT, DELETE e UPDATE nestas tabelas, então:

 

GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE DB_ECOLA_J.turma TO 'fernando'@'localhost';
GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE DB_ECOLA_J.foto TO 'fernando'@'localhost';

Beleza??

 

Happy MySQL'ing!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.