모든 public그룹에게 주는 권한을 모두 취소하고,
a라는 사용자가 test_group에 속하는 사용자라고 할 때 test_group은 connect 권한을 가지고 있습니다.
그런데 a라는 사용자는 connect 에 대한 권한이 없어도 그룹에 속해 있기 때문에 connect 를 할 수 있는건가요??
그룹과 사용자가 어떻게 관리 되는지 몰라서 질문 드립니다.
그리고 그룹에 속한 사용자가 누가 있는지 알 수 있는 방법이 혹시 있나요?
a라는 사용자가 test_group에 속하는 사용자라고 할 때 test_group은 connect 권한을 가지고 있습니다. 그런데 a라는 사용자는 connect 에 대한 권한이 없어도 그룹에 속해 있기 때문에 connect 를 할 수 있는건가요?? 네 테스트> instance : db2inst1 SYSADM group : SYSADM group name (SYSADM_GROUP) = DB2IADM1 - user 생성시 지정을 하지 않으면 default group 인 staff가 되므로 주의하세요 connect 테스트 user : uid=214(inst1) gid=1(staff) 1. db2 create db tdb1 2. db2 revoke connect on database from public 3. db2 connect to tdb1 user inst1 using inst1 -> SQL1060N User "INST1 " does not have the CONNECT privilege. SQLSTATE=08004 4. db2 grant connect on database to group staff 5. db2 connect to tdb1 user inst1 using inst1 -> connect 성공
그리고 그룹에 속한 사용자가 누가 있는지 알 수 있는 방법이 혹시 있나요? -> aix의 경우 lsgroup ALL
권한이 group으로 가면 group에 속한 모든 유저는 권한을 상속받게 됩니다. 그래서 권한을 부여할때 grant connect on database to user kkm, to group kkmgrp 이런식으로 해주는 거구요 user나 group을 생략시에도 가능할수 있습니다. 다만 user명과 group며이 유니크해야 하고요 보안때문에 그러시는 거라면 user별 group을 따로 관리하셔야 합니다. 수고하세요