* [devel] Как правильно определить, что мы внутри Hasher?
@ 2020-08-17 22:51 Leonid Krivoshein
2020-08-17 22:59 ` Alexey V. Vissarionov
0 siblings, 1 reply; 5+ messages in thread
From: Leonid Krivoshein @ 2020-08-17 22:51 UTC (permalink / raw)
To: ALT Linux Team development discussions
Возможно вопрос совсем простой, но что-то не нахожу сходу ответа.
$ hsh-run --rooter -- losetup -f 2>&1 |grep "No such device"
losetup: cannot find an unused loop device: No such device
Есть ли более правильный способ определения того, что это root в хэшере,
а не настоящий?
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [devel] Как правильно определить, что мы внутри Hasher?
2020-08-17 22:51 [devel] Как правильно определить, что мы внутри Hasher? Leonid Krivoshein
@ 2020-08-17 22:59 ` Alexey V. Vissarionov
2020-08-17 23:19 ` Leonid Krivoshein
0 siblings, 1 reply; 5+ messages in thread
From: Alexey V. Vissarionov @ 2020-08-17 22:59 UTC (permalink / raw)
To: ALT Linux Team development discussions
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
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [devel] Как правильно определить, что мы внутри Hasher?
2020-08-17 22:59 ` Alexey V. Vissarionov
@ 2020-08-17 23:19 ` Leonid Krivoshein
2020-08-17 23:57 ` Dmitry V. Levin
0 siblings, 1 reply; 5+ messages in thread
From: Leonid Krivoshein @ 2020-08-17 23:19 UTC (permalink / raw)
To: devel
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
Нашёл ещё такой вариант:
# 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
Но вообще интересно, как правильно...
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [devel] Как правильно определить, что мы внутри Hasher?
2020-08-17 23:19 ` Leonid Krivoshein
@ 2020-08-17 23:57 ` Dmitry V. Levin
2020-08-18 0:13 ` Leonid Krivoshein
0 siblings, 1 reply; 5+ messages in thread
From: Dmitry V. Levin @ 2020-08-17 23:57 UTC (permalink / raw)
To: ALT Devel discussion list
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [devel] Как правильно определить, что мы внутри Hasher?
2020-08-17 23:57 ` Dmitry V. Levin
@ 2020-08-18 0:13 ` Leonid Krivoshein
0 siblings, 0 replies; 5+ messages in thread
From: Leonid Krivoshein @ 2020-08-18 0:13 UTC (permalink / raw)
To: devel
18.08.2020 2:57, Dmitry V. Levin пишет:
> On Tue, Aug 18, 2020 at 02:19:12AM +0300, Leonid Krivoshein wrote:
> [...]
>> Нашёл ещё такой вариант:
>>
>> # 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, протестируйте
> выполнение той привилегированной операции, которая вам нужна.
По условиям задачи нужен либо fakeroot, либо rooter в хэшере.
А в случае настоящего root'а лучше сразу выходить или хотя бы ругаться.))
Так что если "chroot" в минимальном хэшере есть, это вполне годится.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-18 0:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 22:51 [devel] Как правильно определить, что мы внутри Hasher? Leonid Krivoshein
2020-08-17 22:59 ` Alexey V. Vissarionov
2020-08-17 23:19 ` Leonid Krivoshein
2020-08-17 23:57 ` Dmitry V. Levin
2020-08-18 0:13 ` Leonid Krivoshein
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git