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

Ivan A. Melnikov iv на altlinux.org
Сб Апр 18 20:12:53 MSK 2020


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 нет проблем.

Так может он всё и исчерпал?

-- 
  wbr,
    iv m.


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