Создание chroot для враждебного пользователя
Потребовалось создать рабочее окружение для сборки бинарей фрипаскалем, причём пользователь практически незнакомый и учитывая фрипаскаль враждебный.
Если видите ещё какие то меры предосторожности которые я не учёл, кроме того, что UID пользователя в chroot не совпал с UID пользователя в целевой системе, ткните меня мордой
По-этому нельзя дать простой shell, а нужно создать как можно более изолированную и враждебную среду. В принципе вполне бы подошла виртуальная машина, но в его задачах стоит сборка под AMD64, чего на моём компьютере с Ubuntu 8.04.2 i364 не получить, потому решил подвергнуть компьютер супруги риску, создать там специальных LVM раздел для chroot и там настроить требуемую среду. Итак:
# отмонтирую действую фс на LVM
umount /media/media2
# уменьшаю размер ФС до 200Gb
resize2fs /dev/badvg/media2 200G
# проверяю ФС
e2fsck -f /dev/badvg/media2
# монтирую действую фс назад
mount /media/media2
# уменьшаю раздел LVM на 1Gb
lvreduce -L-1G /dev/badvg/media2
# Создаю новый раздел заняв всё доступное место, 1Gb, назвал его chroot
lvcreate -l +100%FREE -n chroot badvg
# Создаю файловую систему
mkfs.ext3 /dev/badvg/chroot
# Дал файловой системе метку
e2label /dev/badvg/chroot chroot
# Создаю каталог и монтирую в него ФС для chroot, включаем опцию для управления квотами, в принципе квоты не нужны, ведь выделен отдельный раздел, но пусть будут
mkdir -p /media/media2/chroot && mount /dev/badvg/chroot /media/media2/chroot -o usrquota
# Устанавливаю переменную окружения указывающую где искать каталог для chroot
export CHROOTDIR=/media/media2/chroot/
# Создаю и первоначально настраиваю chroot с помощью debootstrap
debootstrap --arch amd64 lenny $CHROOTDIR http://mirror.e-kirov.ru/debian-lenny
# Смотрим что получилось, да там целая система :)
ls /media/media2/chroot/
bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var
# Подлючаем виртуальные ФС нужные для работы
mount -t proc proc $CHROOTDIR/proc
mount -t devpts devpts $CHROOTDIR/dev/pts
# Устанавливаем нужный софт, locales - чтобы по русски date работала
chroot $CHROOTDIR aptitude install nano vim-full mc locales binutils ssh
# Настраиваем локаль
chroot $CHROOTDIR dpkg-reconfigure locales
[*] ru_RU.UTF-8 UTF-8
ru_RU.UTF-8
# Правим настройки ssh, нам нужно поднять его на нестандартном порту, пусть будет 2200
sed -i 's/Port 22/Port 2200/' /media/media2/chroot/etc/ssh/sshd_config
# Создаём файл запуска ssh в chroot
echo '
export CHROOTDIR=/media/media2/chroot # change
mount -t devpts devpts $CHROOTDIR/dev/pts
mount -t proc proc $CHROOTDIR/proc
chroot $CHROOTDIR /etc/init.d/ssh start
' > /etc/init.d/chroot-ssh-init.sh
chmod u+x /etc/init.d/chroot-ssh-init.sh
# Устанавливаем пароль root для входа через ssh в chroot
chroot $CHROOTDIR passwd
# Запускаем ssh в chroot
/etc/init.d/chroot-ssh-init.sh
Starting OpenBSD Secure Shell server: sshd.
# Логинимся в chroot
ssh katya.xxx -l root -p 2200
root@katya.xxx's password:
# создаём практически самого бесправного юзера, у него только то и есть как доступ к /home/skal
adduser skal
# Вычишаем базу накачанных пакетов, чтобы оставить побольше места
chroot $CHROOTDIR aptitude clean
# Теперь осталось пробросить 2200 порт наружу и chroot практически готов
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 2200 -j DNAT --to-destination 192.168.80.77:2200
iptables -A FORWARD -i eth0 -d 192.168.80.77 -p tcp --dport 2200 -j ACCEPT
Вот и всё вроде, осталось сменить внутренние пароли сделать бекапы и выдать аккаунт враждебному пользователю
Другие варианты применения chroot
текст недоступен
другие страницы раздела
- Установка базовой системы
- Поиск приложений по открытым файлам
- Первые впечатления о CentOS
- 5 самых частных команд, используемых во время установки gentoo
- Занятный iptables
- Ручная настройка монитора в Xorg
- Автомонтирование в ArchLinux
- Первые впечатления от InfraLinux, Ubuntu 8.04.1 от компании Инфра Ресурс
- Gentoo in Ubuntu или переезд из Ubuntu в Gentoo
- Объединение русских манов
- Bacup + SSH через Nat - Передача большого количества файлов с помощью tar и ssh
- Alt Linux научит заниматься сексом, manpages russian
- Настройка кэширующего dns сервера bind
- Переезд на OpenSuse 11 откладывается
- Bind, настройка собственной зоны
- Настройка AR242x 802.11abg Wireless PCI Express Adapter
- Быстрый способ установки Samba
- Настройка nfs сервера и nfs клиента ubuntu 8.04
- Обновление Ubuntu 8.10 - Отважный Козерог
- Укрепление безопасности в связи с получением реального IP адреса
- RussianFedora - не для домашнего использования
- Ephemeris - программа по астрономии
- Linux драйвер для карточки Ethernet RTL8111/8168b
- Подключение Asus EEEpc 701 к интернету через GPRS на Sony Ericsson Z530i
- Запуска apache в окружении chroot
- Установка VirtulaBox на Ubuntu с нестандартным ядром
- Полезные ссылки
- Настройка проверки орфографии в OpenOffice3
- Установка "Налогоплательщик ЮЛ" в Linux
- Благодаря анонимоусам я осилил LVM
- Переезд на LVM
- Таблица значений для настройки framebuffer
- Производительность компьютеров в зависимости от процессора и объёма памяти
- CentOS или Ubuntu
- Очень простая авторизация в Squid
- Что выбрать i386 или AMD64
- Как узнать, что расшарено на NFS сервере
- HOWTO: Как за 12 минут установить Linux, попробовать и удалить
- Видео: Уменьшение размера LVM раздела, создание нового раздела, откат назад
- Динамическое добавление swap в Linux
- Зеркалирование репозитория Ubuntu
- Как я навредил своим юзерам
- Установка Ubuntu 8.04.2 Desktop на LVM
- Как заработать на пользователях Linux
- Открытый биос на основе технологий Linux
- Конвертирование m4b,ape,cue в ogg, mp3 через fifo (трубку)
- Xming, X сервер для Windows
- Ubuntu 8.04, Wine 1.1.19, WarCraft 3
- Asus EEEPC 701и Linux как инструмент начинающего разведчика
- Моя мама и Linux
- Два подхода к использованию компьютера или чем линуксоид отличается от виндузятника
- Шрифты в Linux и Windows
- Сценарий Amarok для работы Publish Tune в Psi
- Видео ролик - Коварные планы Майкрософт
- Касперский опять нашёл вирусы под Linux и опять обделался
- Multiseat, Эффективное использование 2 ядерных процессоров в Linux
- Перенос ядра из другого дистрибутива
- Выбор WiFi USB адаптера для Linux
- Chrome под Linux
- Как отправить SMS из консоли
- Почему админы любят DHCP
- Восстановление файловой системы
- Настройка PPPoE в Linux без NetworkManager
- Перевод документации про OpenLDAP
- Russian Fedora 11 + KDE4 против людей
- Как заработать на Linux миллионы
- Как вырезать кусок из фильма и конвертировать в flv с помощью mplayer
- Вот и ПОЧТИ умер очередной двухпанельник Double Commander
- Пока Майкрософт разваливается и идёт ко дну Redhat развивается и получает прибыли
- Групповое переименование файлов в Linux
- Два варианта добавление GPG ключа репозитория из консоли
- Почему Mono это плохо
- Установка PCLinux 2009 на LVM и восстановление домашнего LVM раздела
- Точка доступа из десктопа с использованием внешного шлюза и dhcp
- Как запрограммировать поведение сетевых интерфейсов
- Пакетная обработка документов RTF в OpenOffice с помощью bash и OOBasic
- Как добавить текст в защищённый файл с помощью sudo
- Google объясняет чего не хватает линуксу
- Выбор web камеры для Linux, Genius Eye 110 - плохой выбор
- Выбор web камеры для Linux, Gembird CAM90U и Genius iSlim 1322AF, Genius iLook 1321v2 - хороший выбор
- Как установить TremFusion в Ubuntu 8.04
- Первая доза закончилась, скоро в школах начнётся ломка или бабки на бочку
- Как появляются Боги OpenSource
- Как удалить из фильмов английскую звуковую дорожку
- Slackware13 мистика какая то
- Установка Slackware13 на LVM
- Linux территория безопасности или опять наш Касперский хочет жрать
- Как навариться на винтузятниках и линуксоидах при этом сделав им хорошо
- У линуксоидов есть деньги(надо же) и они покупают игры
- Передача звука с микрофона по сети
- Ubuntu 9.04 для жены
- Автоматическая обработка файлов на хостинге с помощью bash
- Как удалить на хостиге файл имя которого не набрать в консоли
- Установка Flash player AMD64 для Firefox и Chrome одной командой
- Печать в PDF через Cups
- Противостояние линуксоидов и виндузятников в искусстве, стёб
- LVM использование снапшотов
- Удаление физического раздела из LVM
- Страсти по виндовым шрифтам
- Автоматическая обработка файлов, часть два
- Настройка печати на PDF принтер в Ubuntu 9.10
- Ubuntu 9.10 добавление resume раздела
- Сравнение файловых систем ext2 ext3 ext4 xfs reiserfs btrfs vfat jfs для домашней директории
- Machinarium - постапокалиптическая игра для линуксоидов
- Как обезопасить свои каналы общения, своих друзей и близких с помощью шифрования в Jabber
- Исключение Gimp из Ubuntu
- Из Gnome в Xmonad за 5 минут, всё просто
- Шифрование бекапов для хранения в Gmail
- Шикарный пиар Ideco - "Добрыня Сисадминыч и айдеко-кладенец"
- Рабочий стол с защитой от ребёнка
- Google опять выпустил beta версию Chrome и танцует и поёт
- С/C++: libconfig - библиотека для обработки конфигурационных файлов
- SoftMaker2008 или OpenOffice3.1
- MS IE сливает FF3 по всему миру, а FF3 сливает Opera по РФии
- Скриншоты Opera 10.50 без поддержки Qt
- Объединение двух сетей через VPN
- Google проводит сбор идей на счёт развития своих сервисов и сбор голосов в пользу открытых технологий
- Настройка mpd, музыкального демона
- Маршрутизация в VPN сетях
- Объединение DNS зон в VPN сетях
- grub2: ручная загрузка
- Выбор web камеры для Linux, Age Star S-PC250 - плохой выбор
- Выбор web камеры для Linux, Icam 7120 - хороший выбор
- Загрузка с дискеты без дисковода
- Добавление репозитария в Ubuntu 9.10
- в ожидании Ubuntu 10.04 LTS
- Тестирование Ubuntu 10.04 beta и установка на LVM
- Выбор web камеры для Linux: Genius iSlim 1300v2 - хороший выбор
- Декомпиляция SWF в Linux
- Как обойти ограничение DynDNS на создание wildcard
- apache генерация списка файлов в utf-8
- Обновление Ubuntu 10.04 до 12.04
- Ubuntu 12.04 установка WiFi card Marvel 8335
- Wi-Fi-роутер TP-Link TL-MR3020
- Редирект неавторизованных в squid пользователей на внутренний ресурс
- Удаление ботнета sfewfesfs
- Настройка inotify для работы с большими файловыми системами
- Двадцатка самых популярных имён пользователей при взломе серверов
комментарии (1)
2010-05-03 02:56:46