Hasher/tmux

Материал из ALT Linux Wiki
< Hasher
Версия от 00:09, 29 марта 2023; Vt (обсуждение | вклад) (Новая страница: «= Использование tmux в Hasher = == 1. Общая настройка Hasher == * В {{path|/etc/hasher-priv/system}} нужно добавить <tt>/dev/pts</tt> в <tt>allowed_mountpoints=</tt>, например: allowed_mountpoints=/proc,/dev/shm,/dev/pts * В {{path|~/.hasher/config}} добавить <tt>/dev/pts</tt> в <tt>known_mountpoints=</tt>, например: known_mountpoints=/proc,/dev/kvm,/dev/pts * Ппри запуск...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Использование tmux в Hasher

1. Общая настройка Hasher

  • В /etc/hasher-priv/system нужно добавить /dev/pts в allowed_mountpoints=, например:
 allowed_mountpoints=/proc,/dev/shm,/dev/pts
  • В ~/.hasher/config добавить /dev/pts в known_mountpoints=, например:
 known_mountpoints=/proc,/dev/kvm,/dev/pts
  • Ппри запуске hsh-shell нужно передать /dev/pts в ключ --mountpoints=, пример:
 $ hsh-shell --mountpoints=/proc,/dev/kvm,/dev/pts

2. Настроить Hasher сессию

 ~$ hsh --ini
 ~$ hsh-install tmux

Нужно добавить пользователя которому будет разрешено присоединяться к tmux серверу.

 ~$ hsh-run --rooter -- /bin/sh -c "echo $USER:x:$UID:$UID::/usr/src:/bin/bash >> /etc/passwd"
 ~$ hsh-run --rooter -- /bin/sh -c "echo server-access -aw $USER >> /etc/tmux.conf"

3. Запуск tmux сервера

Первый запуск tmux запустит tmux server и первую сессию в нём. В ней нужно будет установить разрешающие премишены на управляющий сокет. В дальнейшем вы оставляете эту сессию запущенной. Из неё нельзя выходить иначе tmux будет убит Hasher'ом.

 ~$ hsh-shell --mountpoints=/dev/pts
 builder@i586:/.in$ tmux -S /.out/tmux
 builder@i586:/.in$ chmod 660 /.out/tmux

4. Присоединение к tmux извне Hasher

Допустим workdir находится в ~/hasher. При подключении к tmux внутрь Hasher нужно указать пусть к управляющему сокету, который изнутри Hasher имеет имя /.out/tmux, а снаружи ~/hasher/chroot/.out/tmux.

Например, проверяем, что доступ есть и сессии доступны:

 ~$ tmux -S ~/hasher/chroot/.out/tmux ls
 0: 1 windows (created Tue Mar 28 23:45:10 2023) (attached)

Присоединение и создание новой сессии внутри tmux будет так:

 ~$ tmux -S ~/hasher/chroot/.out/tmux new

Таким образом можно создавать много сессий работающих в одном Hasher окружении. Главное не выходить из первой сессии где tmux был запущен в hsh-shell.

Примечание: Переключение между сессиями ^B + ( и ^B + ). Остальной функционал см. в документации по tmux.


Документация по tmux