Я хотел ограничить доступ su для других, но не для моего пользователя развертывания.Итак, я следовал ниже шагов.Как вы можете видеть, su уже принадлежит deploy, но я до сих пор не могу получить к нему доступ.Мой файл Docker выглядит следующим образом:
FROM alpine:3.8
RUN set -ex \
&& addgroup -g 1000 deploy \
&& adduser -D -u 1000 -G deploy -s /bin/sh deploy \
&& chown root:deploy /bin/su \
&& chmod u+rws,g+rws,o-rwx /bin/su
USER deploy:nobody
Внутри контейнера, когда я выполняю следующие команды:
/var/www/ $ ls -al /bin/su
-rwsrws--- 1 root deploy 36560 May 19 11:19 /bin/su
/var/www/ $ su -h
sh: su: Permission denied
Примечание. Хотя я переключаюсь с root на развертывание, как показано ниже, он работает.
docker exec -it --user root alpine sh
/var/www/ # su deploy
/var/www/ $ su -h