"GRANT USAGE"를 제거 할 수 없습니다


15

나는 물건을 테스트하고 있었고 다음을 추가했다.

grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password';

그래서 지금 할 때

show grants for cptnotsoawesome@localhost;

나는 그들 중 하나가 다음을 볼 수 있습니다 :

Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' 

이제 보안 위험이라고 생각하여 제거하고 싶습니다.

REVOKE USAGE ON *.* FROM 'cptnotsoawesome'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

그러나 여전히 보조금 목록에 USAGE 보조금이 표시됩니다.

Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' 

어떤 아이디어가 있습니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변:


20

후드 아래에서 USAGE 만있는 사용자를 볼 때 사용자는 모든 전역 권한이 해제 된 상태로 mysql.user 테이블에 작성됩니다.

당신은 원래 사용자가 이것을 가지고 있다고 말했습니다.

grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password'; 

mysql.userMD5 비밀번호와 모든 전역 권한이로 설정된 행이 표시되어야 합니다 N. mysql.db에 행이 표시되어야합니다.

  • user = 'cptnotsoawesome'
  • host = 'localhost'
  • db = '통계'
  • 모든 DB 레벨 개인 정보가 'Y'로 설정 됨

이 쿼리로 볼 수 있어야합니다

SELECT * FROM mysql.db
WHERE user='cptnotsoawesome'
AND host='localhost'
AND db='statistics'\G

REVOKE 명령을 실행할 때 단순히에서 행을 제거했습니다 mysql.db. 이것은의 행을 건드리지 않았습니다 mysql.user. 따라서, 당신은 여전히 ​​mysql에 로그인 할 수 있고 privs 만 실행할 수 있습니다.

SHOW GLOBAL VARIABLES;
SHOW GLOBAL STATUS;

호출 된 테스트 데이터베이스 test또는 처음 5 자의 데이터베이스가있는 test_경우 (를 사용하여 찾으십시오 SELECT * FROM mysql.db WHERE db LIKE 'test%';) USAGE 만있는 사용자는 테스트 데이터베이스에 대한 모든 권한을 가질 수 있습니다. 이것에 대해 ServerFault 2011 년 9 월에 썼습니다 .

mysql.user에서 행을 제거하려면 다음 중 하나를 실행하십시오.

DROP USER cptnotsoawesome@localhost;

또는

DELETE FROM mysql.user WHERE
WHERE user='cptnotsoawesome'
AND host='localhost';
FLUSH PRIVILEGES;

9

USAGE 는 사용자에게 권한이 없음을 의미합니다.

You have to use 'DROP USER'. 

drop user cptnotsoawesome@localhost;

사용자를 삭제하지 않고 실제로 USAGE를 취소 할 수 없습니다. USAGE는 글로벌 수준의 권한입니다.

이 링크를 살펴보십시오 .


보안 위협이나 그와 같은 것이라면 데이터베이스에 잘못된 일을한다면 그렇게 할 것입니다. 그렇지 않으면 – 그냥 떠날 수도 있습니다
Katafalkas

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.