2014-07-14 8 views
0

, 나는 아래 다음내가 비 루트 사용자로 솔라리스 SMF 내 응용 프로그램을 실행하고

1-

 
    <?xml version='1.0'?> 
    <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> 
    <service_bundle type="manifest" name="myapp"> 
     <service name="application/management/myapp" type="service" version="1"> 
    <create_default_instance enabled="false" /> 
    <single_instance /> 
    <dependency name="multi-user-server" type="service" grouping="require_all" restart_on="none"> 
    <service_fmri value="svc:/milestone/multi-user-server" /> 
    </dependency>    
    <exec_method type="method" name="start"  exec="/opt/bin/myapp.sh start" timeout_seconds="-1"> 
    <method_context> 
     <method_credential user='myuser' group='other' /> 
      <method_environment> 
    <envvar name='PATH' value='/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin:/usr/sfw/bin' /> 
    <envvar name='JAVA_HOME' value='/usr/java/' /> 
     </method_environment> 
    </method_context> 
    </exec_method> 

    <exec_method type="method" name="stop"  exec="/opt/bin/myapp.sh stop" timeout_seconds="-1"> 
    <method_context> 
    <method_credential user='myuser' group='other' /> 
     <method_environment> 
    <envvar name='PATH' value='/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin:/usr/sfw/bin' /> 
    <envvar name='JAVA_HOME' value='/usr/java/' /> 
     </method_environment> 
    </method_context> 
    </exec_method> 

    <property_group name='start' type='method'> 
    <propval name='action_authorization' type='astring' value='solaris.smf.manage.myapp'  /> 
    <propval name='modify_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    <propval name='value_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    </property_group> 
    <property_group name='stop' type='method'> 
    <propval name='action_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    <propval name='modify_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    <propval name='value_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    </property_group> 
    <property_group name='general' type='framework'> 
    <propval name='action_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    <propval name='value_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    <propval name='modify_authorization' type='astring' value='solaris.smf.manage.myapp' /> 
    </property_group> 
    <stability value="Unstable" /> 
    <template> 
    <common_name> 
    <loctext xml:lang='C'>My Application</loctext> 
    </common_name> 
    </template> 
     </service> 
    </service_bundle> 

2를 다음과 같이 파일을 생성 단계 svccfg를 MyApp를-smf.xml에게의/etc/보안

3 추가 라인을 확인/auth_attr solaris.smf.manage.myapp ::: MyApp를 관리 ::

4 - usermod에 -A solaris.smf.manage.myapp의 참고 MyUser (반드시 참고 MyUser가 로그인되어 있지 않은지 확인)

5 svccfg를 가져 오기 /opt/smf/myapp-smf.xml는

이제 참고 MyUser로 기록 및/확인/정지 응용 프로그램을 시작 내가 활성화/내가 권한 거부 오류가 발생했습니다 내 사용자로부터 해제하려고 할 때 다음과 같은 명령을

svcs -l myapp 

svcadm enable myapp 
svcadm disable myapp 

지금 문제는 다음 날입니다.

다시 usermod -A solaris.smf.manage.myapp myuser를 실행하고 작업을 시작합니다. 영구 수정을 찾고 있습니다.

감사

+1

를 해결합니다 "메시지? 똑같은가요? – evolvah

+0

사실을 가리 키기위한 thx 내가 여러 애플 리케이션을 구성하고/etc/user_attr 만 마지막 항목을 덮어 씁니다. 어떻게 여러 항목을 추가 할 수 있습니까? – ImranRazaKhan

+0

usermod -A solaris.smf.manage와 같은 명령을 사용하면 좋습니다. * myuser – ImranRazaKhan

답변

0

하고 usermod의 -A의 solaris.smf.manage. * 참고 MyUser 당신은/etc는/당신이 "usermod에"어떻게 당신이보기 시작할 때 "사용 권한이 거부 후 모습 USER_ATTR 않는 방법 문제