UTS Namespace
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
UTS(UNIX Time-Sharing System)名前空間は、2つのシステム識別子の隔離を提供するLinuxカーネルの機能です:ホスト名とNIS(Network Information Service)ドメイン名。この隔離により、各UTS名前空間は独自のホスト名とNISドメイン名を持つことができ、特に各コンテナが独自のホスト名を持つ別々のシステムとして表示されるべきコンテナ化シナリオで便利です。
新しいUTS名前空間が作成されると、親名前空間からホスト名とNISドメイン名のコピーで始まります。これは、作成時に新しい名前空間が親と同じ識別子を共有することを意味します。ただし、名前空間内でのホスト名やNISドメイン名へのその後の変更は、他の名前空間には影響しません。
UTS名前空間内のプロセスは、sethostname()
およびsetdomainname()
システムコールを使用して、それぞれホスト名とNISドメイン名を変更することができます。これらの変更は名前空間にローカルであり、他の名前空間やホストシステムには影響しません。
プロセスは、setns()
システムコールを使用して名前空間間を移動したり、unshare()
またはclone()
システムコールをCLONE_NEWUTS
フラグと共に使用して新しい名前空間を作成したりできます。プロセスが新しい名前空間に移動するか、新しい名前空間を作成すると、その名前空間に関連付けられたホスト名とNISドメイン名を使用し始めます。
新しいインスタンスの /proc
ファイルシステムを --mount-proc
パラメータを使用してマウントすることで、新しいマウントネームスペースがそのネームスペースに特有のプロセス情報の正確で孤立したビューを持つことを保証します。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)