2017-03-14 12 views
1

Windows7에서 MQSNOAUT=yes을 설정하면 모든 것이 정상이며 WebSphere MQ에서 원하는 모든 작업을 수행 할 수 있습니다. 그러나 레드햇의 경우에도 설정 한 후이 오류 받고 있어요 MQSNOAUTyes에 :WebSphere MQ의 보안을 끈 후에도 AMQ7077을 얻지 못하는 이유는 무엇입니까?

[[email protected] bin]$ ll crtmqm 
-rwxrwxrwx. 1 mqm mqm 41822 Oct 22 2015 crtmqm 
[[email protected] bin]$ crtmqm testqm 
AMQ7077: You are not authorized to perform the requested operation. 
[[email protected] bin]$ 

내가 큐 관리자를 만들 수 있습니다 mqm 사용자를 사용하지만를 시작할 수 없습니다 :

[[email protected] bin]$ crtmqm testqm 
WebSphere MQ queue manager created. 
Directory '/var/mqm/qmgrs/testqm' created. 
The queue manager is associated with installation 'Installation1'. 
Creating or replacing default objects for queue manager 'testqm'. 
Default objects statistics : 79 created. 0 replaced. 0 failed. 
Completing setup. 
Setup completed. 
[[email protected] bin]$ strmqm testqm 
WebSphere MQ queue manager 'testqm' starting. 
The queue manager is associated with installation 'Installation1'. 
5 log records accessed on queue manager 'testqm' during the log replay phase. 
Log replay for queue manager 'testqm' complete. 
Transaction manager state recovered for queue manager 'testqm'. 
The queue manager ended for reason 545284129, ''. 
[[email protected] bin]$ 

불행하게도, 유용한 정보가없는을 이러한 로그 파일 :

/var/mqm/errors/AMQERR01.LOG :

----- amqxfdcx.c : 888 -------------------------------------------------------- 
03/14/2017 10:00:16 AM - Process(15859.1) User(mqm) Program(amqzmur0) 
        Host(RHEL6-135) Installation(Installation1) 
        VRMF(8.0.0.4) 
AMQ6125: An internal WebSphere MQ error has occurred. 

EXPLANATION: 
An internal error has occurred with identifier 2080520F. This message is 
issued in association with other messages. 
ACTION: 
Use the standard facilities supplied with your system to record the problem 
identifier and to save any generated output files. Use either the MQ Support 
site: http://www.ibm.com/software/integration/wmq/support/, or IBM Support 
Assistant (ISA): http://www.ibm.com/software/support/isa/, to see whether a 
solution is already available. If you are unable to find a match, contact your 
IBM support center. Do not discard these files until the problem has been 
resolved. 
... 
repeated 27 times! 

/var/mqm/qmgrs/testqm/errors/AMQERR01.LOG :

03/14/2017 10:00:16 AM - Process(15840.4) User(mqm) Program(amqzmuc0) 
        Host(RHEL6-135) Installation(Installation1) 
        VRMF(8.0.0.4) QMgr(testqm) 

AMQ5051: The queue manager task 'LOGGER-IO' has started. 

EXPLANATION: 
The critical utility task manager has started the LOGGER-IO task. This task has 
now started 1 times. 
ACTION: 
None. 
------------------------------------------------------------------------------- 
    .... 
------------------------------------------------------------------------------- 
03/14/2017 10:00:16 AM - Process(15859.6) User(mqm) Program(amqzmur0) 
        Host(RHEL6-135) Installation(Installation1) 
        VRMF(8.0.0.4) QMgr(testqm) 

AMQ5037: The queue manager task 'DEFERRED_DELIVERY' has started. 

EXPLANATION: 
The restartable utility task manager has started the DEFERRED_DELIVERY task. 
This task has now started 1 times. 
ACTION: 
None. 
------------------------------------------------------------------------------- 

mqm 사용자가 sudoer이며 다음 내/etc/group 파일의 일부입니다 :

root:x:0:root, mqm, bin 
adm:x:4:root,adm,daemon, mqm, mquser 
mqm:x:500:root, mqm 
mquser:x:502:mqm 

...이 모든 것에 관계없이 yes으로 설정된 변수가 MQSNOAUT 인 것으로 생각하면 모든 사용자를 사용하여 WebShpere MQ에서 작동 할 수 있습니다. RedHat과 관련된 문제가 원인 일 수 있습니다.

현재 The queue manager ended for reason 545284129, ''.을 검색해도 해결책을 찾지 못했습니다.

의견이 있으십니까? UPDATE

지금은 큐 관리자를 시작하고, ... IBM MQ의 명령 줄 바이너리를 사용하여 큐, 채널을 만들 수 /opt/mqm/binchmod -R 6550을 다 가졌어요.

[[email protected] bin]$ sudo MQExplorer 
[sudo] password for mqm: 
/opt/mqm/java/jre64/jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 

(process:4451): Gtk-WARNING **: This process is currently running setuid or setgid. 
This is not a supported use of GTK+. You must create a helper 
program instead. For further details, see: 

    http://www.gtk.org/setuid.html 

Refusing to initialize GTK+. 
[[email protected] bin]$ 

과 :

[[email protected] bin]$ MQExplorer 
No protocol specified 
MQExplorer: Cannot open display: 
No protocol specified 
No protocol specified 
MQExplorer: Cannot open display: 
MQExplorer: 
An error has occurred. See the log file 
/var/mqm/IBM/WebSphereMQ/workspace-Installation1/.metadata/.log. 
[[email protected] bin]$ 

sudo으로 실행 나는이 오류가 발생합니다 : 더 편리를 위해, 그러나, 여전히 나는 MQExplorer을 실행할 때 다음과 같은 오류를 얻을 수 있기 때문에, MQ 탐색기를 사용할 수 없습니다 다음과 같이 /var/mqm/IBM/WebSphereMQ/workspace-Installation1/.metadata/.log입니다

!SESSION 2017-03-15 16:41:52.369 ----------------------------------------------- 
eclipse.buildId=unknown 
java.fullversion=JRE 1.7.0 IBM J9 2.7 Linux amd64-64 Compressed References 20150630_255653 (JIT enabled, AOT enabled) 
J9VM - R27_Java727_SR3_20150630_2236_B255653 
JIT - tr.r13.java_20150623_94888.01 
GC - R27_Java727_SR3_20150630_2236_B255653_CMPRSS 
J9CL - 20150630_255653 
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US 
Command-line arguments: -os linux -ws gtk -arch x86_64 

!ENTRY org.eclipse.osgi 4 0 2017-03-15 16:41:54.516 
!MESSAGE Application error 
!STACK 1 
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] 
    at org.eclipse.swt.SWT.error(SWT.java:4423) 
    at org.eclipse.swt.widgets.Display.createDisplay(Display.java:925) 
    at org.eclipse.swt.widgets.Display.create(Display.java:909) 
    at org.eclipse.swt.graphics.Device.<init>(Device.java:156) 
    at org.eclipse.swt.widgets.Display.<init>(Display.java:507) 
    at org.eclipse.swt.widgets.Display.<init>(Display.java:498) 
    at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:691) 
    at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:162) 
    at com.ibm.mq.explorer.ui.rcp.internal.base.RcpApplication.start(RcpApplication.java:88) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) 
    at java.lang.reflect.Method.invoke(Method.java:620) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426) 

로그는/스택 트레이스는 catch-all 예외 처리 같다. 아직 완전히이 오류를 파고 들지는 않았지만 권한 문제로 인해 발생했을 수도 있습니다. 예를 들어, MQExplorer가 mqm의 서브 디렉토리에서 구성 요소를로드하려고 시도 할 때 일부 권한 부여 오류가 발생했을 수 있습니다! 그러나 일부 관련 경로에서 chmod -R 6550을 실행해도 문제가 해결되지 않았습니다.

+0

내 제안이 문제를 해결하는 데 도움이 되었습니까? 더 많은 정보를 제공해야하는 경우 알려주십시오. – JoshMc

+0

@JoshMc 그래, 그게 내 문제를 해결했다. 귀하의 도움에 많은 감사드립니다 :) 나는 질문을 업데이 트했습니다, 한번보세요, 제발, 그리고 당신의 생각을 알려주십시오. 감사. – faghani

+0

모든 파일이/opt/mqm에서 6550 권한을 갖는 것은 아닙니다. 적절한 사용 권한을 얻으려면 제거하고 다시 설치하는 것이 가장 바람직하다고 생각합니다. MQ Explorer 문제점이 여전히있는 경우, 새 질문으로 이동하는 것이 가장 좋습니다. – JoshMc

답변

1

설정 MQSNOAUT=ANYVALUE은 큐 관리자가 작성 될 때 MQ OAM이 설정된 경우에만 해제합니다. 설정된 동안 작성한 큐 관리자에 대해 qm.ini 파일에서 몇 줄이 생략됩니다.

OAM이 해제되어 있으면 큐 관리자에 연결하는 모든 사용자에게 완전한 권한이 있음을 의미합니다.

UNIX의 큐 관리자 자체는 여전히 mqm 사용자 ID로 실행해야합니다.

나는 당신이 crtmqm의 바이너리에 다음과 같은 권한을 보여 주목 : setuid 권한을 가진 파일을 많이 가지고

이 정확하지
-rwxrwxrwx. 1 mqm mqm 

의 MQ 유닉스에 설치를하기 때문에있는 파일에 대한 사용 권한 /var/mqm/qmgrs 아래에 생성 된 /var/mqm/log, /var/mqm/sockets은 매우 중요합니다. 연구에서 545284129 및 2080520F 오류는 파일 사용 권한과 관련이 있습니다. 나중에 IBM MQ 소프트웨어를 제거하고 다시 설치하는 것이 좋을 것이라는 것을 모르는 경우 이전에 사용 권한으로 다시 설정하는 것이 좋습니다. 그 큐 관리자 이름에 관련

-r-sr-s--- 1 mqm mqm 

는 IBM MQ 바이너리 권한이 내가 당신이 당신의 큐 관리자를 삭제 한 것이 없도록 dltmqm를 사용하는 것이 좋습니다 것입니다 수정되면 유지 : 참고로 아래의 crtmqm의 바이너리에 대한 표준 권한입니다 /var/mqm/qmgrs, /var/mqm/log, /var/mqm/sockets/var/mqm/mqs.ini 파일에 있습니다.

일단 정리되면 mqm 사용자로 다시 작성한 후 시작하십시오. 내가 추측 할 것이다

보안을 해제하지 말고 적절한 권한으로 설정하는 것이 좋습니다. 개발 환경 인 경우에도 보안 기능을 사용하도록 설정하는 것이 좋습니다. 보안 기능을 사용하지 않고 개발할 때 실제 환경에서 보안이 켜지는 이유가 나중에 작동하지 않는 문제를 해결해야 할 필요가 있습니다.

"Provide anonymous access to IBM WebSphere MQ"질문에 대한 내 대답을보고 보안을 유지하는 방법과 해당 경로를 계속 사용하려는 경우 사용하지 않도록 설정하는 방법에 대한 추가 정보를 확인하십시오.

+0

WebSphere MQ를 설치 한 후 mqm 설치 경로에'chmod -R 777'을 실행했습니다. 'crtmqm'을'root' 사용자와 함께 실행할 때 인증 오류가 발생했기 때문입니다. 문제 해결 과정에서 필자는 권한이'r-sr-s ---'또는'(6550) oct'이어야하지만'x'가's (set (u | g | o) id)', 나는 그것을 무시했다. 's'에 대한 몇 가지 자료를 읽은 후에, 이제'x'와 기본적으로 다르다는 것을 압니다 ... 아마도 상향식 보안을 제공한다고 말할 수 있습니다! – faghani