6.3.8.8 소켓 피어 인증서 인증 플러그인
MySQL 5.6.2의 시점에서는 Unix 소켓 파일을 통해 로컬 호스트에서 연결하는 클라이언트를 인증하는 서버 측 인증 플러그인을 사용할 수 있습니다.
이 플러그인의 소스 코드는로드 가능한 인증 플러그인을 작성하는 방법을 나타내는 비교적 간단한 예로 조사 할 수 있습니다.
다음 표는 플러그인 및 라이브러리 파일의 이름을 나타냅니다. 파일 이름 접미사는 시스템에 따라 다를 수 있습니다. 파일의 위치는 plugin_dir
시스템 변수에 지정된 디렉토리입니다. 설치에 대한 자세한 내용은 섹션 6.3.7 "플러그 인증" 을 참조하십시오.
표 6.14 MySQL 소켓 피어 인증서 인증 플러그인
서버 측의 플러그인 이름 | auth_socket |
클라이언트 플러그인 이름 | 없음 (설명을 참조하십시오) |
라이브러리 오브젝트 파일 이름 | auth_socket.so |
auth_socket
인증 플러그인은 Unix 소켓 파일을 통해 로컬 호스트에서 연결하는 클라이언트를 인증합니다. 이 플러그인은 SO_PEERCRED
소켓 옵션을 사용하여 클라이언트 프로그램을 실행하는 사용자에 대한 정보를 가져옵니다. 이 플러그인은 사용자 이름이 서버에 클라이언트 프로그램에서 지정된 MySQL 사용자 이름과 일치 여부를 확인하고 그 이름이 일치하는 경우에만 연결을 허용합니다. SO_PEERCRED
옵션이 지원되는 시스템 (Linux 등)에서만이 플러그인을 작성할 수 있습니다.
소켓 파일을 통해 로컬 호스트에서 접속할 때, auth_socket
플러그인으로 인증되는 valerie
라는 사용자를 위해, MySQL 계정이 생성된다고 가정합니다.
CREATE USER 'valerie'@ 'localhost'IDENTIFIED WITH auth_socket;
stefanie
는 로그인 이름을 가진 로컬 호스트의 사용자가 --user=valerie
옵션으로 mysql을 호출하여 소켓 파일을 통해 연결하는 경우 서버는 auth_socket
를 사용하여 클라이언트를 인증합니다. 이 플러그인은 --user
옵션 값 ( valerie
) 클라이언트 사용자 이름 ( stephanie
)과는 다른 것으로 판단하고 연결을 거부합니다. valerie
라는 사용자가 동일한 것을 시도하는 경우 플러그인은 사용자 이름과 MySQL 사용자 이름이 모두 valerie
하다고 판단하고 연결을 허용합니다. 그러나 TCP / IP 등의 다른 프로토콜을 사용하여 연결되면 valerie
의 경우 플러그인 연결을 거부합니다.
MySQL의 플러그 인증에 대한 일반적인 정보는 섹션 6.3.7 "플러그 인증" 을 참조하십시오.