ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] chroot
@ 2001-09-05  3:49 AT
  2001-09-05  9:51 ` cornet
  2001-09-05 12:17 ` Dmitry V. Levin
  0 siblings, 2 replies; 11+ messages in thread
From: AT @ 2001-09-05  3:49 UTC (permalink / raw)
  To: Linux-Mandrake RE

Здравствуйте.

Junior 1.0, возникла проблема:

[root@localhost root]# chroot /home/www
chroot: cannot execute /bin/bash: No such file or directory
[root@localhost root]# chroot /
[root@localhost /]# exit
[root@localhost root]#

[root@localhost root]# ls -al /bin/bash
-rwxr-xr-x    1 root     root       418844 Май 22 18:17 /bin/bash
[root@localhost root]# ls -al /home/www/bin/bash
-rwxr-xr-x    1 root     root       418844 Сен  5 02:51 /home/www/bin/bash
[root@localhost root]#

Обновил sh-utils, ничего не изменилось. Почему не работает chroot? В чем
может быть причина, как сделать диагностику?

__
AT



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot
  2001-09-05  3:49 [mdk-re] chroot AT
@ 2001-09-05  9:51 ` cornet
  2001-09-05 12:17 ` Dmitry V. Levin
  1 sibling, 0 replies; 11+ messages in thread
From: cornet @ 2001-09-05  9:51 UTC (permalink / raw)
  To: mandrake-russian

AT wrote:
> 
> Здравствуйте.
> 
> Junior 1.0, возникла проблема:
> 
> [root@localhost root]# chroot /home/www
> chroot: cannot execute /bin/bash: No such file or directory
> [root@localhost root]# chroot /
> [root@localhost /]# exit
> [root@localhost root]#
> 
> [root@localhost root]# ls -al /bin/bash
> -rwxr-xr-x    1 root     root       418844 Май 22 18:17 /bin/bash
> [root@localhost root]# ls -al /home/www/bin/bash
> -rwxr-xr-x    1 root     root       418844 Сен  5 02:51 /home/www/bin/bash
> [root@localhost root]#
> 
> Обновил sh-utils, ничего не изменилось. Почему не работает chroot? В чем
> может быть причина, как сделать диагностику?

Посмотрите любое приложение работающее через chroot.
В том каталоге, куда переназначается корень, всегда есть кроме
bin еще и lib etc sbin и в них лежат необходимые к исполнению
бинарники и конфиги.
Ну так создайте их, а потом уже туда chroot можно делать :-))
[cornet@smart cornet]$  rpm -qR `rpm -qf /bin/bash`
ld-linux.so.2
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libhistory.so.4.1
libreadline.so.4.1
libtermcap.so.2
Видите, ему наверняка эти либы нужны.
-- 
******** FIRE & STEEL ********



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot
  2001-09-05  3:49 [mdk-re] chroot AT
  2001-09-05  9:51 ` cornet
@ 2001-09-05 12:17 ` Dmitry V. Levin
  2001-09-05 17:26   ` AT
  1 sibling, 1 reply; 11+ messages in thread
From: Dmitry V. Levin @ 2001-09-05 12:17 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

[-- Attachment #1: Type: text/plain, Size: 655 bytes --]

On Wed, Sep 05, 2001 at 03:39:31AM +0400, AT wrote:
> [root@localhost root]# chroot /home/www
> chroot: cannot execute /bin/bash: No such file or directory

Проверьте, все ли необходимое есть в chroot'е; как минимум, там должны
быть библиотеки (см. ldd /home/www/bin/bash).


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot
  2001-09-05 12:17 ` Dmitry V. Levin
@ 2001-09-05 17:26   ` AT
  2001-09-05 18:45     ` AT
  2001-09-05 19:23     ` Dmitry V. Levin
  0 siblings, 2 replies; 11+ messages in thread
From: AT @ 2001-09-05 17:26 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

> Проверьте, все ли необходимое есть в chroot'е; как минимум, там должны
> быть библиотеки (см. ldd /home/www/bin/bash).

Спасибо, всё заработало!

[root@localhost root]# mkdir /home/www/lib
[root@localhost root]# cp `ldd /home/www/bin/bash | awk '{print $3 }'` /home/www/lib
[root@localhost root]# chroot /home/www
[I have no name!@localhost /]#

"I have no name" -- это наверное потому что нужно создать /etc/passwd...

Ещё вопрос: а можно вместо копирования файлов создавать в таких случаях
жесткие ссыкли? Это чем-нибудь чревато?


> +-------------------------------------------------------------------------+
> Dmitry V. Levin     mailto://ldv@alt-linux.org
> ALT Linux Team      http://www.altlinux.ru/
> Fandra Project      http://www.fandra.org/
> +-------------------------------------------------------------------------+
> UNIX is user friendly. It's just very selective about who its friends are.

__
AT



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot
  2001-09-05 17:26   ` AT
@ 2001-09-05 18:45     ` AT
  2001-09-05 19:23     ` Dmitry V. Levin
  1 sibling, 0 replies; 11+ messages in thread
From: AT @ 2001-09-05 18:45 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

Нет, всё равно проблемы.

[root@localhost root]# ls -al /home/www
total 32
drwxr-xr-x    8 at       at           4096 Сен  5 17:46 .
drwxr-xr-x    4 root     root         4096 Авг  6 22:33 ..
drwxr-xr-x    2 root     root         4096 Сен  5 17:57 bin
drwxr-xr-x    2 root     root         4096 Сен  5 17:19 etc
drwxr-xr-x    2 root     root         4096 Сен  5 17:59 lib
drwxr-xr-x    9 at       at           4096 Авг 21 14:41 sasta.ru
drwxr-xr-x    2 at       at           4096 Авг 24 15:27 test
drwxr-xr-x    3 root     root         4096 Сен  5 17:46 usr
[root@localhost root]# chroot /home/www /bin/ls -al
total 32
drwxr-xr-x    8 501      501          4096 Sep  5 13:46 .
drwxr-xr-x    8 501      501          4096 Sep  5 13:46 ..
drwxr-xr-x    2 0        0            4096 Sep  5 13:57 bin
drwxr-xr-x    2 0        0            4096 Sep  5 13:19 etc
drwxr-xr-x    2 0        0            4096 Sep  5 13:59 lib
drwxr-xr-x    9 501      501          4096 Aug 21 10:41 sasta.ru
drwxr-xr-x    2 501      501          4096 Aug 24 11:27 test
drwxr-xr-x    3 0        0            4096 Sep  5 13:46 usr
[root@localhost root]#

То есть не видно нормальных имен, только id. Кроме того, в одном из
приложений, которое использует chroot(2), не работает getpwnam(3)
(возвращает 0) и т.п. Из /etc все файлы скопировал и пока не изменял:

[root@localhost root]# chroot /home/www /bin/ls -al /etc
total 20
drwxr-xr-x    2 0        0            4096 Sep  5 13:19 .
drwxr-xr-x    8 501      501          4096 Sep  5 13:46 ..
-rw-r--r--    1 0        0             878 Sep  5 13:19 group
-rw-r--r--    1 0        0            1528 Sep  4 22:44 passwd
-rw-------    1 0        0            1048 Sep  5 13:18 shadow
[root@localhost root]#

В чем тут может быть дело?

> > Проверьте, все ли необходимое есть в chroot'е; как минимум, там должны
> > быть библиотеки (см. ldd /home/www/bin/bash).
> 
> Спасибо, всё заработало!

__
AT



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot
  2001-09-05 17:26   ` AT
  2001-09-05 18:45     ` AT
@ 2001-09-05 19:23     ` Dmitry V. Levin
  2001-09-05 20:33       ` [mdk-re] chroot solution AT
  1 sibling, 1 reply; 11+ messages in thread
From: Dmitry V. Levin @ 2001-09-05 19:23 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

[-- Attachment #1: Type: text/plain, Size: 1175 bytes --]

On Wed, Sep 05, 2001 at 05:03:53PM +0400, AT wrote:
> > Проверьте, все ли необходимое есть в chroot'е; как минимум, там должны
> > быть библиотеки (см. ldd /home/www/bin/bash).
> 
> Спасибо, всё заработало!
> 
> [root@localhost root]# mkdir /home/www/lib
> [root@localhost root]# cp `ldd /home/www/bin/bash | awk '{print $3 }'` /home/www/lib
> [root@localhost root]# chroot /home/www
> [I have no name!@localhost /]#
> 
> "I have no name" -- это наверное потому что нужно создать /etc/passwd...
> 
> Ещё вопрос: а можно вместо копирования файлов создавать в таких случаях
> жесткие ссыкли? Это чем-нибудь чревато?

Изменение файлов в chroot'е станет равносильно изменению файлов основной
системы.

Вообще, посмотрите пакет chrooted и использующие его пакеты, а точнее,
скрипты /etc/chroot.d/*.


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [mdk-re] chroot solution...
  2001-09-05 19:23     ` Dmitry V. Levin
@ 2001-09-05 20:33       ` AT
  2001-09-05 20:52         ` [mdk-re] " Alexander Bokovoy
  2001-09-05 21:32         ` [mdk-re] " Dmitry V. Levin
  0 siblings, 2 replies; 11+ messages in thread
From: AT @ 2001-09-05 20:33 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

Проблема с разрешением uid/gid в имена внезапно разрешилась при помощи
копирования /lib/libnss_files.so.2.

Причем, ни одна другая библеотека из /home/www/lib/* или бинарик к ней не
привязаны. Почему такое происходит? Как определить все библиотеки, которые
не видно через ldd, но которые нужны для работы?

> > Ещё вопрос: а можно вместо копирования файлов создавать в таких случаях
> > жесткие ссыкли? Это чем-нибудь чревато?
> 
> Изменение файлов в chroot'е станет равносильно изменению файлов основной
> системы.

Понятно. Кто-нибудь может получить root и отредактировать libc.so.6 в
пределах всей системы. То есть нельзя.

Тогда другой вопрос: насколько выгоднее делать статическую линковку
программ, которые работают под chroot?

> Вообще, посмотрите пакет chrooted и использующие его пакеты, а точнее,
> скрипты /etc/chroot.d/*.

Да, хорошая идея.


__
AT



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [mdk-re] Re: chroot solution...
  2001-09-05 20:33       ` [mdk-re] chroot solution AT
@ 2001-09-05 20:52         ` Alexander Bokovoy
  2001-09-05 21:32         ` [mdk-re] " Dmitry V. Levin
  1 sibling, 0 replies; 11+ messages in thread
From: Alexander Bokovoy @ 2001-09-05 20:52 UTC (permalink / raw)
  To: mandrake-russian

On Wed, Sep 05, 2001 at 08:32:31PM +0400, AT wrote:
> 
> Проблема с разрешением uid/gid в имена внезапно разрешилась при помощи
> копирования /lib/libnss_files.so.2.
> 
> Причем, ни одна другая библеотека из /home/www/lib/* или бинарик к ней не
> привязаны. Почему такое происходит? Как определить все библиотеки, которые
> не видно через ldd, но которые нужны для работы?
info libc 'Name Service Switch'

> > Изменение файлов в chroot'е станет равносильно изменению файлов основной
> > системы.
> 
> Понятно. Кто-нибудь может получить root и отредактировать libc.so.6 в
> пределах всей системы. То есть нельзя.
> 
> Тогда другой вопрос: насколько выгоднее делать статическую линковку
> программ, которые работают под chroot?
Не всегда выгодно. ВЫгоднее не делять hard links.

-- 
/ Alexander Bokovoy
$ cat /proc/identity >~/.signature
  `Senior software developer and analyst for SaM-Solutions Ltd.`
---
You can't hug a child with nuclear arms.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot solution...
  2001-09-05 20:33       ` [mdk-re] chroot solution AT
  2001-09-05 20:52         ` [mdk-re] " Alexander Bokovoy
@ 2001-09-05 21:32         ` Dmitry V. Levin
  2001-09-05 23:58           ` [mdk-re] chroot solution=>escape from chroot cornet
  2001-09-06  2:28           ` [mdk-re] chroot solution AT
  1 sibling, 2 replies; 11+ messages in thread
From: Dmitry V. Levin @ 2001-09-05 21:32 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

[-- Attachment #1: Type: text/plain, Size: 1906 bytes --]

On Wed, Sep 05, 2001 at 08:32:31PM +0400, AT wrote:
> 
> Проблема с разрешением uid/gid в имена внезапно разрешилась при помощи
> копирования /lib/libnss_files.so.2.
> 
> Причем, ни одна другая библеотека из /home/www/lib/* или бинарик к ней не
> привязаны. Почему такое происходит? Как определить все библиотеки, которые
> не видно через ldd, но которые нужны для работы?

Есть библиотеки, которые подключаются не при старте, а позднее, во время
работы программы. Например, resolver, NSS.

> > > Ещё вопрос: а можно вместо копирования файлов создавать в таких случаях
> > > жесткие ссыкли? Это чем-нибудь чревато?
> > 
> > Изменение файлов в chroot'е станет равносильно изменению файлов основной
> > системы.
> 
> Понятно. Кто-нибудь может получить root и отредактировать libc.so.6 в
> пределах всей системы. То есть нельзя.

Если в chroot'е нет рута, то можно.
Если в chroot'е есть root, то он, вообще говоря, может оттуда выйти.
Так что не все так однозначно.

> Тогда другой вопрос: насколько выгоднее делать статическую линковку
> программ, которые работают под chroot?

Это зависит.
Статическая линковка осложняет процедуру обновления зависимых пакетов при
обновлении библиотек, и поэтому малоперспективна для применения в
дистрибутивах.

> > Вообще, посмотрите пакет chrooted и использующие его пакеты, а точнее,
> > скрипты /etc/chroot.d/*.
> 
> Да, хорошая идея.

Кроме того, могу предложить прочесть статью, где, в частности, обсуждается
и эта тема: http://altlinux.ru/index.php?module=articles&action=show&artid=5


Regards,
	Dmitry

+-------------------------------------------------------------------------+
Dmitry V. Levin     mailto://ldv@alt-linux.org
ALT Linux Team      http://www.altlinux.ru/
Fandra Project      http://www.fandra.org/
+-------------------------------------------------------------------------+
UNIX is user friendly. It's just very selective about who its friends are.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [mdk-re] chroot solution=>escape from chroot
  2001-09-05 21:32         ` [mdk-re] " Dmitry V. Levin
@ 2001-09-05 23:58           ` cornet
  2001-09-06  2:28           ` [mdk-re] chroot solution AT
  1 sibling, 0 replies; 11+ messages in thread
From: cornet @ 2001-09-05 23:58 UTC (permalink / raw)
  To: mandrake-russian

"Dmitry V. Levin" wrote:

skip.
> Если в chroot'е нет рута, то можно.
> Если в chroot'е есть root, то он, вообще говоря, может оттуда выйти.

Oops!! 
А _КАК_ root'ом можно выйти из под chroot'а ????!!!!

> Так что не все так однозначно.

skip.
-- 
******** FIRE & STEEL ********




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [mdk-re] chroot solution...
  2001-09-05 21:32         ` [mdk-re] " Dmitry V. Levin
  2001-09-05 23:58           ` [mdk-re] chroot solution=>escape from chroot cornet
@ 2001-09-06  2:28           ` AT
  1 sibling, 0 replies; 11+ messages in thread
From: AT @ 2001-09-06  2:28 UTC (permalink / raw)
  To: ALT Linux Spring mailing list

> Есть библиотеки, которые подключаются не при старте, а позднее, во время
> работы программы. Например, resolver, NSS.

Тогда возникает вопрос. Вот есть какая-нибудь программа:

#include <stdio.h>
#include <unistd.h>

int main() {
	...
	rv = crypt(guess, good);
	...
	if (chroot("/home/www"))
		exit(0);
	else {
		...
		rv = crypt(guess, good);
		...
	}
}

И динамически линкуется:

$ gcc prog.c -o prog -lcrypt

Из какой библиотеки будет вызвана crypt(3) во втором случае? Из той, что в
/lib, или из /home/www/lib?


> Если в chroot'е нет рута, то можно.

Здесь хотелось бы подробнее: что практически означает "в chroot'е нет
рута"? В локальном /etc/passwd нету root'а, владелец процессов под
chroot'ом -- не root...


> Кроме того, могу предложить прочесть статью, где, в частности, обсуждается
> и эта тема: http://altlinux.ru/index.php?module=articles&action=show&artid=5

Спасибо, хорошая статья. Кое-что проясняет. Наиболее интересен поздний
chroot без wrapper'а. То есть программа должна запуститься, прочитать
конфигурационные файлы и сама сделать chroot/setuid. Интерес же, конечно,
в том, что в chroot'е вообще не будет видно ни бинариков, ни
конфигурационных файлов (пример: хакер проник в chroot через www и даже не
может узнать, какой httpd запущен).

При такой модели можно организовать "отсутствие рута в chroot'е"?

Если бы ещё как-нибудь можно было вынести библиотеки (1-ый вопрос)...


PS: в этом листе можно задавать вопросы по RSBAC?

> +-------------------------------------------------------------------------+
> Dmitry V. Levin     mailto://ldv@alt-linux.org
> ALT Linux Team      http://www.altlinux.ru/
> Fandra Project      http://www.fandra.org/
> +-------------------------------------------------------------------------+
> UNIX is user friendly. It's just very selective about who its friends are.

__
AT



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2001-09-06  2:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-05  3:49 [mdk-re] chroot AT
2001-09-05  9:51 ` cornet
2001-09-05 12:17 ` Dmitry V. Levin
2001-09-05 17:26   ` AT
2001-09-05 18:45     ` AT
2001-09-05 19:23     ` Dmitry V. Levin
2001-09-05 20:33       ` [mdk-re] chroot solution AT
2001-09-05 20:52         ` [mdk-re] " Alexander Bokovoy
2001-09-05 21:32         ` [mdk-re] " Dmitry V. Levin
2001-09-05 23:58           ` [mdk-re] chroot solution=>escape from chroot cornet
2001-09-06  2:28           ` [mdk-re] chroot solution AT

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/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 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git