我以非Root用户的身份使用Solaris 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
3-在/etc/security/auth_attr solaris中添加行。smf。管理myapp::myapp管理::
4-usermod-Asolaris.smf.manage.myappmyuser(确保myuser未登录)
5-svccfg导入 /opt/smf/myapp-smf.xml
现在以myuser身份登录,并使用以下命令验证/启动/停止应用程序
svcs -l myapp
svcadm enable myapp
svcadm disable myapp
现在的问题是第二天,当我尝试从我的用户启用/禁用时,我得到了权限拒绝错误。
我再次运行usermod——solaris。smf。管理我的应用程序我的用户,它开始工作,我正在寻找永久修复。
问候
usermod-一个solaris。smf。管理。*我的用户会解决这个问题
问题内容: 在昨天的Shocker消息发布之后,似乎Docker容器中的应用程序不应以root用户身份运行。我尝试更新自己以创建应用程序用户,但是更改对应用程序文件的权限(虽然仍然是root)似乎不起作用。我猜这是因为未将某些LXC权限授予root用户? 这是我的Dockerfile: 很简单,但是当我一切仍然由root拥有时: 感谢@creak对卷的工作原理的澄清,我更新的dockerfile的
我使用Ansible安装了Nginx。要在Centos7上安装,我使用了yum软件包,因此默认情况下它是以root用户身份运行的。我希望它在Centos中以不同的用户(前nginx用户)身份启动和运行。当我尝试与其他用户一起运行时,会出现以下错误: nginx的工作。服务失败,因为控制进程已退出,错误代码为。有关详细信息,请参阅“systemctl status nginx.service”和“j
问题内容: 在昨天的Shocker消息发布之后,似乎Docker容器中的应用程序不应以root用户身份运行。我尝试更新自己以创建应用程序用户,但是更改对应用程序文件的权限(虽然仍然是root)似乎不起作用。我猜这是因为未将某些LXC权限授予root用户? 这是我的Dockerfile: 很简单,但是当我一切仍然由root拥有时: 感谢@creak对卷的工作原理的澄清,我更新的dockerfile的
我正在编写一个将在Linux服务器上运行的Java程序。程序需要以“root”的身份开始,做某种操作(读取文件),然后将自己降级为非root用户,在文件已经读取并关闭之后。 我通读了下面的问题,但还没有找到可行的解决方案--尤其是因为我处理的不是http端口。
问题内容: 我已经在GitHub上建立了一个Git存储库,并从Windows计算机上进行了一些更改。 但是明天我将不得不在一台运行Ubuntu的计算机上以有限的权限(即,没有sudo)在该存储库中工作。 有适用于Linux的Git便携式版本吗?还是某些允许我仅为当前用户编译和安装Git的资源? 问题答案: 您可以下载git源,并执行git到您的主目录安装,只要您有构建工具。如果您没有安装build
本文向大家介绍以非root用户身份运行Docker容器,包括了以非root用户身份运行Docker容器的使用技巧和注意事项,需要的朋友参考一下 当您在Docker容器中运行应用程序时,默认情况下,它有权访问所有root特权。您可能已经注意到,当打开Ubuntu Docker Container Bash时,默认情况下您以root用户身份登录。在应用程序的安全性方面,这可能是一个主要问题。任何局外人