PERMISSÃO DE USUÁRIOS – Parte 2 Comandos de manipulação de usuários SHOW GRANTS; Retorna todas as permissões existentes no banco de dados para o usuário conectado. SHOW GRANTS FOR ‘user’@’%’; Retorna todas as permissões existentes no banco de dados para o usuário user. SELECT CURRENT_USER(); Retorna o usuário conectado. TRABALHANDO COM A BASE DE DADOS MYSQL Permissão em nível de usuário Todas as permissões globais definidas a nível de usuário são listadas na tabela User. Permissão em nível de base Todas as permissões definidas a nível de base de dados ficam armazenadas na tabela db. Permissão em nível de tabela Todas as permissões definidas a nível de tabela do banco de dados ficam armazenadas na tabela tables_priv. Permissão em nível de coluna Todas as permissões definidas a nível de tabela do banco de dados ficam armazenadas na tabela columns_priv. Para efetivar as permissões utilizamos o comando FLUSH PRIVILEGES; Atividade Objetivo: Gerenciar permissão de usuários no banco de dados MySQL. Necessário ter a base de dados permissao, criada na aula passada. Forma de entrega: nomealuno.sql com os comandos executados e comentários quando for necessário 1) Entrar como usuário root via terminal do MySql. 2) Criar um usuário chamado steve com senha “@pp1l&” 3) Sair do usuário root 4) Entrar com o usuário steve 5) Verificar as tabelas existentes na base de dados • Colocar como comentário a explicação do que ocorreu. o Exemplo de comentário em SQL /* retornou as tabelas pois o usuário está com permissão */ 6) Sair e entrar novamente como root 7) Setar para o steve permissão total para base permissao (via comando grant). 8) Repetir os passos de 3 a 6. 9) Criar o usuário bill com senha “pinguim” 10) Setar para o usuário bill permissão para consultar a tabela funcionario. 11) Setar para o usuário bill permissao para acessar a coluna descricao da tabela de produto. 12) Consultar a tabela user 13) Consultar a tabela db 14) Consultar a tabela tables_priv 15) Consultar a tabela colums_priv 16) Explicar o resultado dessas consultas com as permissões definidas. 17) Remover do usuário bill a permissão para acessar a tabela funcionário. 18) Sair do root 19) Entrar como usuário bill 20) Entrar na base de dados permissao 21) Exibir as tabelas . 22) Estão todas as tabelas? Explique. 23) Executar o comando select * from produto. 24) Executar a consulta válida para o usuário bill na tabela produto. 25) Exibir o usuário conectado. 26) Exibir as permissões do usuário conectado. 27) Logar como root em outro terminal (chamaremos de T2) e o atual T1. 28) T2: Setar para o usuário bill permissão total em outra base de dados já existente. 29) T1: Exibir as permissões do usuário conectado. 30) T2: setar, através de insert na tabela columns_priv, permissão para o usuário bill acessar a coluna de quantidade da tabela produto. 31) T1: Executar o comando select quantidade, descricao from produto. 32) T2: executar o comando FLUSH PRIVILEGES; 33) T1: Executar o comando select quantidade, descricao from produto 34) Explicar o motivo pelo qual os resultados foram diferentes. 35) T2:Criar um usuário chamado monks com senha a escolher na tabela user com privilégios de update, insert e delete. 36) T2:Criar permissão para o usuário monks CONSULTAR os registros da tabela produto na base de dados permissao, via insert na tabela tables_priv. 37) T1: sair do usuário bill; 38) T1: Entrar com o usuário monks; 39) T1: Executar o comando necessário para viabilizar a entrada do usuário monks; 40) Entrar com o usuário monks;