How to configure a systemd service in RHEL7 to run as a custom user or group

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/msdnchina/article/details/90106777

How to configure a systemd service in RHEL7 to run as a custom user or group

https://access.redhat.com/solutions/2295041

 SOLUTION 已验证 - 已更新 2018年一月12日09:23 - 

English 

环境

  • Red Hat Enterprise Linux 7

问题

  • How can I configure a systemd service in Red Hat Enterprise Linux (RHEL) 7 to run as a custom user or group?
  • How to run services in RHEL7 under a non-standard user?
  • How to change user or group of systemd service unit?

决议

  1. Create /etc/systemd/system/<SERVICE>.service.d/ directory
    Example:

    Raw

    # mkdir -p /etc/systemd/system/tomcat.service.d
    
  2. Create new /etc/systemd/system/<SERVICE>.service.d/<NAME>.conf file with the following format

    Raw

    [Service]
    User=someuser
    Group=somegroup
    

    Notes:

    • The filename must end in .conf but is otherwise arbitrary -- examples: local.confcustom-user.conf99-user.conf1
    • Specify User=<USER> or Group=<GROUP> or both
  3. Reload systemd manager configuration

    Raw

    # systemctl daemon-reload
    
  4. Start/restart service

    Raw

    # systemctl restart <SERVICE>
    

Example

  • Make foo.service execute as the custom "fu" user and with "baz" group credentials:

    Raw

    # mkdir -p /etc/systemd/system/foo.service.d
    # cat - >/etc/systemd/system/foo.service.d/99-custom.conf << END
    [Service]
    User=fu
    Group=baz
    END
    # systemctl daemon-reload
    # systemctl restart foo
    

  1. If there are multiple drop-files, it might be important to recognize that files will be read in lexical order -- directives set in z.conf could override directives set in a.conf. See "Overriding vendor settings" example at end of systemd.unit(5) man page. 

猜你喜欢

转载自blog.csdn.net/msdnchina/article/details/90106777
今日推荐