简体   繁体   English

以非root用户身份使用Solaris SMF运行Java应用程序

[英]Running Java Application with Solaris SMF as Non-Root User

I am running my application with Solaris SMF as Non Root user, i followed below steps 我以非root用户身份使用Solaris SMF运行我的应用程序,我按照以下步骤操作

1- Create file like following 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 validate myapp-smf.xml 2- svccfg验证myapp-smf.xml

3- Add line in /etc/security/auth_attr solaris.smf.manage.myapp:::MyApp Management:: 3-在/ etc / security / auth_attr solaris.smf.manage.myapp ::: MyApp Management ::中添加行

4- usermod -A solaris.smf.manage.myapp myuser(make sure myuser is not logged in) 4- usermod -A solaris.smf.manage.myapp myuser(确保myuser未登录)

5- svccfg import /opt/smf/myapp-smf.xml 5- svccfg导入/opt/smf/myapp-smf.xml

Now logged as myuser and verify/start/stop application with following commands 现在以myuser身份登录,并使用以下命令验证/启动/停止应用程序

svcs -l myapp

svcadm enable myapp
svcadm disable myapp

Now problem is next day when i try to enable/disable from my user i got permission denied error. 现在的问题是第二天,当我尝试从我的用户启用/禁用时,出现权限被拒绝的错误。

I run again usermod -A solaris.smf.manage.myapp myuser, and it start working, i am looking for permanent fix. 我再次运行usermod -A solaris.smf.manage.myapp myuser,它开始工作,我正在寻找永久修复程序。

Regards 问候

usermod -A solaris.smf.manage。* myuser将解决问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java 应用程序无法以 debian 中的非 root 用户身份连接到 mysql - Java application fails to connect to mysql as non-root user in debian 如何以root身份启动Java程序,但降级为非root用户 - How to start Java program as root but downgrade to non-root user 可以使用Chef以非root用户身份安装Java吗? - Can Java be installed as non-root user with Chef? 如何在CentOs 6上以非root用户身份运行Java服务 - How to run java service as a non-root user on CentOs 6 如何以非root用户身份运行Kafka? - How to run Kafka as non-root user? 高山Linux,非root用户,Java 7,Setcap:libjli.so:没有这样的文件或目录(java所需) - Alpine Linux, Non-Root User, Java 7, Setcap: libjli.so: No such file or directory (needed by java) 无法在Solaris中为非root用户打开选择器 - Not able to open selector in solaris for non root user 在Linux上,人们是否chroot Java Web应用程序或使用IPTables并以非root身份运行? - On Linux do people chroot a Java Web Application or use IPTables and run as non-root? 使用Java程序如何以非root用户身份以编程方式在端口80上启动Jetty - Using Java Program How to programmatically start Jetty on port 80 as non-root user Linux中的Java - root和non-root的不同外观类 - Java in Linux - different look and feel classes for root and non-root
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM