-
[TIL] postgreSQL - postgres 슈퍼계정 권한 부여하기TIL 2024. 10. 11. 17:51
aws ec2에 psql을 설치하고 이용하는 과정에서 postgres의 슈퍼계정권한을 사용해야했다. 하지만 postgres로 로그인해도 superuser의 권한이 없었고 유일하게 superuser의 권한을 갖고있는 계정인 pgg_superadmins로 로그인을 시도해도 비밀번호 입력 요청이 나왔다. 해당 psql 계정의 비밀번호를 설정한 적이 없었기때문에 접속이 불가능했다. postgres계정에 superuser권한을 부여하고 이를 이용하는 방법이 필요했다.
1. pg_hba.conf 파일 수정
pg_hba.conf파일은 postgresql의 Host-Based Authentication (HBA) 설정 파일로, db에 접근하는 사용자와 인증 방식을 지정하는 파일이다.
인증방식(db 접근시)
sha: 비밀번호 인증방식(sha 암호화 알고리즘 사용)
md5: 비밀번호 인증방식(md5 암호화 알고리즘 사용)
peer: psql사용자 이름과 운영체제 사용자 이름이 같은지 확인
trust: 모든 사용자 인증없이 접근 허용
cd /etc/postgresql/12/main // pg_hba.conf파일 위치로 이동 vim pg_hba.conf // 파일 수정 //로컬로 접근하는 인증방식에 대해서 비밀번호 없이 인증해주는 방식(잠시 뒤에 원래대로 롤백해줘야한다.) # IPv4 local connections: local all all md5 // 여기서 md5를 trust로 변경 sudo systemctl restart postgresql // psql서버 재시작
그다음 psql -U pgg_superadmins -d postgres로 접속하면 슈퍼계정으로 접속된다.
2. postgres계정에 superuser 권한부여하기
ALTER USER postgres WITH superuser; // postgres계정에 슈퍼유저권한 부여
postgres계정에 슈퍼유저 권한 부여
3. pg_hba 파일 원래대로 되돌리기
//기존 방식인 md5로 변경 # IPv4 local connections: local all all md5
'TIL' 카테고리의 다른 글
[TIL] Refresh Token 을 사용하는 이유와 구현 방식 (0) 2024.10.14 [TIL] Error - git 파일명 대소문자 구분 (0) 2024.10.13 [TIL] PSQL-DB 데이터 복원하기 (pg_dumpall VS pg_dump 차이) (0) 2024.10.11 [TIL] 쿼리스트링 에러 (1) 2024.08.28 오버라이딩, 오버로딩 (0) 2024.07.02