設(shè)置Nginx Woker進程用哪個用戶來運行

  • 主進程是root用戶
    • 沒有做任何配置:nobody
    • 編譯時配置:./configure 指定的 --user=USER
    • nginx.conf配置:user user [group];(只有以root用戶啟動時才生效)

filename: auto/unix

# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


NGX_USER=${NGX_USER:-nobody}

filename: auto/options

       ......

        --user=*)                        NGX_USER="$value"          ;;
        --group=*)                       NGX_GROUP="$value"         ;;

       ......
  • 主進程是非root用戶
    • 繼承主進程的用戶

filename: src/os/unix/ngx_process.c

    if (geteuid() == 0) {
        if (setgid(ccf->group) == -1) {
            ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
                          "setgid(%d) failed", ccf->group);
            /* fatal */
            exit(2);
        }

        ...
        if (setuid(ccf->user) == -1) {
            ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
                          "setuid(%d) failed", ccf->user);
            /* fatal */
            exit(2);
        }
        ...
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容