GNU/Linux >> Linux の 問題 >  >> Linux

新しいグループメンバーシップを適用するには、NewgrpまたはSu(またはログアウトして再度ログイン)を使用する必要がありますか?

新しいグループメンバーシップに新しいログイン(またはsuで開始された新しいログインシェル)が必要になる理由は何ですか またはnewgrp )表示されますか?

--loginを使用して別のbash(または他のシェル)インスタンスを実行するだけです は機能しませんが、suやnewgrpのようなsuidrootであるものは機能します。

親シェルから継承されたもの、または新しいグループメンバーシップを非表示にするキャッシュされたものはありますか?

承認された回答:

子プロセスが作成されると、プロセスのユーザーIDとグループIDは親プロセスから継承されます。

そのため、ユーザーのグループを変更した場合(実際にはディスク上のどこかで構成ファイルを変更した場合)、プロセスは自動的にそれに気づき、グループIDを変更しません(ルート以外のプロセスにはその権限がありません)。

そして、bashを開始すると…まあ、bashを開始するだけで、特別なことは何も起こりません。親(グラフィカルシェルまたは別のbashなど)のグループIDを継承するだけです。

しかし、suを実行するかログインすると、すべての魔法が起こります。ログインしてユーザーIDとグループIDを変更できるかどうかを確認し(ちなみに、有効なルートIDが必要なシステムコールを使用します。そのため、suidビットが設定されています)、すべての子プロセスがこれらのIDを継承します。

>
Linux
  1. mount --bindを使用して、ISPConfig3サーバーのウェブサイトとメールディレクトリを新しいディレクトリに移動します

  2. mount --bindを使用して、ISPConfig3サーバーのウェブサイトとメールディレクトリを新しいディレクトリに移動します

  3. パスワードハッシュとその必要性

  1. 新しいデータベースを作成し、MySQL/MariaDBで使用します

  2. Command Grepを使用して検索しますか?

  3. SFTPとSCPを使用する

  1. Linuxのchgrpおよびnewgrpコマンドの概要

  2. ユーザーのログイン後に systemd サービスを開始し、ユーザーのログアウト前に停止する方法

  3. なぜ Linux は `/dev/cdrom` と `/media/cdrom` の両方を持つ必要があるのですか?