首頁  >  問答  >  主體

ubuntu - sudo -u参数到底是怎么执行的?

ubuntu: sudo -u www-data echo $USER为什么输出结果是ubuntu不应该是www-data的吗?

阿神阿神2734 天前765

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-04-24 09:11:56

    拿 Unix V6 原始碼來說一下吧,linux的沒找到,看看user結構體

    struct user
    {
      // ...
      char    u_uid;  // 实效用户id(effective user id)
      char    u_gid;  // 实效用户组id(effective group id)
      char    u_ruid; // 实际用户id(real user id)
      char    u_rgid; // 实际用户组id(real group id)
      // ...
    } u;

    以實效使用者和實際使用者為例,登入系統時實際使用者就已經確定,例如是ubuntu用户的id108www-dataid105。若用ubuntu用户运行程序,则实效用户为108;若用sudo命令切换到www-data身份运行,则实效用户为 105,而实际用户仍为108,所以$USER还是实际用户ubuntu

    回覆
    0
  • 取消回覆