指定された数値uid、gid、およびグループを使用してシェルを起動するには、どのコマンド(配布ストアで利用可能)を使用する必要がありますか?通常、su
ルートから別のユーザーに変更するために使用されますが、外部ファイルシステム、名前空間、およびDockerコンテナを使用するときに存在しない可能性がある名前でグループを見つけようとします。
私はnsswitchやnsswitchを必要とせずにsetgroups(2)
、、、および、setgid(2)
しかしsetuid(2)
実行する簡単なアプリケーションでありたいです。これらのプログラムをCで実装するのは簡単ですが、このユースケースでは標準および配布可能なプログラムを使用できますか?execve(2)
/etc/passwd