Sie sind auf Seite 1von 3

Squid O Squid poder ser baixado na pgina de downloads do site oficial do projeto:

# # # # # # #

http://www.squid-cache.org/Download/mirrors.html

cd /usr/local/src wget http://mirrors.ccs.neu.edu/Squid/squid-3.2.0.14.tar.gz tar zxvf squid-3.2.0.14.tar.gz cd squid-3.2.0.14 ./configure make make install

Preparando o ambiente para execuo em modo chroot


Preparando o ambiente para execuo em modo chroot # cd /usr/local/squid # ls Ao entrarmos no diretrio criado pela instalao do Squid e listar o seu contedo, poderemos ver que foi criada uma estrutura de diretrios semelhante a que temos na raiz de nosso sistema: bin/ etc/ include/ lib/ libexec/ sbin/ share/ var/ Porm dentro destas pastas esto contidos apenas arquivos ligados ao Squid, dos quais seu funcionamento dependente. Como principais, temos o executvel do Squid que encontra-se no diretrio "sbin", seus arquivos de configurao que encontram-se no diretrio "etc" e seus arquivos de cache e log no diretrio "var". O primeiro passo para realizarmos a configurao do sistema raiz no qual ser executado o Squid ser a descoberta das bibliotecas compartilhadas utilizadas pelo software. Para isso iremos recorrer ao programa "ldd", o que ir nos listar todas as bibliotecas utilizadas pelo executvel "squid" localizado na pasta "sbin". Aps, estas bibliotecas sero copiadas para dentro da estrutura de diretrios criada pela instalao do Squid, exatamente da mesmo forma como esto em nosso sistema raiz padro. # ldd sbin/squid A sada seria: linux-gate.so.1 libpthread.so.0 => libcrypt.so.1 => libstdc++.so.6 => libnsl.so.1 => libresolv.so.2 => librt.so.1 => libltdl.so.7 => libdl.so.2 => libm.so.6 => libgcc_s.so.1 => libc.so.6 => /lib/ld-linux.so.2 (0xb77d2000) => /lib/libpthread.so.0 /lib/libcrypt.so.1 /usr/lib/libstdc++.so.6 /lib/libnsl.so.1 /lib/libresolv.so.2 /lib/librt.so.1 /usr/lib/libltdl.so.7 /lib/libdl.so.2 /lib/libm.so.6 /usr/lib/libgcc_s.so.1 /lib/libc.so.6 (0xffffe000) (0xb77a0000) (0xb776d000) (0xb767d000) (0xb7664000) (0xb764c000) (0xb7643000) (0xb763b000) (0xb7637000) (0xb7611000) (0xb75f4000) (0xb7490000)

Antes de iniciar a cpia das bibliotecas, precisaremos criar a estrutura "usr/lib", para que possamos copiar algumas das bibliotecas mostradas acima, mantendo seu padro estrutural.

# mkdir -p usr/lib Obs.: As bibliotecas sero copiadas com exceo de linux-gate.so.1, por no tratar-se de um arquivo. # # # # # # # # # # # # # cp cp cp cp cp cp cp cp cp cp cp cp cp /lib/libpthread.so.0 lib/ /lib/libcrypt.so.1 lib/ /usr/lib/libstdc++.so.6 usr/lib/ /lib/libnsl.so.1 lib/ /lib/libresolv.so.2 lib/ /lib/librt.so.1 lib/ /usr/lib/libltdl.so.7 /usr/lib/libltdl.so.7 usr/lib/ /lib/libdl.so.2 lib/ /lib/libm.so.6 lib/ /usr/lib/libgcc_s.so.1 usr/lib/ /lib/libc.so.6 lib/ /lib/ld-linux.so.2 lib/

Para execuo do Squid usaremos o usurios e grupo de nome "squid". Os quais devero ser criados no sistema, preferencialmente sem shell de execuo. # useradd -s /bin/false squid Alm das bibliotecas, mais alguns arquivos tero que ser copiados de nosso sistema padro para o ambiente chroot onde ser executado o Squid. Entre eles teremos os arquivos /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow e /etc/resolv.conf. Mantendo tambm a mesma estrutura da raiz padro do sistema. # # # # # cp cp cp cp cp /etc/passwd etc/ /etc/shadow etc/ /etc/group etc/ /etc/gshadow etc/ /etc/resolv.conf etc/

O mais importante, ser editarmos estes quatro arquivos deixando-os apenas com as informaes ligadas ao usurio e grupo squid. Pois apenas o que ser necessrio para execuo da aplicao. # vim etc/passwd squid:x:1001:1001::/home/squid:/bin/false # vim etc/shadow squid:!:15329:0:99999:7::: # vim etc/group squid:x:1001: # vim etc/gshadow squid:!:: Para que o usurio e grupo squid sejam realmente reconhecidos como vlidos dentro do ambiente chroot, ser necessrio copiramos as bibliotecas do Name Service Switch (NSS) para dentro de nossa estrutura. # cp /lib/libnss_* lib/ Tambm utilizado pelo Squid o dispositivo nulo dev/null e o dispositivo de memria compartilhada dev/shm. Os quais podero ser criados da seguinte maneira:

Criaremos a pasta dev dentro de /usr/local/squid e montaremos o sistema de arquivos /dev dentro desta pasta: # mkdir dev # mount -o bind /dev dev/

Das könnte Ihnen auch gefallen