2017-01-28 1 views
1

내 MySQL 데이터베이스에 액세스 할 수있는 사용자가 몇 명 있습니다. 나는 권한을 취소하려하고 있지만 그것에 대해 어떻게 해야할지 잘 모르겠습니다.모든 데이터베이스를 볼 수있는 MySQL 사용 권한

예 : 내 서버의 모든 데이터베이스에 액세스 할 수있는 bob 사용자가 있습니다. 나는이 bob있는 권한을 확인하려면 다음을 실행

mysql -e "select * from information_schema.user_privileges;" | grep bob 
'bob'@'%'  def  SELECT NO 
'bob'@'%'  def  INSERT NO 
'bob'@'%'  def  UPDATE NO 
'bob'@'%'  def  DELETE NO 
'bob'@'%'  def  CREATE NO 
'bob'@'%'  def  FILE NO 
'bob'@'%'  def  CREATE USER  NO 

아무것도 GRANT, ALL 또는 SUPER처럼 점프 없습니다. 새 데이터베이스 sometest을 만들고 bob 님의 계정으로 전환하면 bobsometest에 액세스 할 수 있습니다. 내가 여기서 무엇을 놓치고 있는지 확실하지 않습니다.

편집 : 나는 SHOW GRANTS FOR 'bob'@'%';를 실행하고 참조 :

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, 
    PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, 
    LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, 
    CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE 
    ON *.* TO 'bob'@'%' 

1) 한 방울이 권한을 수행하는 방법?

REVOKE SELECT, INSERT,... on *.* to 'bob'@'%'; 

내가 일하지 않으려는

GRANT ALL ON bobsdb.* TO 'bob'@'%'; 

같은 권한을 제거합니다 : 난 실행하면 가정합니다. 하지만 모든 권한을 제거하고 처음부터 다시 빌드하는 것이 가장 좋습니다.

2) 이와 같이 모든 권한을 어떻게 식별합니까? 모든 사용자를 살펴야합니까?

답변

2

당신은 명령을 사용하여 사용자의 보조금을 볼 수 있어야합니다 :

표시 DATABASES 권한이를 실행하여 데이터베이스 이름을 볼 계정 수 : MySQL의 설명서에서

SHOW GRANTS FOR 'bob'@'localhost'; 

을 SHOW DATABASE 문. 이 권한이없는 계정은 권한이있는 데이터베이스 만 볼 수 있으며 서버가 --skip-show-database 옵션으로 시작된 경우 명령문을 전혀 사용할 수 없습니다. 모든 글로 z 특권은 데이터베이스에 대한 특권입니다.

SHOW DATABASES가 활성화 된 경우 해당 권한을 취소하십시오.

FLUSH PRIVILEGES; 

을 (또는 MySQL이 다시 시작 - 그 옵션의 경우 - 종종 그렇지 않은) :

REVOKE SHOW DATABASES ON *.* FROM 'bob'@'localhost'; 

마지막으로, 명령을 사용하여 모든 권한을 다시로드합니다.

P .: 'localhost'를 db 호스트 이름으로 바꿔야 할 수도 있습니다.

일부 참조 :

편집 :

:

귀하의 질문에 대답하려면

1)이 권한을 어떻게 삭제합니까? REVOKE SELECT, INSERT,... on *.* to 'bob'@'%';

당신은 단순히 REVOKE ALL ON *.* TO 'bob'@'%';

2) 어떻게이 같은 모든 권한을 식별 않습니다 실행할 수 있습니다 : 나는 실행하면 나는 것 같은데요? 모든 사용자를 살펴야합니까?

는이 blog post.Disclamer를 참조하십시오 :이 블로그와 관련 있지 않다.

+0

감사! 이것은 문제가 아니지만 문제를 파악하는 데 도움이되었습니다. 편집을 참조하십시오. – Sal

+0

본인은 이후 질문에 대한 답변을 포함하도록 본문을 수정했습니다. –

관련 문제