GIDは実際に何を意味しますか?
私はGoogleを試しました。linux.about.com説明する:
プロセスのグループ識別番号。有効なグループ番号は、ファイルのフィールド
/etc/group
とGIDフィールドに提供されます/etc/passwd
。プロセスが開始されると、そのGIDは親プロセスのGIDに設定されます。
- しかし、これは何を意味しますか?
フォルダに対する私の権限は現在次のとおりです。0755
所有者のUIDを設定すると4755
グループのGIDを設定すると2755
他人のために固定ビットを設定すると1755
- これらの権限を設定することは重要ですか?
ベストアンサー1
すべてのファイルと同様に、UNIXシリーズシステムのすべてのプロセスには、所有者(実際のユーザーまたはシステムの「医師ユーザー」である可能性があるユーザー)とグループ所有者がdaemon
あります。ユーザーファイルのグループ所有者は通常そのユーザーのデフォルトグループであり、同様の方法で開始するすべてのプロセスは通常、ユーザーIDとデフォルトグループIDによって所有されます。bin
man
ただし、特定のコマンドを実行するには高い権限が必要な場合がありますが、完全な管理権限を付与することは望ましくありません。たとえば、passwd
コマンドがパスワードを更新するには、システムのシャドウパスワードファイルにアクセスする必要があります。明らかに、すべてのユーザーにパスワードをリセットできるようにroot権限を与えたくありません。これは間違いなく混乱を招くでしょう!代わりに、特定のタスクを実行するためにユーザーに高い権限を一時的に付与する別の方法が必要です。これがSETUIDとSETGIDビットの目的です。これは、表示されたコマンドの実行中に一時的にユーザー権限を向上させるようにカーネルに指示する方法です。 SETUIDバイナリはroot
(通常)実行可能ファイルの所有者の権限で実行されますが、SETGIDバイナリは実行可能ファイルのグループ所有者のグループ権限で実行されます。 SETUIDコマンドpasswd
の場合、root
通常のユーザーはroot権限で実行して、制御され予測可能な方法でパスワードファイルの内容に直接影響を与える可能性があります。 UNIXシリーズシステム(、、、など)SETUID
には他の多くのコマンドがあり、すべて正しく機能するには高い権限が必要です。ログファイルなどへのアクセスを許可するために、カーネルがプロセスのGIDを一時的に変更するプログラムもあります。これがそのようなユーティリティの1つです。chsh
screen
ping
su
SETGID
sendmail
そのsticky bit
目的は少し異なります。最も一般的な用途は、ファイルを作成したユーザーアカウントのみがそのファイルを削除できるようにすることです。/tmp
目次を考えてみてください。非常に自由な権限を持っているので、誰でもファイルを生成できます。これは良い機能であり、ユーザープロセスが一時ファイル(などを生成しscreen
てssh
ステータス情報を/tmp
)に保存できるようにします。ユーザーの一時ファイルを保護するために、/tmp
私のファイルは自分だけを削除でき、自分のファイルは自分だけを削除できるように固定ビットが設定されています。もちろん、ルートは何でもできますが、システム管理者が正気ではないことを望む必要があります!
通常のファイル(つまり実行不可能なファイル)の場合、SETUID / SETGIDビットの設定はほとんど意味がありません。一部のシステムのディレクトリにあるSETGIDは、そのディレクトリに作成された新しいファイルのデフォルトグループの所有者を制御します。