[Comm] mc в chroot

Konstantin S. Uvarin =?iso-8859-1?q?khedin_=CE=C1_mail=2Eru?=
Чт Июн 21 14:39:17 MSD 2007


Hello Serge,

Thursday, June 21, 2007, 1:55:21 PM, you wrote:

> Здравствуйте!
> Пользователь удаленно логинится на сервер. Попадает в chroot окружение
> Запускает mc - все ОК. Когда нажимает ctrl+O появляется ошибка
>  mc
> subshell.c: couldn't open master side of pty
> pty_open_master: No such file or directory

> что еще я не добавил в chroot для mc?

Не уверен, но не может ли быть так, что МС пытается открыть файл
устройства псевдотерминала (/dev/pty_smth)?

А то, что в чруте нет /dev/, так это для безопасности.

Попробовал у себя, без чрута, но со strace.

-bash$ strace mc 2>mc.log
-bash$ cat mc.log | grep /dev/
open("/dev/tty", O_RDWR)                = 3
open("/dev/ptmx", O_RDWR)               = 4
statfs("/dev/pts", {f_type="DEVPTS_SUPER_MAGIC", f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
stat64("/dev/pts/6", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 6), ...}) = 0
statfs("/dev/pts/6", {f_type="DEVPTS_SUPER_MAGIC", f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
stat64("/dev/pts/6", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 6), ...}) = 0
open("/dev/pts/6", O_RDWR|O_LARGEFILE)  = 5
read(8, "/dev/sda2 / ext2 rw 0 0\nproc /pr"..., 4096) = 631
readlink("/proc/self/fd/0", "/dev/pts/5", 511) = 10
readlink("/proc/self/fd/0", "/dev/pts/5", 511) = 10
readlink("/proc/self/fd/0", "/dev/pts/5", 511) = 10
readlink("/proc/self/fd/0", "/dev/pts/5", 511) = 10

readlink -- это значит, "посмотреть, на что ссылается".
/proc/self/0 -- стандартный ввод текущего процесса
пытается хитро его открыть, видимо.

Похоже на правду, но возможно я и не прав.

-- 
Best regards,
 Konstantin                            mailto:khedin на mail.ru




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