Message Queue에서는 플랫 파일 사용자 저장소와 플랫 파일 사용자 저장소를 채우고 관리할 때 사용할 수 있는 명령줄 도구인 사용자 관리자 유틸리티(imqusermgr)를 제공합니다. 다음 절에서는 플랫 파일 사용자 저장소에 대해 설명하고 사용자 관리자 유틸리티를 사용하여 해당 저장소를 채우고 관리하는 방법을 설명합니다.
플랫 파일 사용자 저장소는 인스턴스마다 다릅니다. 기본 사용자 저장소(passwd)는 사용자가 시작하는 각 브로커 인스턴스에 대해 자동으로 만들어집니다. 이 사용자 저장소는 저장소와 연관된 브로커 인스턴스의 이름으로 식별되는 디렉토리에 저장됩니다(부록 A, 플랫폼별 Message QueueTM 데이터 위치 참조).
…/instances/instanceName/etc/passwd
저장소는 이 두 항목을 사용하여 만들어집니다. 표 7–1의 각 행은 하나의 항목을 나타냅니다.
표 7–1 사용자 저장소 초기 항목
사용자 이름 |
비밀번호 |
그룹 |
상태 |
---|---|---|---|
admin |
admin |
admin |
active |
guest |
guest |
anonymous |
active |
이러한 초기 항목을 사용하면 관리자가 개입하지 않아도 설치 후 바로 Message Queue 브로커를 사용할 수 있습니다.
초기 guest 사용자 항목을 사용하면 클라이언트가 기본 guest 사용자 이름과 비밀번호를 사용하여 브로커 인스턴스에 연결할 수 있습니다.
초기 admin 사용자 항목을 사용하면 imqcmd 명령을 사용하여 기본 admin 사용자 이름과 비밀번호로 브로커 인스턴스를 관리할 수 있습니다. 비밀번호를 변경하려면 이 초기 항목을 업데이트해야 합니다( 기본 관리자 비밀번호 변경 참조).
다음 절에서는 플랫 파일 사용자 저장소를 채우고 관리하는 방법을 설명합니다.
Message Queue 사용자 관리자 유틸리티(imqusermgr)를 사용하면 플랫 파일 사용자 저장소를 편집하거나 채울 수 있습니다. 이 절에서는 사용자 관리자 유틸리티에 대해 소개합니다. 다음 절에서는 imqusermgr 하위 명령을 사용하여 특정 작업을 수행하는 방법에 대해 설명합니다.
imqusermgr 명령에 대한 자세한 내용은 13 장, 명령줄 참조을 참조하십시오.
사용자 관리자를 사용하기 전에 주의해야 할 사항은 다음과 같습니다.
브로커별 사용자 저장소가 없는 경우 해당 브로커 인스턴스를 시작하여 브로커별 사용자 저장소를 만들어야 합니다.
imqusermgr 명령은 브로커가 설치된 호스트에서 실행해야 합니다.
저장소에 쓸 수 있는 적절한 권한이 필요합니다. 즉, Solaris 및 Linux의 경우 해당 브로커 인스턴스를 처음으로 만든 사용자나 루트 사용자여야 합니다.
다음 절의 예에서는 기본 브로커 인스턴스인 경우를 가정합니다.
imqusermgr 명령에는 add, delete, list 및 update 하위 명령이 있습니다.
add 하위 명령은 지정한(또는 기본) 브로커 인스턴스 저장소에 사용자와 관련 비밀번호를 추가하고 선택적으로 사용자 그룹을 지정합니다. 하위 명령의 구문은 다음과 같습니다.
add [-i instanceName] -u userName -p passwd [-g group] [ -s]
delete 하위 명령은 지정한(또는 기본) 브로커 인스턴스 저장소에서 지정한 사용자를 삭제합니다. 하위 명령의 구문은 다음과 같습니다.
delete [-i instanceName] -u userName [ -s] [-f]
list 하위 명령은 지정한(또는 기본) 브로커 인스턴스 저장소의 지정한 사용자 또는 모든 사용자에 대한 정보를 표시합니다. 하위 명령의 구문은 다음과 같습니다.
list [ -i instanceName] [-u userName]
update 하위 명령은 지정한(또는 기본) 브로커 인스턴스 저장소에 있는 지정한 사용자의 비밀번호 및/또는 상태를 업데이트합니다. 하위 명령의 구문은 다음과 같습니다.
update [ -i instanceName] -u userName -p passwd [ -a state] [-s] [ -f]
update [-i instanceName] -u userName -a state [-p passwd] [-s] [-f]
표 7–2에서는 imqusermgr 명령의 옵션이 나열되어 있습니다.
표 7–2 imqusermgr 옵션
옵션 |
설명 |
---|---|
-a activeState |
사용자 상태의 활성화 여부를 지정합니다(true/false). true 값은 활성화 상태를 나타내며 기본값입니다. |
-f |
사용자의 확인 없이 작업을 수행합니다. |
-h |
사용 도움말을 표시합니다. 명령줄에 있는 명령은 실행되지 않습니다. |
-i instanceName |
명령이 적용될 브로커 인스턴스 이름을 지정합니다. 지정하지 않으면 기본 인스턴스 이름 imqbroker인 것으로 가정합니다. |
-p passwd |
사용자의 비밀번호를 지정합니다. |
-g group |
사용자 그룹을 지정합니다. 유효한 값에는 admin, user, anonymous가 있습니다. |
-s |
자동 모드를 설정합니다. |
-u userName |
사용자 이름을 지정합니다. |
-v |
버전 정보를 표시합니다. 명령줄에 있는 명령은 실행되지 않습니다. |
브로커 인스턴스의 사용자 저장소에 사용자 항목을 추가할 때, 사전 정의된 admin, user 또는 anonymous의 세 가지 그룹 중 하나를 지정할 수 있습니다. 그룹을 지정하지 않으면 기본 그룹인 user가 할당됩니다. 그룹은 다음과 같이 할당해야 합니다.
admin 그룹. 브로커 관리자에 사용됩니다. 이 그룹에 할당된 사용자는 기본적으로 브로커를 구성하고 관리할 수 있습니다. admin 그룹에 사용자를 두 명 이상 할당할 수도 있습니다.
user 그룹. 관리자가 아닌 일반 Message Queue 클라이언트 사용자에 사용됩니다. 대부분의 클라이언트 사용자는 user 그룹에 속합니다. 기본적으로 이 그룹의 사용자는 모든 주제와 대기열에 메시지를 생성하고 모든 주제와 대기열에서 메시지를 사용하고 모든 대기열에서 메시지를 찾아볼 수 있습니다.
anonymous 그룹. 브로커에 알려진 사용자 이름을 사용하지 않는(클라이언트 응용 프로그램에서 사용해야 할 실제 사용자 이름을 모르기 때문일 수 있음) Message Queue 클라이언트에 사용됩니다. 이 계정은 대부분의 FTP 서버에 있는 anonymous 계정과 유사합니다. anonymous 그룹에는 한 번에 한 사용자만 할당할 수 있습니다. user 그룹과 비교하여 이 그룹의 액세스 권한을 제한하거나, 배포 시 그룹에서 사용자를 제거해야 합니다.
사용자의 그룹을 변경하려면, 사용자 항목을 삭제한 후 그 사용자에 다른 항목을 추가하여 새 그룹을 지정해야 합니다.
시스템에서 생성한 그룹의 경우 이름을 변경하거나 삭제할 수 없습니다. 또한 새 그룹을 만들 수도 없습니다. 하지만 해당 그룹의 구성원이 수행할 수 있는 작업을 정의하는 액세스 규칙을 지정할 수 있습니다. 자세한 내용은 사용자 권한 부여: 액세스 제어 등록 정보 파일을 참조하십시오.
사용자를 저장소에 추가하면 그 사용자는 기본적으로 활성 상태가 됩니다. 사용자를 비활성 상태로 만들려면 update 명령을 사용해야 합니다. 예를 들어, 다음 명령은 사용자 JoeD를 비활성 상태로 만듭니다.
imqusermgr update -u JoeD -a false
비활성 상태인 사용자의 항목은 저장소에 보존되지만, 비활성 상태인 사용자가 새 연결을 열 수는 없습니다. 사용자가 비활성 상태일 때 같은 이름을 가진 다른 사용자를 추가하면 작업이 실패합니다. 비활성 사용자 항목을 삭제하거나, 새 사용자의 이름을 변경하거나, 새 사용자에게 다른 이름을 사용해야 합니다. 그러면 중복되는 사용자 이름을 추가하지 않게 됩니다.
사용자 이름과 비밀번호는 다음과 같은 지침을 따라야 합니다.
사용자 이름에는 별표(*), 쉼표(,), 콜론(:), 줄바꿈 또는 캐리지 리턴 문자가 포함되지 않아야 합니다.
사용자 이름 또는 비밀번호는 한 문자 이상이어야 합니다.
사용자 이름 또는 비밀번호에 공백이 포함된 경우에는 이름 또는 비밀번호 전체를 따옴표로 묶어야 합니다.
명령 쉘에서 명령줄에 입력할 수 있는 최대 문자 수가 제한되어 있는 것 외에는 비밀번호 또는 사용자 이름에 적용되는 길이 제한은 없습니다.
저장소에 사용자를 추가하려면 add 하위 명령을 사용합니다. 예를 들어, 다음 명령은 기본 브로커 인스턴스 사용자 저장소에 비밀번호가 sesame인 사용자 Katharine을 추가합니다.
imqusermgr add -u Katharine -p sesame -g user
저장소에서 사용자를 삭제하려면 delete 하위 명령을 사용합니다. 예를 들어, 다음 명령은 Bob이라는 사용자를 삭제합니다.
imqusermgr delete -u Bob
사용자의 비밀번호 또는 상태를 변경하려면 update 하위 명령을 사용합니다. 예를 들어, 다음 명령은 Katharine의 비밀번호를 aladdin으로 변경합니다.
imqusermgr update -u Katharine -p aladdin
한 사용자 또는 모든 사용자에 대한 정보를 나열하려면 list 명령을 사용합니다. 다음 명령은 isa라는 사용자에 대한 정보를 표시합니다.
imqusermgr list -u isa
% imqusermgr list -u isa User repository for broker instance: imqbroker ---------------------------------- User Name Group Active State ---------------------------------- isa admin true |
다음 명령은 모든 사용자에 대한 정보를 나열합니다.
imqusermgr list
% imqusermgr list User repository for broker instance: imqbroker -------------------------------------- User Name Group Active State -------------------------------------- admin admin true guest anonymous true isa admin true testuser1 user true testuser2 user true testuser3 user true testuser4 user false testuser5 user false |
보안을 위해 admin의 기본 비밀번호를 자신만 아는 비밀번호로 변경해야 합니다. 다음 명령은 mybroker 브로커 인스턴스의 기본 관리자 비밀번호를 admin에서 grandpoobah로 변경합니다.
imqusermgr update mybroker -u admin -p grandpoobah
브로커 인스턴스가 실행 중일 때 명령줄 도구 중 하나를 실행하여 이러한 변경 사항의 적용 여부를 빠르게 확인할 수 있습니다. 예를 들어, 다음 명령은 비밀번호를 묻습니다.
imqcmd list svc mybroker -u admin
새 비밀번호(grandpoobah)가 올바르게 작동해야 하고 이전 비밀번호는 실패해야 합니다.
비밀번호를 변경한 후에 관리 콘솔을 포함한 Message Queue 관리 도구를 사용하려면 새 비밀번호를 입력해야 합니다.