6cf5928ff1
The reason we are doing drop root is so that a network exposed software component (i.e. glance) cannot be used to affect the immutability of the container which it runs in. I have tried several different approaches and this is the only approach which puts glance in PID=1 while ensuring no files may be written by the glance process in the container image except for the log files. Change-Id: Ifd3c8c361b78d0e4791dade3afa6435290407c41 Partially-Implements: blueprint drop-root
17 lines
771 B
Plaintext
17 lines
771 B
Plaintext
# The idea here is a container service adds their UID to the kolla group
|
|
# via usermod -a -G kolla <uid>. Then the kolla_start may run
|
|
# kolla_set_configs via sudo as the root user which is necessary to protect
|
|
# the immutability of the container
|
|
|
|
# anyone in the kolla group may sudo -E (set the environment)
|
|
Defaults: %kolla setenv
|
|
|
|
# root may run any commands via sudo as the network seervice user. This is
|
|
# neededfor database migrations of existing services which have not been
|
|
# converted to run as a non-root user, but instead do that via sudo -E glance
|
|
root ALL=(ALL) ALL
|
|
|
|
# anyone in the kolla group may run /usr/local/bin/kolla_set_configs as the
|
|
# root user via sudo without password confirmation
|
|
%kolla ALL=(root) NOPASSWD: /usr/local/bin/kolla_set_configs
|