Servidor DNS · 3 min read · Feb 03, 2026

Debian Sarge (3.1) com Ruby on Rails e Apache 2 com FastCGI - Página 2

Instalar Quota

apt-get install quota quotatool
  • Ao prompt: Enviar lembretes diários aos usuários acima do limite, responda Não

Edite /etc/fstab para ficar assim (adicionei,usrquota,grpquota à partição com o ponto de montagem / – Isso assume que tudo que precisa de suporte a quota está sob /):

joe /etc/fstab

| # /etc/fstab: informações do sistema de arquivos estático. # # proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1 /dev/sda5 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

Então execute:

touch /quota.user /quota.group  
chmod 600 /quota.*  
mount -o remount /  
quotacheck -avugm

Instalar DNS-Server

apt-get install bind9

Por razões de segurança, queremos executar o BIND em chroot, então precisamos fazer os seguintes passos:

/etc/init.d/bind9 stop

Edite o arquivo /etc/default/bind9 para que o daemon seja executado como o usuário não privilegiado ‘bind’, chrooted para /var/lib/named. Modifique a linha: OPTS=”-u bind” para que fique OPTS=”-u bind -t /var/lib/named”:

joe /etc/default/bind9

| OPTS="-u bind -t /var/lib/named" |

Crie os diretórios necessários em /var/lib:

mkdir -p /var/lib/named/etc  
mkdir /var/lib/named/dev  
mkdir -p /var/lib/named/var/cache/bind  
mkdir -p /var/lib/named/var/run/bind/run

Então mova o diretório de configuração de /etc para /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Crie um symlink para o novo diretório de configuração a partir da antiga localização (para evitar problemas quando o bind for atualizado no futuro):

ln -s /var/lib/named/etc/bind /etc/bind

Crie dispositivos nulos e aleatórios, e ajuste as permissões dos diretórios:

mknod /var/lib/named/dev/null c 1 3  
mknod /var/lib/named/dev/random c 1 8  
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random  
chown -R bind:bind /var/lib/named/var/*  
chown -R bind:bind /var/lib/named/etc/bind

Precisamos modificar o script de inicialização /etc/init.d/sysklogd do sysklogd para que possamos ainda receber mensagens importantes registradas nos logs do sistema. Modifique a linha: SYSLOGD=”” para que fique: SYSLOGD=”-a /var/lib/named/dev/log”

joe /etc/init.d/sysklogd

| #! /bin/sh # /etc/init.d/sysklogd: iniciar o daemon de log do sistema. PATH=/bin:/usr/bin:/sbin:/usr/sbin pidfile=/var/run/syslogd.pid binpath=/sbin/syslogd test -x $binpath || exit 0 # Opções para iniciar/reiniciar os daemons # Para registro remoto em UDP use SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log" create_xconsole() { if [ ! -e /dev/xconsole ]; then mknod -m 640 /dev/xconsole p else chmod 0640 /dev/xconsole fi chown root:adm /dev/xconsole } running() { # Sem pidfile, provavelmente nenhum daemon presente # if [ ! -f $pidfile ] then return 1 fi pid=`cat $pidfile` # Sem pid, provavelmente nenhum daemon presente # if [ -z "$pid" ] then return 1 fi if [ ! -d /proc/$pid ] then return 1 fi cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1` # Sem syslogd? # if [ "$cmd" != "$binpath" ] then return 1 fi return 0 } case "$1" in start) echo -n "Iniciando o daemon de log do sistema: syslogd" create_xconsole start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD echo "." ;; stop) echo -n "Parando o daemon de log do sistema: syslogd" start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile echo "." ;; reload|force-reload) echo -n "Recarregando o daemon de log do sistema: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile echo "." ;; restart) echo -n "Reiniciando o daemon de log do sistema: syslogd" start-stop-daemon --stop --quiet --exec $binpath --pidfile $pidfile sleep 1 start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD echo "." ;; reload-or-restart) if running then echo -n "Recarregando o daemon de log do sistema: syslogd" start-stop-daemon --stop --quiet --signal 1 --exec $binpath --pidfile $pidfile else echo -n "Reiniciando o daemon de log do sistema: syslogd" start-stop-daemon --start --quiet --exec $binpath -- $SYSLOGD fi echo "." ;; *) echo "Uso: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}" exit 1 esac exit 0 |

Reinicie o daemon de log:

/etc/init.d/sysklogd restart

Inicie o BIND e verifique /var/log/syslog para quaisquer erros:

/etc/init.d/bind9 start  
less /var/log/syslog
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.