chrooted squid
Создание документа «Запись на форуме»-->Форум-->Пожалуйста выбирете...
- тонкий юмор :D
Ну да хватит о грустном...
Взбрендило во мою головушку "зачрутить кальмара" (из чиста познавательного интереса),
ну и не сильно сумлеваясь, слепил это:
#!/bin/bash if ! [ -d /opt/chroot ] ; then echo "Creating directory \"/opt/chroot\"" eval /bin/mkdir -p /opt/chroot fi if ! [ -d /opt/chroot/squid3 ] ; then echo "Creating directory \"/opt/chroot/squid3\"" eval /bin/mkdir -p /opt/chroot/squid3 eval /bin/chown root:squid /opt/chroot/squid3 eval /bin/chmod o-x /opt/chroot/squid3 eval /bin/chmod o-r /opt/chroot/squid3 [[ ! -d /opt/chroot/squid3/var ]] && eval /bin/mkdir -p /opt/chroot/squid3/var [[ ! -d /opt/chroot/squid3/var/cache/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/var/cache/squid eval /bin/chown squid:squid /opt/chroot/squid3/var/cache/squid [[ ! -d /opt/chroot/squid3/var/log/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/var/log/squid eval /bin/chown squid:squid /opt/chroot/squid3/var/log/squid [[ ! -d /opt/chroot/squid3/var/run ]] && eval /bin/mkdir -p /opt/chroot/squid3/var/run eval /bin/chown squid:squid /opt/chroot/squid3/var/run [[ ! -d /opt/chroot/squid3/var/run/nscd ]] && eval /bin/mkdir -p /opt/chroot/squid3/var/run/nscd [[ ! -d /opt/chroot/squid3/var/spool/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/var/spool/squid eval /bin/chown squid:squid /opt/chroot/squid3/var/spool/squid [[ ! -d /opt/chroot/squid3/dev ]] && eval /bin/mkdir -p /opt/chroot/squid3/dev [[ ! -d /opt/chroot/squid3/etc/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/etc/squid [[ ! -d /opt/chroot/squid3/lib ]] && eval /bin/mkdir -p /opt/chroot/squid3/lib [[ ! -d /opt/chroot/squid3/usr/lib/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/usr/lib/squid [[ ! -d /opt/chroot/squid3/usr/share/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/usr/share/squid [[ ! -d /opt/chroot/squid3/usr/libexec/squid ]] && eval /bin/mkdir -p /opt/chroot/squid3/usr/libexec/squid eval /bin/chown squid:squid /opt/chroot/squid3/usr/libexec/squid eval /bin/cp -LRf /usr/share/squid/icons /opt/chroot/squid3/usr/share/squid/ eval /bin/cp -LRf /usr/share/squid/errors /opt/chroot/squid3/usr/share/squid/ eval /bin/cp -Lv /etc/squid/* /opt/chroot/squid3/etc/squid/ [[ ! -s /opt/chroot/squid3/etc/resolv.conf ]] && eval /bin/cp -Lv /etc/resolv.conf /opt/chroot/squid3/etc/ [[ ! -s /opt/chroot/squid3/etc/nsswitch.conf ]] && eval /bin/cp -Lv /etc/nsswitch.conf /opt/chroot/squid3/etc/ [[ ! -c /opt/chroot/squid3/dev/null ]] && eval /bin/mknod /opt/chroot/squid3/dev/null c 1 3 [[ ! -c /opt/chroot/squid3/dev/urandom ]] && eval /bin/mknod /opt/chroot/squid3/dev/urandom c 1 9 [[ ! -c /opt/chroot/squid3/dev/zero ]] && eval /bin/mknod /opt/chroot/squid3/dev/zero c 1 5 eval /bin/chmod a+w /opt/chroot/squid3/dev/* eval /bin/cp -Lv /lib/libnss_dns* /opt/chroot/squid3/lib/ [[ ! -s /opt/chroot/squid3/usr/libexec/squid/unlinkd ]] && eval /bin/cp -Lv /usr/libexec/squid/unlinkd /opt/chroot/squid3/usr/libexec/squid/ fi
Немного подровняв под текущую нужду конфигурасьонный файл сквида, приказал ему подняться из пыли сансары :D
Покорное исполнение кальмаром моей воли привело меня в бурный щенячий восторг... Но не долго суждено было мне
пребывать в радости, ибо часов через пять squid благополучно отвалился с сообщением, типа:
"Ой, ошибка i/o, не могу писать в файл /var/log/access.log - не хватает пермишенов"
Проверил права на директорию (владельца оной) /opt/chroot/squid3/var/log/squid
- действительно - root:root,
хотя в скрипте указано:
eval /bin/chown squid:squid /opt/chroot/squid3/var/log/squid
Как следствие, возник вопрос - из-за чего меняются права/владелец на директорию?
Либо я чего-то не учёл, либо ...
Кто-нибудь вообще пробовал проделывать chroot для squid? Поделитесь, пожалуйста, опытом.
- Для комментирования войдите или зарегистрируйтесь