UNIX® Administração

Transcrição

UNIX® Administração
UNIX® Administração
João Victor A. Di Stasi
[email protected]
Núcleo de Computação Eletrônica
Universidade Federal do Rio de Janeiro
Objetivos do curso
●
●
●
●
●
●
Configuração e Tuning do Linux
Boot e Shutdown do Sistema
Gerenciamento de contas de usuários
Configuração do kernel
Noções de segurança
Conceito de redes avançado
“Entendimento é a chave do sucesso no Linux”
The Linux System Administrator's Guide
Carga Horária
●
40 horas teórico / práticas
Referências
●
Bibliograficas:
–
Dominando o Linux
●
●
–
Usando Linux
●
●
–
Editora Campus
Bill Ball
Theach Yourself UNIX in 24 Hours
●
●
–
Editora Ciência Moderna
Matt Welsh e Lar Kaufman
Sams Publishing
Dave Taylor e James C. Armostrong, Jr
Securing and Optimizing Linux: RedHat Edition
●
●
OpenDocs Publishing
Gerhard Mourai
Referências
●
Internet
–
–
–
–
–
–
–
–
–
www.linux.org
www.kernel.org
www.tldp.org
www.redhat.com
www.debian.org
br-linux.org
www.linuxsecurity.com
www.linuxtoday.com
www.google.com
UNIX® Básico - Revisão
●
●
●
●
●
●
●
●
Estrutura de Diretórios
Permissões
Gerenciando Sistemas de Arquivos
Processos
Daemons, Sinais e Matando processos
Shells
Editores de texto
Dispositivos
O que é Linux?
●
●
Linux é um clone totalmente funcional do SO
UNIX® originalmente desenvolvido pela Bell
Labs em 1970
Todos os recursos que espera-se de um SO
–
–
–
–
–
–
●
Multi-tarefa
Virtual Memory
Suporte TCP/IP
Shared Libraries
Multi-usuário
Modo Protegido
Suporta uma grande variedade de plataformas
Por que usar Linux?
●
Confiabilidade
–
●
Escalabilidade
–
●
●
●
Roda tanto em computadores de grande porte
quanto em PDAs
Grande variedade de softwares
Documentação
Estabilidade
–
●
Quebra não freqüente do sistema,
conseqüentemente mais disponibilidade
Bugs são encontrados e resolvidos rapidamente
Alta Performance
Por que usar Linux?
●
●
Segurança
Suporte
–
●
Compatibilidade
–
●
Aplicações Windows podem rodar no linux
Personalizável
–
●
Uma grande variedade de usuários, websites e
grupos de discussão pela internet
Existem distribuições voltadas para uso em
hospitais, escolas, crianças, multimídia, etc
Gratuito
Por que o Linux não domina o
mundo da computação?
●
Contra-tempos
–
–
–
●
Gerenciamento de software pode ser difícil
Necessidade de padronização de interfaces de
softwares
Nada é 100% gratuito, suporte pago
Solução
–
–
–
–
Treinamento de administradores de sistemas
Cursos internos para usuários do sistema
Desenvolvimento
Apoio de todos
UNIX® Básico - Revisão
Estrutura de Diretórios
Estrutura de diretórios - Revisão
/ (Raiz)
bin
boot dev etc home lib mnt root sbin tmp var
andre bruno rafael
usr
lib log mail spool tmp
bin include lib local sbin share src X11R6
/dev/hda1
/dev/hda2
/dev/hda3
/dev/hda5
on
on
on
on
/ type ext3
/home type ext3
/usr type ext3
/var type ext3
Estrutura de diretórios - Revisão
●
/bin
–
●
/boot
–
●
Onde reside a imagem do kernel vmlinuz, initrd,
arquivos de backup do gerenciador de boot
/dev
–
●
Programas essenciais para o sistema,
administrador e usuários
Contém arquivos especiais que são referências
para periféricos
/etc
–
Mais importantes arquivos de configurações
http://www.pathname.com/fhs/pub/fhs-2.3.html
Estrutura de diretórios - Revisão
●
/home
–
●
/lib
–
●
Bibliotecas essenciais para o sistema, onde
reside os módulos do kernel
/lost+found
–
●
Diretório de trabalho dos usuários comuns
Todas as partições possuem um, arquivos são
enviados para lá quando recuperados pelo fsck
/mnt
–
Ponto de montagem para todos os sistemas de
arquivos externos
http://www.pathname.com/fhs/pub/fhs-2.3.html
Estrutura de diretórios - Revisão
●
/proc
–
●
/root
–
●
Diretório de trabalho do super-usuário
/sbin
–
●
Sistema de arquivos virtual, contém uma série de
informações do sistema
Programas essenciais para o sistema e
administrador
/tmp
–
Espaço temporário
http://www.pathname.com/fhs/pub/fhs-2.3.html
Estrutura de diretórios - Revisão
●
/usr
–
●
Programas, bibliotecas, documentação,
programas não essenciais do sistema
/var
–
Armazena arquivos de dados variáveis como
logs, emails, spool de impressão
http://www.pathname.com/fhs/pub/fhs-2.3.html
Estrutura de diretórios - Revisão
●
●
●
●
Dotfiles e Dotdirs
file(8)
stat(8)
losetup(8)
UNIX® Básico - Revisão
Permissões UNIX
®
"On a UNIX system, everything is a file; if something is not a file, it is a process."
Permissões - Revisão
Número de
Permissões arquivos
dono
Data e hora da
última modificação
grupo
Nome do arquivo
Permissões - Revisão
Permissões - Revisão
●
Tipos de arquivos
d
l
c
b
s
p
Aquivo comum
Diretório
Link
Caractere device
Block device
Socket
Named pipe
Permissões - Revisão
0
1
2
3
4
5
6
7
Não lê, não escreve, não executa
Não lê, não escreve, executa
Não lê, escreve, não executa
Não lê, escreve, executa
lê, não escreve, não executa
lê, não escreve, executa
lê, escreve, não executa
lê, escreve, executa
----x
-w-wx
r-r-x
rwrwx
Permissões - Revisão
●
chmod(1)MODO ARQUIVO...
–
–
MODO é uma ou mais das letras ugoa, um dos
símbolos +­= e uma ou mais das letras rwxXstugo
u (User)
●
–
g (Group)
●
–
Aplica-se ao grupo do arquivo
o (Other)
●
–
Aplica-se ao dono do arquivo
Aplica-se a todos os outros usuários que não estejam nos
casos acima
a (All)
●
Todos os usuários, sem exceção
UNIX® Básico - Revisão
Gerenciando Sistemas de
Arquivos
Gerenciando Filesystems - Revisão
Gerenciando Filesystems - Revisão
Número
Partição
Tipo
Status Tam.
Em Uso
Início
Fim
Gerenciando Filesystems - Revisão
●
fdisk(8)[opções] device
–
–
–
Divide o disco em um ou mais discos lógicos
Apenas manipula a tabela de partições
Não cria o sistema de arquivos
Gerenciando Filesystems - Revisão
●
mkfs(8) [fs­options] filesys
–
–
Utilitário para cria sistemas de arquivos no Unix,
normalmente em block devices
Apenas um front-end para outros utilitários
●
●
●
●
●
●
●
●
●
mkfs.ext2
mkfs.jfs
mkfs.msdos
mkfs.vfat
mkfs.cramfs
mkfs.ext3
mkfs.minix
mkfs.reiserfs
mkfs.xfs
Gerenciando Filesystems - Revisão
●
fsck(8) [filesys] [­­] [ fs­
specific­options ]
–
–
–
Checa e opcionalmente repara um sistema de
arquivos
Deve ser executado em um sistema de arquivos
desmontado
Normalmente um front-end para outros utilitários
●
●
●
●
●
●
fsck.ext2
fsck.msdos
fsck.reiserfs
fsck.xfs
fsck.ext3
fsck.vfat
Gerenciando Filesystems - Revisão
●
Os comandos mount(8) e umount(8)
–
uso básico:
mount
device
mountpoint
Parâmetros mais gerais de uso:
-a
–
●
-f
●
Monta todos os sistemas de arquivos listados na fstab
Força a montagem de um sistema de arquivos mesmo
que não esteja “limpo”
Gerenciando Filesystems - Revisão
-r
●
Monta o sistema de arquivos em somente leitura
-t fstype
●
Monta o device indicado como o filesystem informado.
●
Saida mais detalhada (verbose)
●
Monta o sistema de arquivos em leitura e escrita
-v
-w
Gerenciando Filesystems - Revisão
-o
●
Permite parâmetro separados por vírgula, que variam
de filesystem para filesystem.
defaults
rw, suid, dev, exec, auto, nouser, and async.
noatime
Não atualiza o campo access time dos inodes no
sistema de arquivo
noauto
O sistema de arquivos só é montado
explicitamente, a opção -a não tem efeito aqui.
Gerenciando Filesystems - Revisão
nosuid
users
Não permite a utilização dos bits “set-user-identifier”
e “set-group-identifier”
Permite qualquer usuário montar e desmontar o sistema
de arquivos.
noexec
Não permite a execução de binários neste sistema de
arquivos.
user
Permite um usuário normal montar o sistema de
arquivos, e somente o mesmo (ou root) pode
desmontá-lo.
Gerenciando Filesystems - Revisão
●
O arquivo “/etc/fstab”
–
Sistemas de arquivos são montados
automaticamente durante o processo de boot
–
Formato:
#device
/pto.Mont. fstype opções
dumpfreq passno
/dev/hda1 /boot
ext3 defaults
0
/dev/hda2 /
ext3 defaults
0
/dev/hda3 /home
ext3 defaults
0
/dev/hda5 none
swap sw
0
none
/proc
proc defaults
0
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto
2
1
3
0
0
0
0
UNIX® Básico - Revisão
Processos
Processos - Revisão
●
●
Sistema Operacional multi-tarefa (técnica
para compartilhar um único processador
entre vários processos independentes)
“Processo” é o nome dado á um programa
em execução.
●
Identificação única “process ID” ou “PID”
●
Como arquivos possuem dono e grupo
Processos - Revisão
●
O comando ps(1)
–
Informação momentânea do sistema
Processos - Revisão
●
PID
–
●
TTY
–
●
Identificador do processo
Terminal em que o processo foi disparado
STAT
–
Status do processo
●
●
●
●
(S) sleep
(I) Idle
(R) Running
(Z) Zombie
Processos - Revisão
●
TIME
–
●
Tempo acumulado uso da CPU, não
necessariamente o tempo de execução do
processo.
COMMAND
–
Linha de comando usada para rodar o programa
Processos - Revisão
●
O comando top(1)
–
Provê uma visão dinâmica em tempo-real de um
sistema em uso
–
Mostra um sumário geral do sistema
–
Mostra a lista de tarefas (processos) que estão
sendo gerenciados pelo kernel
–
Interface de manipulação de processos
Processos - Revisão
Processos - Revisão
●
●
nice(1)
pstree
Daemon - Revisão
●
●
Processos que rodam em background
Executam tarefas específicas de tempos em
tempos
●
Responsáveis pelos serviços
●
Daemons famosos:
–
–
–
sendmail
lpd
inetd
UNIX® Básico - Revisão
Sinais
Sinais - Revisão
●
●
Usados para nos comunicarmos com os
processos
Normalmente usado pelo SO para notificar
um processo que algum evento ocorreu
●
Devem ser tratados imediatamente
●
Alguns podem ser ignorados (mascarados)
Sinais - Revisão
●
Tipos de Sinais (man 7 signal):
SINAL
–
–
–
–
–
–
–
–
NUMERO
USO COMUN
SIGHUP
1
Reiniciar o processo
SIGINT
2
Interrupção via teclado Ctrl+C
SIGABRT
6
Sinal via abort(3)
SIGFPE
8
Float Point Exception
SIGKILL*
9
Sinal Morte
SIGSEGV
11 Referência inválida a memória
SIGALRM
14 Timer via alarm(2)
SIGSTOP* 17,19,23 Para o processo
Matando processos - Revisão
●
O comando kill(1)
/bin/kill [­s] sinal PID
●
●
●
Cada shell implementa o seu comando kill
Usuários só podem enviar sinais a processos
que lhe pertençam
SIGKILL e SIGSTOP não podem ser
mascarados nem ignorados
UNIX® Básico - Revisão
Shells
Shells - Revisão
●
Interpretador de comandos UNIX®
●
Recursos
–
–
–
–
–
–
Controle de jobs
Aliases
Histórico
Expansão de prompt
Variáveis de Ambiente
Completar nomes de arquivos
UNIX® Básico - Revisão
Editores de Texto
Editores de Texto - Revisão
●
Diversidade de editores
–
–
–
–
–
–
–
–
vi(1)
ed(1)
joe(1)
pico(1)
nano(1)
mcedit(1)
ee(1)
jed(1)
Editores de Texto - Revisão
●
Porque usar vi ?
–
Disponível em todos os sistemas UNIX®
–
Funciona em qualquer terminal
–
Sabendo vi, você sabe muito awk, sed, grep,
utiliza o mesmo esquema de expressões regulares
–
Pequeno, rápido e poderoso
VI uso básico - Revisão
●
Modos de uso:
–
Comando
●
●
–
Interativo
●
●
–
Todas as teclas digitadas são interpretadas como
comando
Para entrar no modo de comando ESC
Tudo que é digitado é ecoado na tela do terminal
Limita-se a inserir e remover caracteres
Visual
●
Permite selecionar blocos de texto (v)
VI uso básico - Revisão
●
Entrar
–
vi filename
●
●
●
Edita um arquivo
cria o arquivo se não existir
Sair
–
ZZ
●
–
:q!
●
–
:x
●
Sai do vi salvando as modificações
Sai do vi descartando as alterações
Sai do vi salvando as Alterações
VI uso básico - Revisão
●
Editar
–
–
–
i
●
Insere texto exatamente onde está o cursor
●
Apenda texto logo abaixo do cursor
a
o
●
–
O
●
Insere uma linha abaixo do cursor e entra no modo de
inserção
Insere uma linha acima do cursor e entra no modo de
inserção
VI uso básico - Revisão
●
Copiar
–
yy
●
–
yN
●
–
Copia as N a partir da linha atual
p,qy
●
●
Copia a linha atual
Copia da linha p até a linha q
Colar
–
p
●
–
P
●
Cola em baixo da linha atual
Cola na linha de cima
VI uso básico - Revisão
●
Procurar
–
–
●
/string
●
Procura pela ocorrência da string “string”
●
próxima ocorrência da string
n
Substituir
–
–
–
s/velho/novo/[...]
●
Substitui uma ocorrência da string “velho” por “novo”
●
Substitui todas as ocorrências na linha
●
confirma a alteração
g
c
UNIX® Básico - Revisão
Devices
Devices - Revisão
●
●
Todo hardware da máquina recebe o nome
de device
Exemplos de device:
–
Impressora
–
Placa de Vídeo
–
Mouse
–
Disco Rígido
Devices - Revisão
●
●
Para cada device (hardware) deve existir um
arquivo (device node) no /dev com suas
informações
Exemplos de device nodes:
–
/dev/hda
–
/dev/lp0
–
/dev/ttyS0
–
/dev/psaux
Devices - Revisão
●
Caracter device
–
–
Dispositivo que lê e escreve 1 (um) caractere de
dados por vez
Exemplo:
●
●
Teclado, mouse, placa de vídeo
Block device
–
–
Dispositivos que lê escreve mais de 1 caractere
de dados por vez
Exemplo:
●
Disco rígido, cdrom, placas SCSI, discos SCSI
Devices - Revisão
●
Números Maior e Menor
–
Cada device no /dev possui um maior e menor
únicos
–
Para o kernel não importa o nome do arquivo no
/dev
–
/usr/src/linux/Documentation/devices.txt
Devices - Revisão
Maior
Menor
UNIX® Administração
●
●
●
●
●
●
●
Administração de Software
Configuração e Tuning
O Processo de Boot
Gerenciamento básico de contas de usuários
Configurando o kernel
Segurança
Redes
UNIX® Administração
Administração de Software
UNIX® Administração
●
Instalando pacotes
–
rpm (RedHat, Fedora, Mandrake, Conectiva, ...)
–
dpkg (Debian, knoppix, Kurumin)
–
tar.gz (todos os Unixes que a aplicação suportar)
Gerenciadores de pacotes - RPM
●
RPM(8)
–
–
RPM Package Manager
Padrão desenvolvido pela RedHat
–
Capaz:
●
●
●
●
●
Instalar
Remover
Atualizar
Procurar
Verificar
RPM
●
Instalar
–
rpm ­i [­­install] pacote.rpm ...
●
●
●
●
Instala o pacote
Falha se já existir uma versão anterior instalada
Falha se houver dependências
Opções comuns ao instalar
–
v
●
–
h
●
Saida detalhada
Barra de andamento do processo
RPM
●
Remover
–
rpm ­e [­­erase] meta­pacote ...
●
●
●
Remove um pacote do sistema
Falha se houverem dependências
Opções comuns ao remover
–
v
●
–
Saída detalhada
­­nodeps (não comum)
●
Ignora caso hajam dependências
RPM
●
Atualizar
–
rpm ­U [­­update] pacote.rpm ...
●
●
●
Atualiza um pacote caso ele esteja instalado
Instala o pacote caso não esteja previamente instalado
Opções comuns ao atualizar
–
v
●
–
h
●
Saída detalhada
Barra de andamento do processo
RPM
●
Procurar
–
rpm ­q [­­query] meta­pacote ...
●
●
●
Procura procura pelo nome exato do pacote
Não possui um mecanismo de pesquisa apurado
Opções comuns à procura
–
a
●
–
Todos os pacote instalados
|grep string
●
Procura por um pacote que possui em seu nome “string”
RPM
●
Verificar
–
rpm ­V [­­Verify] meta­pacote ...
●
●
Verifica se algum arquivo do pacote original foi alterado
Opções comuns ao verificar
–
a
●
Todos os pacote instalados
DPKG
●
dpkg(8)
–
Padrão desenvolvido pelo Debian
–
Capaz:
●
●
●
●
●
●
Instalar
Remover
Resolver dependências
Atualizar
Procurar
Verificar
APT
●
apt(8)
–
Ferramenta avançada de gerenciamento de
pacotes
–
Facilidade de administração de pacotes
–
Versátil
●
●
●
–
Novos repositórios (novos softwares)
Repositório de atualizações de segurança
Independe do gerenciador de pacotes
http://apt.freshrpms.net/
APT
●
apt­get(8)
–
Lista de repositórios:
/etc/apt/sources.list
APT
●
apt­get update
–
–
–
–
Atualiza a lista de todos os pacotes disponíveis
Procura a nova lista de pacotes de cada servidor
Recria a árvore de dependências
Deve ser executado periodicamente
APT
●
apt­get install pacote ...
–
–
–
Instala o pacote
Resolve todas as dependências
Resolve conflitos de versão
APT
●
apt­get upgrade [­u]
–
–
–
Compara a lista de pacotes disponíveis com lista
de pacotes instalados
Mantém o sistema atualizado
Deve ser executado periodicamente
Tarball – tar.gz - tar.bz2
●
Pacote criado com o utilitário tar(1)
–
Descompactar
●
●
–
Configurar
●
●
–
cd pacote­versão
./configure –opções
Compilar
●
–
tar zxvf pacote.tar.gz
tar jxvf pacote.tar.bz2 make
Instalar
●
make install
UNIX® Administração
Configuração e Otimização
UNIX® Administração
Rede
Hostname
●
hostname(1)
–
–
●
Define ou mostra o hostname do sistema
O hostname é usado por vários programas para
identificar a máquina
/etc/hosts
–
–
–
Tabela estática para procura de máquina
Única forma de resolver nomes antes do advento
do DNS
127.0.0.1 localhost deve sempre existir
Configurando a rede
●
ifconfig(8) iface [options] addr
–
–
–
–
Configura interfaces de rede
Configura interfaces virtuais
Exibe as interfaces configuradas
Exibe estatísticas de cada interface
Configurando a rede
●
RedHat
–
–
●
FreeBSD
–
●
/etc/hostname.iface
Debian
–
●
/etc/rc.conf
OpenBSD
–
●
/etc/sysconfig/network­scripts/
/etc/sysconfig/network
/etc/network/interfaces
Slackware
–
/etc/rc.network
Configurando a rede
●
route(8) –
–
–
Exibe e manipula a tabela de rotas IP
Normalmente usado para configurar rotas estáticas
Usado para definir o default gateway
route add default gw aa.bb.cc.dd
route add ­host 1.2.3.4 dev eth0
route add ­net 5.4.3.2/24 gw 1.2.3.4
Configurando a rede
Resolução de nomes
●
/etc/resolv.conf(5)
–
–
●
Contém informações que são lidas por rotinas de
resolução de nome
Informa o endereço do servidor de nomes
utilizado pelo sistema
Opções comuns
nameserver ip.do.servidor
domain dominio.da.maquina
search dominio.com.br com.br br edu
Resolução de nomes
●
/etc/host.conf(5)
–
●
Configuração das rotinas de resolução de nome
Opções comuns
order bind, host, nis
multi on
Name Service Switch
●
/etc/nsswitch.conf
–
–
Configura várias rotinas da biblioteca C para
funcionarem corretamente
Prioridade sobre o arquivo /etc/host.conf
passwd: nis compat
group: nis compat
shadow: nis compat
hosts: files dns nis
networks: files nis
UNIX® Administração
Sistema de Logging
Logs do Sistema
●
syslogd(8) e klogd(8)
–
–
–
–
–
Daemon responsável por logar as mensagens do
sistema
Serviço bem consolidado, existente em todos os
Unices
Permite uma centralização dos logs de toda a
rede
Fácil configuração
Em alguns sistemas syslogd(8) e klogd(8)
são um único daemon sysklogd(8) ou
simplemente syslogd(8)
Configuração de Logs do Sistema
●
/etc/syslog.conf(5)
–
–
–
●
Arquivo de configuração para o syslogd(8)
Define onde as mensagens logadas devem ser
armazenadas
Atenção para o uso de espaços neste arquivo
Sintaxe básica
Seletor;[Seletor]
ação
/usr/include/sys/syslog.h
Configuração de Logs do Sistema
●
Seletor
–
–
–
–
–
–
–
–
–
–
Facility.priority
Facility.*
Facility,Facility.priority
Facility.=priority
Facility.!priority
Facility.priority
Facility.priority
*.priority
*.=priority
*.!priority
Configuração de Logs do Sistema
●
Ação
–
–
–
–
–
–
Arquivo regular:
[­]/var/log/file
Named Pipe:
|/var/log/file
Terminal e Console: /dev/console
Máquina remota:
@maquina
Lista de usuários:
root,usuario,..
Todos os logados:
*
Configuração de Logs do Sistema
●
Facility
–
–
–
–
–
–
–
auth /* security/auth messages */
authpriv /*sec/auth msgs (private)*/
cron /* clock daemon */
daemon /* system daemons */
ftp
/* ftp daemon */
kern /* kernel messages */
lpr
/* line printer subsystem */
Configuração de Logs do Sistema
●
Facility
–
–
–
–
–
mail /* mail system */
news /* network news subsystem */
syslog /* msgs internas syslogd */
user /* random user­level msgs */
uucp /* UUCP subsystem */
Configuração de Logs do Sistema
●
Facility
–
–
–
–
–
–
–
–
–
Reservado para uso geral do sistema
local0 /* reserved for local use */
local1 /* reserved for local use */
local2 /* reserved for local use */
local3 /* reserved for local use */
local4 /* reserved for local use */
local5 /* reserved for local use */
local6 /* reserved for local use */
local7 /* reserved for local use */
Configuração de Logs do Sistema
●
Priority
–
–
–
–
–
–
–
–
–
alert
crit
debug
emerg
err
info
none
notice
warning
/* Intervenção imediata */
/* Condição crítica */
/* Mensagens debug­level */
/* Sistema não utilizável */
/* Condição de erro */
/* Informativo */
/* INTERNAL */
/* Condição normal*/
/* Condição de atenção*/
Configuração de Logs do Sistema
●
Exemplo de configuração
auth,authpriv.*
*.*;auth,authpriv.none
daemon.*
kern.*
lpr.*
mail.*
user.*
uucp.*
mail.info
mail.warn
mail.err
news.crit
/var/log/auth.log
­/var/log/syslog
­/var/log/daemon.log
­/var/log/kern.log
­/var/log/lpr.log
­/var/log/mail.log
­/var/log/user.log
/var/log/uucp.log
­/var/log/mail.info
­/var/log/mail.warn
/var/log/mail.err
/var/log/news/news.crit
Configuração de Logs do Sistema
*.=debug;\
auth,authpriv.none;\
news.none;mail.none
­/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none
­/var/log/messages
*.emerg
*
daemon.*;mail.*;\
news.crit;news.err;news.notice;\
*.=debug;*.=info;\
*.=notice;*.=warn |/dev/xconsole
UNIX® Administração
Agendamento de tarefas
Cron
●
cron(8)
–
●
/etc/crontab(5)
–
●
Executa tarefas agendadas do sistema
Arquivo de configuração do cron
crontab(1)
–
Ferramenta para manipulação das tarefas
agendadas de usuários
Cron
●
/etc/cron.allow
–
–
●
Lista dos usuários que podem executar o
comando crontab(1)
Se não existir todos podem
/etc/cron.deny
–
–
Lista dos usuários que não podem executar o
comando crontab(1)
Se não existir todos podem
Crontab
●
Formato do /etc/crontab
1) Minuto em que o comando será executado
2) Hora em que o comando será executado
3) Dia do mês que o comando deverá ser executado
4) Mês em que o comando será ser executado
5) Dia da semana em que o comando será executado
6) Usuário que irá executar o comando
7) Comando que deverá ser executado
1
2
3
4
5
6
7
min hora ddm mês dds usuário comando
Crontab
●
Valores permitidos
–
–
–
–
–
●
Ranges
–
●
Minuto
Hora
Dia do mês
Mês
Dia da semana
0-10 (0,1,2,3,4,5,6,7,8,9,10)
Listas
–
0-59
0-23
1-31
1-12
0-7
2,5,7,6,9,11
Crontab
●
Combinações
–
–
●
0-20/2 (0,2,4,6,8,10,12,14,16,18,20)
5-8,12-15,19
Nomes
–
Dia da semana
●
–
Sun, Mon, Tue, Wed, Thu, Fri, Sat
Mês
●
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,
Dec
Crontab
●
Variáves de ambiente do /etc/crontab
–
SHELL
●
–
HOME
●
–
Login do usuário que agendou a tarefa (somente leitura)
USER
●
–
Ordem de procura dos binários por $SHELL
LOGNAME
●
–
Diretório de trabalho de $LOGNAME ou $USER
PATH
●
–
Shell que irá executar os comandos
Login do usuário que agendou a tarefa (somente leitura)
MAILTO
●
Saída do comando é enviada via email para $MAILTO
Crontab
●
Formato do /etc/crontab
min hora ddm mês dds usuário comando
01 * * *
17 8 * *
17 20 * *
00 4 * *
*
4 * *
42 4 1 *
4:42am"
* root echo "Todo 1 min de hora"
* root echo "diário às 8:17am"
* root echo "diário às 8:17pm"
0 root echo "domingo às 4:00am"
Sun root echo "O mesmo do de cima"
* root echo "todo dia 1 do mês às Crontab
●
crontab(1) [­u user][­e] [­l] [­r]
–
e
●
–
u
●
–
l
●
–
r
●
Edita a lista de tarefas agendadas do usuário
Edita a crontab de outro usuário
Lista o conteúdo da crontab do usuário
Remove todas as tarefas da crontab
At
●
at(1) HORA
–
●
HORA
–
–
●
HH:MM
+ NUMERO UNIDADE­DE­TEMPO
UNIDADE-DE-TEMPO
–
●
Executa comandos no horário especificado
minutes, hours, days, or weeks
Exemplo:
–
at 17:00
●
reboot
UNIX® Administração
Otimização
UNIX® Administração
System Control
Sysctl – System Control
●
sysctl(8)
–
–
●
/etc/sysctl.conf(5)
–
●
Permite configurar parâmetros do kernel em
tempo de execução
Os parâmetros disponiveis estão em /proc/sys
Arquivo de configuração do sysctl(8)
Exemplo:
sysctl ­a
sysctl ­w variavel=valor
sysctl ­p
Sysctl – Variáveis do kernel
●
●
●
●
●
●
●
●
●
Exemplo:
net.ipv4.ip_forward
net.ipv4.conf.default.rp_filter fs.file­max
kernel.ctrl­alt­del
kernel.domainname
kernel.hostname
kernel.panic
net.ipv4.conf.all.send_redirects
/proc
●
/proc(5)
–
●
●
Visão geral para informações de processos
/proc/[PID]
–
●
Contém informações de cada processo em
execução
/proc/[PID]/cmdline
–
●
Sistema de arquivos virtual que permite acesso
direto as estruturas de dados do kernel
Linha de comando que iniciou o processo
/proc/[número]/cwd
–
Diretório em que o programa foi executado
/proc - continuação
●
/proc/[PID]/environ
–
●
/proc/[PID]/exe
–
●
Link para o binário que foi executado
/proc/[PID]/fd
–
●
Variáveis de ambiente do processo
Este diretório contém uma entrada para cada
arquivo aberto pelo processo
/proc/[PID]/maps
–
Regiões de memória mapeadas e suas
respectivas permissões de acesso
/proc - continuação
●
/proc/[PID]/mem
–
●
/proc/[PID]/root
–
●
Para onde aponta o / do processo, alterado se
usado chroot(2)
/proc/[PID]/stat
–
●
Permite o acesso às páginas de memória do
processo
Informações de status do processo, usado pelos
comandos ps(1) e top(1)
/proc/[PID]/statm
–
Informações sobre o status da memória em
páginas
/proc - continuação
●
/proc/[PID]/status
–
Mesmas informações de stat e statm porém
em um formato mais legível
●
Recursos da Máquina
●
/proc/interrupts
–
●
Informação sobre o número de interrupções por
cada IRQ
/proc/iomem
–
Mapa de I/0
/proc - continuação
●
/proc/ioports
–
●
/proc/kcore
–
●
Lista de I/O atualmente em uso
Representa a memória física do sistema
/proc/kmsg
–
–
Mensagens do kernel
–TERMINAR
UNIX® Administração
Filesystem
Tune2fs
●
tune2fs(8) [opções] filesystem
–
●
Ajusta os parâmetros do sistema de arquivos
ext2/ext3
Opções comuns
­c max-mount-counts
●
Número máximo de montagens antes do fsck(8)
­e error-behavior
●
remount-ro, continue, panic
­i interval-between-checks[d|m|w]
●
Intervalo caso o número máximo e montagens não
seja alcançado
Tune2fs
●
Opções comuns (continuação)
­l lista
●
lista o conteúdo do superbloco
-L volume-label
●
Nome do volume LABEL=ROOT
­m reserved-blocks-percentage
●
Porcentagem dos blocos que são reservados
Tune2fs
●
Opções comuns (continuação)
­o [^]opções­de­montagem[,...]
●
●
Opções defaults de montagem que podem ser
sobrescritas ao executar o comando mount
Opções de Montagem
debug
acl
journal_data
journal_data_ordered
journal_data_writeback
uid16
Tune2fs
●
Opções comuns (continuação)
­O [^]feature[,...]
dir_index
– Usa hashed b-trees para aumentar a velocidade na
procura de arquivos em diretórios grandes
filetype
– Armazena a informação do tipo de arquivo no
diretório
has_journal
– Usa o journal para assegurar a consistência
do sistema de arquivos mesmo após uma
interrupção brusca do sistema
Hdparm
●
hdparm(8) [opções] harddisk
–
Recupera e configura parâmetros em discos
rígidos
–
A [0/1]
●
–
c [0/1]
●
–
i
●
–
Manipula a opção read-lookahead
I
●
Transferência em 32-bit (PCI)
Exibe as informações detectadas na hora do boot
Exibe informações requisitadas diretamente ao disco
Hdparm
●
hdparm(8) [opções] harddisk
–
k [0/1]
●
–
K [0/1]
●
–
m
●
–
T
●
–
Mantém as configurações após um reset do disco
t
●
Mantém as features após um reset do disco
Número de setores transferidos
Teste de transferência com uso de cache
Teste de transferência sem uso de cache
UNIX® Administração
O Processo de Boot
Seqüência de boot
●
Arquitetura PC IBM/IA32
–
Projeto antigo e manutenção de compatibilidade
–
Firmware do PC boota o Sistema Operacional de
uma forma antiga e bem consolidada
–
É atualmente a arquitetura mais usada no mundo
Seqüência de boot
●
O Processo pode ser separado em seis
estágios lógicos
1. A BIOS seleciona o dispositivo de boot
2. A BIOS carrega o "setor de boot" do dispositivo de
boot
3. O "Setor de boot" carrega o setup, rotinas de
descompressão e a imagem do kernel comprimida
4. O kernel é descomprimido em modo protegido
5. Inicialização de baixo nível é realizada pelo código
assembler
6. Inicialização em C de Alto nível
Seqüência de boot
Seqüência de boot
●
●
●
Detecta e inicializa os dispositivos
Opcionalmente carrega o initrd
Monta o root filesystem especificado pelo
gerenciador de boot com o parâmetro root=???
–
O kernel imprime:
●
●
VFS: Mounted root (ext2 filesystem) readonly.
Executa /sbin/init (PID=1)
–
O init imprime:
●
INIT: version 2.85 booting
/sbin/init,/etc/init,/bin/init,/bin/sh
Seqüência de boot
●
/sbin/init(8)
–
Último passo na seqüência de boot
–
Lê o arquivo /etc/inittab(5)
–
Se existir a diretiva initdefault, define o
runlevel inicial do sistema
–
Inicializa os ttys
Seqüência de boot
●
/etc/inittab(5)
–
–
●
arquivo de configuração do init(8)
Define que processos serão inicializados na
seqüência de boot
Formato:
–
ID : RUNLEVELS : AÇÃO : PROCESSO
Seqüência de boot
●
ID
–
●
RUNLEVELS
–
●
Identifica uma entrada no inittab (até quatro
caracteres)
Lista de runlevels nos quais uma determinada
ação deverá ser tomada
AÇÃO
–
Ação tomada pelo init(8) ao executar o
processo
Seqüência de boot
●
AÇÃO
–
RESPAWN
●
–
WAIT
●
–
O processo será reiniciado pelo init(8), deve
sempre estar disponível no sistema
Ao entrar no runlevel o processo é iniciado, e o
init(8) aguarda pelo fim da execução do processo
para continuar,
ONCE
●
O processo só será executado uma vez
Seqüência de boot
●
AÇÃO (continuação)
–
SYSINIT
●
–
POWERFAIL
●
●
O processo será iniciado durante o boot (antes de
qualquer entrada com ação boot ou bootwait)
Executado quando recebe um sinal (SIGPWR) de que
ocorreu uma falha no sistema de alimentação
PROCESSO
–
Processo que será executado
Seqüência de boot
●
●
/etc/inittab(5) (continuação)
initdefault
–
id: N : initdefault:
●
define em qual runlevel (N) o sistema será inicializado
# inittab for linux
id:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:respawn:/etc/getty 9600 tty2
3:1:respawn:/etc/getty 9600 tty3
4:1:respawn:/etc/getty 9600 tty4
Seqüência de boot
●
/etc/inittab(5) (continuação)
●
Exemplo mais bem elaborado em
–
http://jvictor.dyndns.org/linux/inittab-mbe.txt
Seqüência de boot
●
/etc/inittab(5) (continuação)
# nível de execução que estamos
id:2:initdefault:
# Script de inicialização/configuração do
#sistema na hora do boot
si::sysinit:/etc/init.d/rcS
#O que fazer em modo monousuário
S:wait:/sbin/sulogin
Seqüência de boot
●
/etc/inittab(5) (continuação)
# /etc/init.d/rc executa os script S e K na
# mudança de runlevel
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
Seqüência de boot
●
/etc/inittab(5) (continuação)
# O que fazer com o "CTRL+ALT+DEL"
ca::ctrlaltdel:/sbin/shutdown -t1 -h now
1:23:respawn:/sbin/getty tty1 VC linux
2:23:respawn:/sbin/getty tty2 VC linux
3:23:respawn:/sbin/getty tty3 VC linux
4:23:respawn:/sbin/getty tty4 VC linux
S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
Seqüência de boot
●
Scripts
–
–
●
rc, rc.sysinit, Em: /etc/init.d, /etc/rc.d/init.d
Tarefas comuns dos scripts de inicialização
–
–
–
–
–
–
–
Logar a seqüência de boot
Desmontar e liberar o initrd
Configurar o teclado
Setar as configurações de performance
Checar se os sistemas de arquivos estão ok
Acertar a hora do sistema
Carregar módulos do kernel
Seqüência de boot
●
Tarefas comuns dos scripts de inicialização
(continuação)
–
–
–
–
–
–
–
Ativar a memória swap
Montar os sistemas de arquivos
Checar quotas
Detectar os hardwares que não foram detectados
automaticamente pelo kernel
Setar o hostname da máquina
Levantar as interfaces e conexões de rede
Levantar NIS e NFS
Seqüência de boot
●
RUNLEVEL
–
Modo de execução.
0 - HALT
1,s - Single mode (administração)
2 - Multiusuário sem opções de rede
3 - Multiusuário completo (padrão)
4 - reservado para personalização
5 - Modo gráfico (Xwindow - xdm)
6 - Reboot
Seqüência de boot
●
/etc/rcX.d
–
●
●
X é o nível de execução do sistema
O comando init X é usado para definir o
runlevel atual
Scripts em /etc/rcX.d
–
–
Começados por S deverão ser executados como
/etc/rcX.d/nomedoscript start
Começados por K deverão ser executados como
/etc/rcX.d/nomedoscript stop
Seqüência de boot
●
/etc/rc.d/rc.local
–
–
●
Último script a ser executado na seqüência de
boot
Nele devem existir configurações que não foram
previstas nos scripts de inicialização
getty(8)
–
–
–
–
Habilita login de usuários
Abre os tty’s (terminais) e configura seu modo de
operação
Mostra o prompt de login
Inicializa o processo login para o usuário
Seqüência de boot
●
login(8)
–
–
checa senha
executa o shell do usuário (definido em /etc/ passwd)
Seqüência de boot
●
Adicionando um script na inicialização
cd /etc/rc?.d/
ln ­s /etc/init.d/script S??script
●
No RedHat
chkconfig script on
–
No script devem existir as linhas:
#chkconfig: runlevels Snum Knum
#description: Script responsável por....
Seqüência de boot
●
Removendo um script na inicialização
cd /etc/rc?.d/
rm S??script
●
No RedHat
chkconfig script off
chkconfig ­­level 235 script off
Seqüência de boot
●
Alternando entre runlevels
–
init n
●
–
runlevel(8)
●
–
n é o runlevel desejado
Informa o runlevel anterior e o atual
telinit(8) [­t segundos]
●
O mesmo que init(8) porém permite especificar um
delay para a troca do runlevel
UNIX® Administração
Gereciamento de contas
de usuários e grupos
UNIX® Administração
Contas de usuários
Administrando contas de usuários
●
O arquivo /etc/passwd contém as contas
de usuários
–
Cada linha descreve um usuário
–
Cada linha possui 7 campos separados por :
login:senha:UID:GID:nome:home:shell
Administrando contas de usuários
●
Campos de /etc/passwd
–
Login
●
–
Password
●
–
Nome de usuário
Senha associada ao usuário, se o password shadow
estiver habilitado este campo estará preenchido com
um x
User ID
●
Número de identificação único associado ao usuário
Administrando contas de usuários
●
Campos de /etc/passwd (continuação)
–
Group ID
●
–
Full Name
●
–
Número de identificação do grupo primário do usuário
Nome completo do usuário mais campos informativos
e especiais
Shell
●
Interpretado de comandos padrão do usuário
Administrando contas de usuários
●
Administrando contas via linha de comando
–
useradd(8)
●
–
userdel(8)
●
–
Modifica contas de usuários já existentes
chfn(8)
●
–
Remove contas de usuários
usermod(8)
●
–
Cria contas de usuários
Modifica o nome completo e informações de usuários
chsh(8)
●
Troca a shell do usuário
Administrando contas de usuários
●
useradd [­defgGkmnpsu] usuário
–
Cria contas de usuários
–
c
●
–
d
●
–
e
●
–
f
●
Comentário - normalmente usado para definir o nome
completo do usuário
Diretório home do usuário
Data da expiração da conta no formato YYYY-MM-DD
Dias após a expiração do password em que a conta
será permanentemente desabilitada
Administrando contas de usuários
●
useradd [­defgGkmnpsu] usuário (continuação)
–
g
●
–
G
●
–
k
●
Grupo primário do usuário
Lista de grupos, separada por vírgula e sem espaços,
que o usuário pertence
define diretório onde estão as configurações iniciais
das contas de usuários
Administrando contas de usuários
●
useradd [­defgGkmnpsu] usuário (continuação)
–
m
●
–
n
●
–
p
●
Informa que o diretório do usuário deverá ser criado
automaticamente
Não criar um grupo separado para o usuário, utilizar
um já existente
Define um password para o usuário
Administrando contas de usuários
●
useradd [­defgGkmnpsu] usuário (continuação)
–
s
●
–
u
●
–
o
●
Define a shell padrão do usuário
Define o número de identificação único do usuário
Permite a criação de um usuário com o mesmo UID de
um já existente
Administrando contas de usuários
●
useradd [­defgGkmnpsu] usuário (continuação)
–
D ●
–
atualiza o arquivo /etc/default/useradd
Exemplo:
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=­1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
Administrando contas de usuários
●
userdel(8) [­r] usuário
–
Remove contas de usuários do sistema
–
Se a opção ­r for passada como parâmetro o
diretório do usuário será removido
–
Por default os diretórios de usuários são
mantidos
Administrando contas de usuários
●
usermod(8) [­cdefgGklmnpsuLU] usuário
–
–
As opções equivalem às opções do useradd(8)
l novonome ●
–
L
●
–
U
●
permite modificar o login do usuário
bloqueia o password do usuário, impedindo o login
desbloqueia a conta do usuário
Administrando contas de usuários
●
chsh(8) ­s shell usuário
–
Permite alterar o interpretador de comandos
padrão do usuário
–
Shell é o caminho da shell
–
Somente shells listadas em /etc/shells são
permitidas, a menos que invoque o comando
como superusuário
UNIX® Administração
Grupos de usuários
Administrando contas de usuários
●
●
Permite o compartilhamento de informações
O arquivo /etc/group define os grupos de
usuários
–
–
cada linha define um grupo
cada linha tem o seguinte formato:
grupo:password:GID:membros
Administrando contas de usuários
●
Campos de /etc/group
–
grupo
●
–
Password
●
–
Senha associada ao grupo para fins administrativos,
uso incomum
Group ID
●
–
Nome do grupo
Número de identificação único associado ao grupo
Membros
●
Lista dos usuários que pertencem ao grupo separados
por vírgula e sem espaços
Administrando contas de usuários
●
groupadd(8) ­g gid grupo
–
–
Cria um grupo
g
●
●
groupdel(8) grupo
–
●
Define o número de identificação único do grupo
Remove um grupo
groupmod(8) grupo
–
–
–
Remove um grupo
n novonome
g gid
Administrando contas de usuários
●
/etc/shadow(5)
–
–
apenas o root pode ler e escrever
maior segurança
login:senha:cp1:cp2:cp3:cp4:cp5:cp6:reservado
cp1 = Dias a partir de 1/1/1970 que a senha foi alterada
cp2 = Dias a partir do qual a senha pode ser mudada
cp3 = Por quantos dias a senha é válida
cp4 = Em quantos dias antes da senha expirar o usuario
deve ser avisado
cp5 = Quantos dias depois que a senha expirou a conta é
desabilitada
cp6 = Dia (a partir de 1/1/1970) que a conta é desabilitada
UNIX® Administração
Quotas de disco
Administrando contas de usuários
●
●
●
●
Limita o consumo de espaço em disco pelo
usuário
Limita número de inodes e blocos utilizados
Deverá ser aplicada em cada sistema de
arquivos que espera-se que o usuário utilize
Arquivos de quotas são [a]quota.user e [a]guota.group
Administrando contas de usuários
●
quotacheck(8)
–
–
–
Checa a utilização de disco de cada usuário em
cada sistema de arquivos com quota
Corrige o arquivo de quotas caso esteja corrompido
Deverá ser executado na inicialização do sistema,
antes do sistema de quotas estar no ar
quotacheck ­avugn –
Checa as quotas de usuário e grupo de todos os
sistemas de arquivos com quota e corrige o aquivo
de quotas caso esteja corropido
Administrando contas de usuários
●
quotaon(8)
–
Ativa o sistema de quotas no sistema de arquivos
–
O arquivos de registro de quotas devem existir na
raiz do sistema de arquivos
quotaon ­avug
●
Ativa o sistema de quotas para usuários e grupos em
todos os sistemas de arquivos
Administrando contas de usuários
●
Normalmente encontramos no scripts de
inicialização algo como:
# Checa as quotas e então ativa o sistema de quotas
if [ -x /usr/sbin/quotacheck ]
then
echo "Checando quotas. Isso poder levar algum tempo."
/usr/sbin/quotacheck -avug
echo " Feito."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Ativando o sistema de quotas."
/usr/sbin/quotaon -avug
fi
Administrando contas de usuários
●
Notas importantes:
–
O check de quotas (quotacheck) deve ser feito
com os sistema de quotas desligado
–
O check de quotas (quotacheck) deverá ser feito
com o sistema de arquivo com quotas montado
–
A ativação do sistema de quotas (quotaon) deverá
ser feito com o sistema de arquivos montado
Administrando contas de usuários
●
Para habilitar quotas de disco
–
Para usuários adicione usrquota no campo opções
do sistema de arquivos desejado em /etc/fstab
–
Para grupos adicione grpquota no campo opções
do sistema de arquivos desejado em /etc/fstab
/dev/hda2 / ext3 defaults,usrquota,grpquota 0 1
●
Ativa quotas de usuário e grupos no sistema de arquivos
/
Administrando contas de usuários
●
edquota(8)
–
Ferramenta de edição de quotas de usuários e
grupos
–
É possível editar quotas para mais de um usuário
ao mesmo tempo
–
É possível especificar um usuário com padrão
–
Apenas o super-usuário pode editar o arquivo de
quotas
Administrando contas de usuários
●
edquota(8) (continuação)
–
Soft Limit
●
–
Hard Limit
●
–
Indica o máximo de espaço em disco permitido para o
usuário, pode ser ultrapassado
Indica o máximo de espaço em disco sem concessão de
tempo de estouro, normalmente maior do que o “Soft
Limit”
Grace Period
●
Número máximo de dias que o “Soft Limit” pode estar
ultrapassado
Administrando contas de usuários
●
repquota(8)
–
Gera um relatório das quotas de disco
–
Imprime o status de cada usuário
–
Informa o espaço em disco em kilobytes
UNIX® Administração
NIS
Network Information NameService
NIS
●
●
Padroniza informações compartilhadas pela
rede
Permite compartilhar informações de:
–
–
–
–
–
usuários
grupos
password
redes
hosts
NIS
●
●
●
Em uma rede deve-se ter pelo menos um
servidor NIS
Podem existir mais de um servidor NIS
atuando ao mesmo tempo em domínios
diferentes
Podem existir mais de um servidor atuando
cooperativamente em um mesmo domínio
(Master, Slave)
NIS
●
Master
–
–
–
●
Possui a lista de contas de usuários
Deve existir apenas um por domínio
Onde alterações no banco de dados NIS devem
ser feito
Slave
–
–
Possuem apenas cópia do banco de dados NIS
Copiam o banco de dados NIS periodicamente do
master
NIS
●
portmap(8)
–
Transforma chamadas RPC em portas TCP/IP
–
Deve estar rodando para que o NIS funcione
–
Quando o RPC for executado o portmap será
informado de que portas deverá escutar
–
Faz a intermediação entre cliente/servidor NIS
NIS – Configurando o cliente
●
Configuração possível para clientes
●
/etc/yp.conf(5)
domain nisdomain server hostname
domain nisdomain broadcast
ypserver hostname
as informações nis são armazenadas em /var/yp
/etc/nsswitch.conf
hosts: files nis dns
NIS – Configurando o cliente
●
/etc/yp.conf(5)
ypserver 10.10.0.1
ypserver 10.0.100.8
ypserver 10.3.1.1
domainname lab02.nce.ufrj.br
/sbin/portmap
/usr/sbin/ypbind
NIS – Configurando o cliente
●
Para manter o banco NIS atualizado
–
/etc/crontab
20 * * * * /usr/lib/yp/ypxfr_1perhour
40 6 * * * /usr/lib/yp/ypxfr_1perday
55 6,18 * * * /usr/lib/yp/ypxfr_2perday
NIS – Configurando o Servidor
●
/var/yp/Makefile
–
●
/var/yp/ypservers
–
●
Define os arquivos que estarão disponíveis via NIS
Lista de todos os servidores do domínio
/var/yp/securenets
Lista das redes que possuem permissão de acesso
as informações da rede
255.255.255.0 10.10.0.0
host
10.0.0.1
–
NIS – Configurando o Servidor
●
/etc/ypserv.conf
–
Configuração de segurança do ypserv
/sbin/portmap
ypserv
#Master
/usr/lib/yp/ypinit ­m
#Slave
/usr/lib/yp/ypinit ­s masterhost
cd /var/yp
make
UNIX® Administração
NFS
Network File System
NFS
●
●
●
Permite maquinas montarem um sistema de
arquivos remoto como se fosse um sistema
de arquivos local
Permite compartilhar arquivos através da
rede de forma rápida e fácil
Vantagem sobre outros sistemas de arquivos
para rede
–
–
–
–
Fácil implementação
Código maduro
Considerado um padrão
Suportado por uma variedade de plataformas
NFS – Configurando o Servidor
●
/etc/exports(5)
–
–
–
Arquivo de configuração do servidor NFS
define quais sistemas de arquivos serão
exportados
define o controle de acesso aos sistemas de
arquivos exportados
–
diretório maquina(permissão,...) ...
/usr *(ro,sync,root_squash)
/var/www pc1(rw,sync) pc2(ro,)
NFS – Configurando o Servidor
●
/etc/hosts.deny e /etc/hosts.allow
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
●
NFS – Configurando o Servidor
●
Inicializando o servidor NFS
#/sbin/portmap
#/usr/sbin/rpc.mountd
#/usr/sbin/rpc.nfsd
#/usr/sbin/rpc.statd
#/usr/sbin/rpc.lockd
#/usr/sbin/rpc.rquotad
#/usr/sbin/rpcinfo ­p
NFS – Configurando o Servidor
●
Alterando o /etc/exports(5) após a
inicialização do serviço
#/usr/sbin/exportfs(8) ­ra
ou
#/sbin/kill ­1 no PID do nfsd
As informações são armazendas em
/var/lib/nfs
●
NFS – Configurando o Cliente
●
Configuração simples
#/sbin/portmap
#/usr/sbin/rpc.lockd
#/usr/sbin/rpc.statd
#mount server:/home /mnt/home
#umount /mnt/home
server:/home /home nfs defaults 0 0
UNIX® Administração
Compilando o kernel
Kernel
●
O que é o kernel?
●
Por que recompilar?
–
–
●
Onde encontrar?
–
–
●
Otimização
Suporte a novos hardwares
http://www.kernel.org
Construo um kernel modular ou monolítico?
Kernel
●
Determinando seu hardware
lspci(8)
cat /proc/cpuinfo
●
Descompactando os fontes
cd /usr/src
tar ­jxvf linux­2.4.26.tar.bz2
ln ­s linux­2.4.26 linux
Kernel
●
Documentação
/usr/src/linux/Documentation
●
Limpando os fontes
cd /usr/src/linux
make mrproper
●
Configurando
make config
make menuconfig
make xconfig
Kernel
●
Satisfazendo as dependencias de compilação
make dep
●
Compilando o kernel
make Image (Sem compactação)
make zImage (compactado com gzip)
make bzImage (compactado com bzip2)
– a imagem gerada estará em
/usr/src/linux/arch/i386/boot/bzImage , zImage ou Image
Kernel
●
Compilando os módulos
make modules
make modules_install
– Os modulos do kernel residem em
/lib/modules/versão­do­kernel
●
Após a compilação
copiar a imagem do kernel para /boot com o
nome vmlinuz­versão­do­kernel
– copiar System.map para
/boot/System.map­versão­do­kernel
–
Kernel
●
Criando um initrd(4) (initialized RAM disk)
–
–
–
Permite uma maior portabilidade do kernel
Útil somente em um kernel modular
É necessário que seu kernel tenha suporte a isso
mkinitrd /boot/initrd­2.4.26.img 2.4.26
UNIX® Administração
Gerenciador de boot
lilo
●
lilo(8)
–
●
Tradicional gerenciador de boot do linux
/etc/lilo.conf(5)
Arquivo de configuração do lilo
leitura do manual é recomendável
Sempre que alterar o arquivo de configuração se faz
necessário executar o comando
#lilo
–
–
–
lilo
●
/etc/lilo.conf(5)
–
Exemplo:
boot = /dev/hda vga = 0 lba32 image = /boot/vmlinuz­2.4.26
root = /dev/hda2
initrd = /boot/initrd­2.4.26
label = Linux
read­only other = /dev/hda4
table = /dev/hda
label = dos
Grub
●
grub(8)
–
–
–
–
–
●
Novo padrão de gerenciador de boot
Configuração simples
Possui mais recursos
“Boota” mais Sistemas Operacionais
Não é necessário executar comando algum ao
alterar o arquivo de configuração
/boot/grub/menu.lst(5)
–
–
Arquivo de configuração do grub
é possivel que esteja em /etc/grub.conf
Grub
●
/boot/grub/menu.lst(5) (continuação)
boot=/dev/hda
default=0
timeout=10
title Red Hat Linux (2.4.26)
root (hd0,1)
kernel /boot/vmlinuz­2.4.26 ro root=/dev/hda2
initrd /boot/initrd­2.4.26.img