ベースOSでStorageGRIDサービスがランダムなユーザ名に割り当てられる理由
環境
StorageGRID
回答
この動作は、LinuxとDockerの間で発生します。コンテナ内(この場合はStorageGRID)では、サービスはコンテナ内でのみ認識されるユーザ名に関連付けられます。SAIDコンテナはUIDにも関連付けられています。
ベースOSでは、コンテナ内のユーザーは不明ですが、サービスの同じIDが使用されます。ただし、DockerがベースOS内でUIDを検索すると、プルされます。
その特定のUIDに関連付けられているすべてのユーザ。例:
コンテナの内部を見ると、
adc サービスはadc-user に関連付けられています。root@sg6060-n1:~ # ps aux | grep adcroot 33633 0.0 0.0 2248 496 ? S Mar30 0:00 runsv /etc/sv/adcadc-user 33635 25.9 0.0 5869460 190620 ? Sl Mar30 266:33 /usr/local/adc/adcroot 927487 0.0 0.0 6372 708 pts/0 S+ 15:28 0:00 grep --color=auto adcadc-user のIDを検索すると、コンテナ内でそのユーザに関連付けられているUIDが1001 になります。root@sg6060-n1:~ # id adc-useruid=1001(adc-user) gid=1000(bycast) groups=1000(bycast)ベースOSに切り替えて
adcgrepすると、adcユーザ1001 によって実行されていることが表示されます。root@SG:~ # ps aux | grep adcroot 45444 0.0 0.0 2248 496 ? S Mar30 0:00 runsv /etc/sv/adc1001 45446 25.9 0.0 5869460 190520 ? Sl Mar30 266:39 /usr/local/adc/adcroot 1201545 0.0 0.0 3240 712 pts/0 S+ 15:29 0:00 grep --color=auto adcこの場合 、ベースOSではUID
1001 にユーザが関連付けられていないため、1001 ユーザとして表示されます。ただし、ベースOS側でこのUIDに関連付けられているユーザー名( user234 など)があれば、user234 が表示されます。これは、Base OSがコンテナ内で利用可能なユーザを認識しないため、 問題のUIDに関連付けられているユーザを一覧表示するためです。追加情報
コンテナ内のUIDは、次のように
/etc/passwd で確認できます(一般的なユーザのリスト)。UIDは「x 」のあとの最初の数字です。root@sg6060-n1:~ # cat /etc/passwd | grep /usr/localadc-user:x:1001:1000::/usr/local/adc:/bin/bashldr-user:x:1002:1000::/usr/local/ldr:/bin/bashcms-user:x:1003:1000::/usr/local/cms:/bin/bashnms-user:x:1004:1000::/usr/local/nms:/bin/bashams-user:x:1005:1000::/usr/local/ams:/bin/bashssm-user:x:1006:1000::/usr/local/ssm:/bin/bashclb-user:x:1007:1000::/usr/local/clb:/bin/bashcmn-user:x:1008:1000::/usr/local/cmn:/bin/basharc-user:x:1009:1000::/usr/local/arc:/bin/bashmgr-user:x:1011:1000::/usr/local/servermanager:/bin/bashmgr-pass:x:1012:1000::/usr/local/servermanager:/bin/falsedds-user:x:1013:1000::/usr/local/dds:/bin/bashcts-user:x:1016:1000::/usr/local/cts:/bin/bashjaeger-user:x:1025:1000::/usr/local/jaeger:/bin/bashlambda-user:x:1026:1000::/usr/local/lambda:/bin/bashgpt-user:x:1500:1500::/usr/local/gpt:/bin/falseams-client:x:60000:65534::/usr/local/ams:/bin/b