su: В доступе отказано после удаления чтения, бит выполнения от других - PullRequest
0 голосов
/ 16 ноября 2018

Я хотел ограничить доступ 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 

1 Ответ

0 голосов
/ 16 ноября 2018

Боже мой, я сам разобрался.Мой dockerfile запускается как USER deploy:nobody, поэтому, где бы я ни запускал docker exec -it alpine sh, контейнер запускается как группа nobody, но / bin / su разрешен только для root: deploy.:)

...