Pequeno manual do administrador
Este espaço é reservado para os administradores mais experientes escreverem instruções para os admins juniores sobre a sala de computação.
Índice
- 1 Configurar um computador (do zero)
- 2 Rodar um comando em todas as máquinas a partir do proccm
- 3 Adicionar usuários
- 4 Mudar nome de usuário
- 5 Editar quotas
- 6 Reiniciar o LightDM
- 7 Configurar o kernel default do grub
- 8 Clonar partições
- 9 Ver quem está logado em todas as máquinas
- 10 Links recomendados
Configurar um computador (do zero)
Para isso, as seguintes etapas são necessárias:
- Primeiramente, é preciso instalar o sistema. Estamos usando a distribuição Xubuntu, em sua versão 32 bit, atualmente. Nossa política é: manter na versão LTS (atualmente, a 12.04) até que ela perca suporte - a estabilidade da rede é vital, e é MUITO trabalhoso ficar atualizando a cada versão que sair. Nossas partições, atualmente, seguem o seguinte esquema:
ext4, 20 GB. Ponto de montagem: /root swap, 2 GB. ext4, o que sobrar de espaço livre. Ponto de montagem: /scratch
Observação: se estiver formatando um computador que já estava em uso, tome cuidado para não formatar a /scratch!
- Então, é preciso instalar os pacotes que nós usamos na rede. A lista atual de pacotes a instalar é:
armagetronad audacious audacity awesome binutils-gold brasero build-essential chromium-browser eclipse elinks emacs evilwm evince finger firefox flashplugin-nonfree fluxbox fortune freeglut3-dev frozen-bubble fvwm gdb geany gedit ghc gimp git-core gnuplot grace imagemagick inkscape ipython jumpnbump jython kile kolourpaint4 koules libglw1-mesa-dev lyx mercurial moc mplayer nfs-common nis ocaml okular openjdk-6-jre openntpd openssh-server pidgin pidgin-skype pymol python3 python-matplotlib python-numpy python-scipy python-sympy qemu quota rar ratpoison r-base rtorrent scite screen solarwolf subversion terminator texlive texmaker traceroute transmission unrar unzip valgrind vim vlc wxmaxima xbindkeys xclip xdotool xfig xjump xlockmore xmonad xpdf xtrlock zip zsh
Obviamente, dê apt-get update e então apt-get install tudo isso. Note que, no meio da instalação dos pacotes, será perguntado qual o servidor NIS que você deseja usar. Coloque nis.proccm.redealuno.usp.br.
- NIS: As contas dos alunos ficam no proccm, e a autenticação do login nos computadores é feita usando esse serviço, sendo o proccm o servidor NIS.
Para configurar, adicione ao /etc/passwd:
+::::::
E ao /etc/shadow:
+::::::::
E ao /etc/gshadow:
+:::
- NFS: a /home dos usuários fica no proccm, assim como os scores dos joguinhos e os scripts personalizados da rede. O compartilhamento é feito por meio do serviço NFS (Network File System), que permite montar partições de um sistema alheio no computador.
Para configurar, adicione as seguintes linhas ao /etc/fstab:
# /home 192.168.0.127:/home /home nfs tcp,wsize=16384,rsize=16384 0 0 # /var/games 192.168.0.127:/var/games /var/games nfs bg,tcp,wsize=16384,rsize=16384 0 0 # /scripts 192.168.0.127:/scripts /scripts nfs bg,tcp,wsize=16384,rsize=16384 0 0
Certifique-se de que a pasta /scripts existe. Se não existir, crie-a.
Depois deste passo, você pode ou reiniciar o computador, ou montar tudo na mão, rodando, como root:
mount 192.168.0.127:/home /home
E o mesmo para a /var/games e para a /scripts.
- Definir o IP do computador: troque o conteúdo do /etc/network/interfaces por
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.N netmask 255.255.255.0 gateway 192.168.0.127
Sendo N o número do computador. Por convenção, N = 1 para o computador imediatamente à frente da mesa do CEO Mineo, 2 para o próximo, etc.
Feito isso, rode /etc/init.d/networking restart, para as mudanças fazerem efeito.
- Definir servidores DNS: acrescente ao arquivo /etc/resolvconf/resolv.conf.d/head as seguintes linhas:
domain proccm.redealuno.usp.br search proccm.redealuno.usp.br nameserver 192.168.0.127 nameserver 143.107.253.3 nameserver 143.107.253.5
Feito este passo, rode /etc/init.d/resolvconf restart para fazer o DNS. Feito isso, a conexão do computador com a rede local e com a internet está finalizada. Nas próximas vezes em que ele for ligado, a conexão será estabelecida automaticamente.
Para entender melhor este passo e o anterior, veja o primeiro link recomendado.
- Permitir acesso por SSH como root sem senha, a partir do proccm: adicione a chave pública do proccm ao /root/.ssh/authorized_keys (pode ser preciso criar a pasta .ssh):
ssh-dss AAAAB3NzaC1kc3MAAACBANlP6zHw+3C7OhdkO4EXvrgdT590+g4LzFvp4mLL0DkDRlvPSfqrwrYmF6H7ATeGtXUoOCmiWpxsvm4ERKn6wbuRIuA8DZ2AE8re8UM8oVmSJL0V1uyLdx/0BhbRVK9lRwJ7/EaqK0mwl0T9ripzdWTnYvauxGg3PluztSbGpoNXAAAAFQD55+nR0jLNLVJy/WbMrEmyjaqr/wAAAIEApKpkHOiD6IrSIIvci0iP63Kc+ozKfI+LkDK/JXPUduggSJ5kRXbqAX5HCnGZnCwh64lOpXC8fhgSsx3stqtV/zzQJ4P31PoXKSBvlT6E5/Iillr/5aAT2OJ9i98jWg1G+gcEjoN1a2AoKpgmJgnLuvyH1CE3Sqe1yI5IVB5iPqQAAACALwuYFCc9U/510egrV37PSPFSvDVFsqgtGk8EPYZRE1H3jqKqtXxEUtabsGpDKJeVYPia2Wr70Ju+v+WVQBQ02h0O3KdcIhSNoi6KVN3XLjmCgu7XnQ60hNN0SZKY1rU86qPtGce7okWrsX9MKKTyDJopqMNOyTx5utR9yx4Hnzg= root@proccm2
- Fazer a impressora funcionar: instale o driver, disponível aqui, e adicione a impressora pelo menu do Xfce (Menu > Sistema > Impressão, instalação bem intuitiva)
- Só mais um detalhe: para evitar que o LightDM dê a opção para guests logarem, adicione a seguinte linha ao /etc/lightdm/lightdm.conf:
allow-guest=false
E é isso! O computador deve estar pronto para uso, feitos esses passos.
Rodar um comando em todas as máquinas a partir do proccm
Basta utilizar os scritps all ou pall que estão em /root/scripts. O all executará os comandos em todas as máquinas sequencialmente, começando pelo sanger, e o pall executará em paralelo. É bom utilizar o pall em comandos rápidos, e não interativos. Alguns exemplos de uso dos scripts:
pall apt-get update
O comando acima irá atualizar a lista de pacotes disponíveis nas máquinas.
all apt-get install xaos
O comando acima irá instalar o pacote xaos em todas as máquinas, começando pelo newton (192.168.0.1), e indo até o laplace (192.168.0.15).
all apt-get -y install emacs21
O comando acima irá instalar o emacs21 e reponder S/Y para todas as eventuais perguntas durante o processo de instalação.
all "dpkg -l | wc -l"
Irá mostrar o número de pacotes instalados nos sistemas (na verdade o número de pacotes instalados mais 6, que são algumas linhas descriptivas da saída do dpkg).
Adicionar usuários
Para adicionar o usuário foo, em que foo é um username que contém somente caracteres alfanuméricos (sem hífen, ponto ou underline), execute como root no servidor:
adduser foo
Preencha uma senha, Full Name, Room Number (turma) e o que mais for necessário, e depois execute:
cd /var/yp/ make
Gerar uma senha aleatória
head -c6 /dev/random | mimencode
ou
cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c8 && echo
Mudar nome de usuário
Para mudar o nome do usuário foo para bar, execute como root no proccm:
vipw
e procure por foo usando
/foo
Certifique-se de que o que você encontrou foi foo e não alguma coisa que começa com "foo", como, por exemplo "foodeu". Feito isso, substitua foo por bar. Se quiser mudar também o diretório do usuário, mude, é na mesma linha. Agora saia e salve com
ESC : x
O mesmo procedimento usado para vipw deve ser usado para vigr, vipw -s, vigr -s.
Se você mudou o diretório do usuário, vai precisar mover manualmente o diretório de
/home/foo
para
/home/bar
Agora finalize com
cd /var/yp make
Bugs
Esse procedimento pode gerar muitos bugs, especialmente se mudar o diretório.
Firefox
Se o diretório do usuário for mudado, ele não conseguirá abrir o firefox. Para resolver isso, edite o arquivo
/home/bar/.mozilla/firefox/profiles.ini
Na linha do Path, substitua foo por bar.
Fluxbox
Se o diretório do usuário for mudado, o fluxbox não abrirá algumas configurações do usuário. Para resolver isso, edite os arquivos
/home/bar/.fluxbox/init /home/bar/.fluxbox/lastwallpaper /home/bar/.fluxbox/styles/ALGUMACOISA (descubra qual)
e substitua todos os /home/foo/ por /home/bar/
Editar quotas
Edite a quota de um usuário foo qualquer com
edquota foo
e a seguir aplique-a a todos os usuários com
edquota -p foo `awk -F: '$3 >= 1000 && $3 < 1200 {print $1}' /etc/passwd`
(supondo que o uid de todos os usuários esteja entre 1000 e 1200).
Reiniciar o LightDM
Logue-se como root e dê o comando
/etc/init.d/lightdm restart
Configurar o kernel default do grub
Edite o arquivo /boot/grub/menu.lst - a primeira opção é exatamente essa. Coloque ali o número (contado a partir do zero) da opção de kernel definida mais abaixo. Só.
Clonar partições
Na máquina slave (que vai receber os dados), faça um boot qualquer que permita acessar a rede (por um CD de instalação do Ubuntu, por exemplo).
Particione do mesmo jeito que a máquina a ser clonada, e então descubra o IP (use ifconfig para isso).
Agora vem a clonagem de fato. Para clonar o sda2, por exemplo
nc -l -p 9000 | dd of=/dev/sda2
Agora, na máquina master (que vai fornecer os dados), dê
dd if=/dev/sda2 | nc IPgoesHERE 9000
onde IPgoesHERE é o IP que você descobriu agora há pouco.
Ver quem está logado em todas as máquinas
Execute o comando
sudo ku
Links recomendados
Para entender melhor como funciona nossa rede e também a internet: [1]