Guia Completo de Linux: Comandos, Redes e Serviços
Conceitos Fundamentais do GNU/Linux
Richard Stallman – FSF (Free Software Foundation). GNU: copiar, alterar e distribuir.
Linus Torvalds – Núcleo = Kernel. S.O. = GNU/Linux
GPL: General Public License (permite editar o código-fonte).
Particionamento de Disco
SDA1 / SDA2 / SDA3 / SDA4 / SDA5
Primária / Primária / Primária / Estendida / Lógica
Partições:
- /boot – 100 MB
- Swap – o dobro da RAM, até 2 GB (exceção para Oracle)
- / – 20 GB
- /var – 10 GB
- /home – variável
Boot loader: GRUB (MBR)
Características e Terminais
Linux é multiusuário, multiprocessado e multitarefa.
Terminais:
- Alt + Fn: F1, F2, F3, F4, F5, F6
- Ctrl + Alt + Fn: F7, F8, F9, F10, F11, F12
Durante a instalação há 4 consoles:
- F1: instalação
- F2: console (execução de comandos)
- F3: reconhecimento de hardware
- F4: mensagens do kernel
Níveis de Inicialização
/etc/inittab – define a ordem e os tipos de inicialização:
- 0 – desligar
- 1 – modo monousuário
- 2 – modo multiusuário
- 3 – modo texto normal
- 4 – modo reservado (para aplicações)
- 5 – modo gráfico
- 6 – modo reiniciar
Editores de texto: VIM, MCEDIT, PICO, NANO.
Serviços essenciais do sistema: auditd, gpm, network, sshd, syslog, xfs.
Gerenciamento de Sistema e Sessões
- Reiniciar:
shutdown -r now,init 6,reboot - Desligar:
shutdown -h now,init 0,halt - Deslogar:
exit,logout,Ctrl+D - TTY: apresenta o terminal corrente
- Ctrl+L: limpa a tela
- Repetir o último comando:
Esc+.(ponto)
Usuários e Processos
- adduser linux – cria o usuário linux
- passwd linux 123 – define a senha
- users – lista usuários em ordem alfabética
- who – mostra os usuários e seus terminais
- w – versão mais completa do comando anterior
- groupadd – cria grupo
Navegação e Arquivos
- pwd – lista o diretório atual
- ls -la – lista arquivos ocultos
- ls -lah – igual ao anterior, com tamanhos legíveis
- ls -lah | more / ls -lah | less – paginação da saída
- | grep – filtrar a saída
- touch – cria arquivo
- rm -rf – apaga sem perguntar
- cp -r – cópia recursiva
- du -hs – mostra o tamanho do diretório
- Arquivo ou diretório iniciado com
.(ponto) é oculto.
Memória, Data e Visualização de Texto
- date – mês, dia, hora, minuto, ano e segundos
- free – memória livre; free -m – exibe em MB
- vi script:
yycopia a linha (p cola),ddapaga a linha - wc – word count; wc -l – conta linhas
- Ex.:
wc linhas palavras letras /etc/inittab - head /etc/inittab – mostra as 10 primeiras linhas
- tail – mostra as 10 últimas linhas
- man / --help / info – comandos de ajuda
Cortes de Texto e Laços
- cut -b -5 /etc/passwd
- cut -d : -f1 /etc/passwd – delimita o campo 1
- cut -d : -f1 /etc/passwd > usuarios
for i in $(cat usuarios); do mkdir $i; done
for i in $(cat user); do adduser $i; done
Compactação com Tar
Opções:
- c – create
- v – verbose
- z – compacta com gzip
- j – compacta com bzip2 (melhor compressão)
- f – destino/origem
- x – extrair
- t – listar
Extensões: .tar / .tar.gz / .tar.bz2
tar -cvf /tmp/backup.tar /etctar -cvzf /tmp/backup.tar.gz /etctar -cvjf /tmp/backup.tar.bz2 /etcdate +%d-%m-%Y
Restaurar: tar -xvjf /tmp/backup/bkp-etc-05-04-2013.tar.bz2 -C /tmp/restore
Recuperar arquivo específico (hosts): tar -xvjf /tmp/backup/bkp-etc-05-04-2013.tar.bz2 -C /tmp/restore/ --get etc/hosts
Listar conteúdo filtrando messages: tar -tvzf /tmp/backup/bkp-var.tar.gz | grep messages
Tarefas Agendadas (Cron)
- clock -w – hora pela BIOS
- crontab -l – lista tarefas do usuário logado
- crontab -e – cria tarefa agendada
- */5 – a cada 5 minutos
- Formato:
min hora dia mês diasemana comando - Serviço responsável: crond
- service crond status – status do serviço
- ntsysv – gerencia serviços do Linux
- watch -n1 date – executa o comando a cada 1 segundo
Exemplo: 25 22 11 04 04 tar -cvf /tmp/backup-etc.tar /etc > /dev/console
Instalação de Pacotes
- .rpm – pacote RedHat
- yum install nome-do-pacote
- aptitude install nome-do-pacote (.deb)
Ambos precisam de acesso à internet.
mount /dev/cdrom /media
cd /media/CentOS
- rpm -qa | grep samba – consulta pacotes instalados
- rpm -ivh nomedopacote.rpm – instala pacote
- rpm -ql nomedopacote – lista arquivos de um pacote
- rpm -e nomedopacote – remove pacote
Daemon crond
/etc/init.d/crond – daemon que fica em execução aguardando eventos.
service crond start/etc/init.d/crondcd /etc/init.d./crond
NAT e Roteamento
1º Comunicação entre placas:
echo 1 > /proc/sys/net/ipv4/ip_forward
Não é possível limitar por placa; a configuração vale para todas.
2º Abra /etc/rc.d/rc.local e adicione na última linha, sem #, o comando: echo 1 > /proc/sys/net/ipv4/ip_forward
Para configurar NAT:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
Configuração de Interfaces de Rede
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=NETMASK=BOOTPROTO=static
Gateway: /etc/sysconfig/network → GATEWAY=
Reinicie com: service network restart
Resolução de nomes: vi /etc/resolv.conf
NFS (Network File System)
Servidor
- Configuração:
vi /etc/exports - Diretório a exportar:
/data(crie commkdir /data) service portmap restartservice nfslock restartservice nfs restartntsysv→ marcar portmap, nfslock e nfschmod 777 /data- Verificar:
exportfsoushowmount -e
Cliente
mkdir /mnt/server-jardelservice portmap restartntsysv→ marcar portmap- Montar:
mount -t nfs 10.0.129.254:/data /mnt/server-jardel - Validar:
mountedf -h mkdir Cocate- Persistir montagem em
/etc/fstab(última linha):10.0.129.254:/data /mnt/server-jardel/nfs defaults 0 0 ntsysv→ marcar netfs
FTP (vsftpd)
rpm -qa | grep vsftp
É necessário usuário e senha.
Configuração: /etc/vsftpd/vsftpd.conf
anonymous_enable=NOchroot_list_enable=YES(remova o#)- Descomente:
chroot_list_file=...
Crie /etc/vsftpd/chroot_list incluindo o nome do usuário que acessará o servidor.
adduser xuxa
passwd xuxa 123
service vsftpd restart
ntsysv → marcar vsftpd
Apache (Servidor Web)
rpm -qa | grep httpd
Configuração: /etc/httpd/conf/httpd.conf
Diretório das páginas: /var/www/html/index.html
cd /var/www/htmlvi index.htmlservice httpd restartntsysv→ marcar httpd
SSH – Acesso Remoto
ssh -C -v usuario@IPCtrl+Dpara fazer logoff
DHCP
rpm -ivh dhcpd- Configuração:
vi /etc/dhcpd/dhcpd.conf service dhcpd restartntsysv→ marcar dhcpd- Parâmetros: default-lease-time e max-lease-time
Proxy Squid
Funções: 1º acelerador de acesso à internet; 2º filtro de conteúdo.
rpm -ivh squid- Configuração:
vi /etc/squid/squid.conf service squid restartntsysv→ marcar squid- Porta: 3128 (padrão)
- Bloqueio: por site ou palavra
Pontos de atenção:
- Porta
- cache_mem – limite de memória para o cache (padrão: 1/4 da RAM)
- cache_dir – diretório do cache
- Liberar ou bloquear acessos