ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

     

Designed by Tistory.