안녕하세요.
프로그램을 짜다가 고민이 생겨서 질문을 드립니다.
특정 사용자에게 어떤 테이블의 특정 컬럼에만 권한을 주고
싶어서 권한 설정을 했어요.
user 의 권한 설정은 모두 n 으로 주었고 db 의 권한에서는
select_priv 만 y 를 주고 나머지는 전부 n 으로 주었어요.
그리고 tables_priv는 건드리지 않고
grant 명령문을 썼어요.
grant update (name) on board.gesipan to guest;
이렇게 치니까 columns_priv 테이블에 정보가 제대로 입력이
되었습니다.
그래서 이름 부분을 수정해 보았는데, 수정이 안되더군요.
물론 flush privileges; 명령문도 쳐서 권한을 다시 변경 했어요.
정말 이상하더군요.
그래서 계속 안되길래 이번에는 컬럼쪽이 아니라 테이블쪽의
권한을 변경해봤어요.
grant update on board.gesipan to guest;
이렇게 말이죠. 이렇게 해 놓고 tables_priv 테이블을 보니까
역시 값이 들어가 있더군요.
결과는 업데이트가 잘 되더군요. 근데.. 문제는 그 테이블에
있는 모든 값이 수정된다는 것입니다.
그래서 특정한 컬럼만 권한을 주는 법을 알고 싶어서 질문을
드립니다.
알고 계시면 답변 꼭 좀 부탁드립니다.
|