ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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