현재 MySQL 에서는 불가능합니다.
테이블 단위의 권한 설정이 다입니다. 그 이상은 되질 않습니다. 특정 column 에 대한 권한설정이 가능한 것은 현재로서는 LDAP 만이 가능한 수준이랍니다.
::서명훈 님께서 쓰시길::
> 안녕하세요.
> 프로그램을 짜다가 고민이 생겨서 질문을 드립니다.
> 특정 사용자에게 어떤 테이블의 특정 컬럼에만 권한을 주고
> 싶어서 권한 설정을 했어요.
> 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 테이블을 보니까
> 역시 값이 들어가 있더군요.
> 결과는 업데이트가 잘 되더군요. 근데.. 문제는 그 테이블에
> 있는 모든 값이 수정된다는 것입니다.
> 그래서 특정한 컬럼만 권한을 주는 법을 알고 싶어서 질문을
> 드립니다.
> 알고 계시면 답변 꼭 좀 부탁드립니다.
|