[devel] Понижение прав с root не работает в alt-p8-rootfs-systemd

Михаил Гордеев obirvalger на altlinux.org
Сб Апр 18 21:10:36 MSK 2020


Вероятно проблема именно в лимитах, чтобы их отключить можно сделать пустым
файл /etc/security/limits.d/50-defaults.conf в контейнере.

--
Михаил Гордеев


On Sat, Apr 18, 2020 at 8:19 PM Vladimir D. Seleznev <vseleznv на altlinux.org>
wrote:

> On Sat, Apr 18, 2020 at 09:12:53PM +0400, Ivan A. Melnikov wrote:
> > On Sat, Apr 18, 2020 at 06:37:55PM +0300, Mikhail Novosyolov wrote:
> > > 18.04.2020 17:23, Alexey Sheplyakov пишет:
> > > > On Sat, Apr 18, 2020 at 05:12:52PM +0300, Mikhail Novosyolov wrote:
> > > >> Сделал chroot на основе
> http://ftp.altlinux.org/pub/distributions/ALTLinux/images/p8/cloud/alt-p8-rootfs-systemd-x86_64.tar.xz
> > > >>
> > > >> Создал пользователя (useradd --uid 1000 user)
> > > >>
> > > >> но не могу войти под этим пользователем:
> > > >>
> > > >> [root на pay2 /]# su - user
> > > >> su: exec failed
> > > >>
> > > >> [root на pay2 /]# strace -f su - user -c /bin/bash 2>&1 | grep
> bin/bash
> > > >> execve("/bin/su", ["su", "-", "user", "-c", "/bin/bash"],
> 0x7ffccf65b4a8 /* 30 vars */) = 0
> > > >> [pid 37104] execve("/bin/bash", ["-bash", "-c", "/bin/bash"],
> 0x12fa9a0 /* 17 vars */) = -1 EAGAIN (Ресурс временно недоступен)
> > > >>
> > > >> [root на pay2 /]# sudo -u user -i
> > > >> -bash: fork: Ресурс временно недоступен
> > > >> -bash-3.2$ ls
> > > >> -bash: fork: Ресурс временно недоступен
> > > >>
> > > >> Как такое может быть?!
> > > > ulimit -a
> > > >
> > > > Лимит на число процессов (на самом деле -- потоков) зачем-то
> выставлен в 512.
> > > > Если у Вас в хост системе уже есть пользователь с UID 1000, и,
> например,
> > > > запущен firefox с 100+ вкладок, desktop environment, и т.п., то
> шансов
> > > > вписаться этот жлобский^W скудный лимит крайне мало. Пример.
> > > >
> > > > $ ps -T -u `whoami` |wc -l
> > > > 806
> > > >
> > > > Хранятся эти настройки в /etc/security/limits.conf (и еще в каком-то
> месте).
> > > Не. Дело не в ulimit.
> >
> > Если execve вернул EAGAIN, то скорее всего дело именно в нём.
> > В том месте, где у Вас ls не запускается, посмотрите на
> > ulimit -a, это builtin, ему вроде форк не нужен.
> >
> > > В соседнем контейнере с запуском от UID=1000 нет проблем.
> >
> > Так может он всё и исчерпал?
>
> Очень удобно, что limits не виртуализируется.
>
> --
>    WBR,
>    Vladimir D. Seleznev
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20200418/db79750d/attachment.html>


Подробная информация о списке рассылки Devel