ubuntu - sudo -u参数到底是怎么执行的?
阿神
阿神 2017-04-24 09:09:56
0
1
822

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

阿神
阿神

闭关修行中......

全員に返信(1)
大家讲道理

Unix V6 のソース コードを例に挙げてみましょう。Linux のソース コードは見つかりません。user 構造を見てみましょう。 リーリー 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実効ユーザーと実際のユーザーを例に挙げます。たとえば、ubuntu ユーザーの id は、システムにログインするときに決定されます。 >108、www-data の id105 です。ユーザー ubuntu としてプログラムを実行する場合、sudo コマンドを使用して www- に切り替えると、有効なユーザーは 108 になります。 data ユーザーとして実行する場合、有効なユーザーは 105 ですが、実際のユーザーはまだ 108 であるため、$USER はそのままです。実際のユーザー ubuntu >。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート