[devel] Как правильно определить, что мы внутри Hasher?
Dmitry V. Levin
ldv на altlinux.org
Вт Авг 18 02:57:35 MSK 2020
On Tue, Aug 18, 2020 at 02:19:12AM +0300, Leonid Krivoshein wrote:
> 18.08.2020 1:59, Alexey V. Vissarionov пишет:
> > On 2020-08-18 01:51:59 +0300, Leonid Krivoshein wrote:
> >
> > > Возможно вопрос совсем простой, но что-то не нахожу сходу
> > > ответа.
> > > $ hsh-run --rooter -- losetup -f 2>&1 |grep "No such device"
> > > losetup: cannot find an unused loop device: No such device
> > > Есть ли более правильный способ определения того, что это root
> > > в хэшере, а не настоящий?
> >
> > Я бы через сетевую подсистему тестировал... там, насколько помню,
> > unshare() делается с CLONE_NEWNET.
> >
> > Попробуй hsh-run --rooter -- ip rou get 0
А если share_network=yes?
> Нашёл ещё такой вариант:
>
> # chroot / /bin/sh -c exit; echo $?
> 0
>
> $ hsh-run --rooter -- chroot / /bin/sh -c exit; echo $?
> chroot: cannot change root directory to '/': Operation not permitted
> 125
Так проще:
$ hsh-run --root -- chroot / /bin/true
> Но вообще интересно, как правильно...
Для того, чтобы выяснить, достаточно ли настоящий root, протестируйте
выполнение той привилегированной операции, которая вам нужна.
--
ldv
Подробная информация о списке рассылки Devel