代码之家  ›  专栏  ›  技术社区  ›  ddd

为什么当用户名设置为其他值时,服务以根用户身份运行

  •  0
  • ddd  · 技术社区  · 6 年前

    conf 文件在/etc/init中/

    description "AAE client app"
    
    start on runlevel [2345]
    stop on runlevel [!2345]
    
    respawn
    
    env PATH=/home/ec2-user/aae_client/env/bin
    env PROGRAM_NAME="aae"
    env USERNAME="ec2-user"
    
    # Main script to be run
    script
        echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Ready to run..." >> /var/log/$PROGRAM_NAME.sys.log
    
        export HOME="/home/ec2-user"
        echo $$ > /var/run/$PROGRAM_NAME.pid
    
        cd /home/ec2-user/aae_client
        exec python -m app.run >> /var/log/$PROGRAM_NAME.sys.log 2>&1
    end script
    

    我已经设置了 USERNAME ec2-user . 但是当我运行服务时,它显示它是由 root PATH 设置正确。为什么在指定用户名时仍以根用户身份运行?

    1 回复  |  直到 6 年前
        1
  •  1
  •   l0b0    6 年前

    改变 USERNAME USER 变量不会更改进程运行的上下文。看看 solutions over at SuperUser