FreeBSD
 
 
Pós-Instalação
(procedimentos e comandos básicos)

Esta página tem o objetivo de mostrar o básico do FreeBSD, sendo muito interessante, para quem acaba de instalar tal Sistema Operacional e não sabe muito o que fazer. Quando possível, farei comparações entre entre o FreeBSD e o GNU/Linux ;-).



Habilitando um usuário comum para usar o comando "su":

Ao iniciar o sistema, aparecerá uma tela de login onde se poderá entrar com o usuário "root" ou um "outro" que foi adicionado durante a instalação do FreeBSD. Por padrão, ao entrar com um usuário que não seja o "root", não será permitido a execução do famoso comando "su" para mudar de usuário (aparecerá a messagem de erro "su: Sorry"). Isso, também influênciará quando um usuário estiver acessando o FreeBSD via "ssh", sendo que ele não conseguirá utilizar o comando "su" para mudar para o usuário "root" ou para qualquer outro usuário. Para resolver esta questão é necessário adicionar os usuários com permissão de usar o comando "su" ao grupo chamado "wheel". Siga os passos a seguir para adicionar os usuários ao grupo "whell":

# vi /etc/group(encontre a linha a seguir)
wheel:*:0:root(esta é linha padrão. Veja que somente o usuário "root" está no grupo "whell". Para adicionar outro usúário, siga o exemplo da linha a seguir)
wheel:*:0:root,nome_usuário(substitua "nome_usuário" pelo nome do usuário com permissão de usar o comando "su")
Salve e Saia do arquivo
Dica: ao em vez de usar os procedimentos acima, poderia simplesmente digitar o comando "gpasswd -a nome_usuário wheel" ou "adduser nome_usuário wheel".


Habilitando o usuário "root" para acessar remotamente via "ssh" o FreeBSD:

Por questões de segurança, o FreeBSD não permite o acesso via "ssh" pelo usuário "root". Aparece a menssagem "Permission denied (publickey,keyboard-interactive)". Então, primeiro se deve acessá-lo remotamente com um usuário comum e só então utilizar o comando "su" ou "su -" para mudar para o "root". Vale evidenciar que isso é para manter o sistema mais seguro, mas se mesmo assim você quiser habilitar tal funcionalidade siga o passos abaixo:

# vi /etc/ssh/sshd_config(procure a linha a seguir)
#PermitRootLogin no(substitua esta linha pela linha a seguir)
PermitRootLogin yes(como pode ser visto, foi descomentada a linha e colocado um "yes" no lugar do "no")
Salve e Saia do arquivo(digite o comando a seguir)
/etc/rc.d/sshd restart(restarta o serviço do ssh)


Ver a tabela de roteamento:
netstat -r


O comando "ifconfig":
ifconfig(a seguinte tela aparecerá)

Veja que o FreeBSD coloca uma abreviatura do nome do chipset da placa de rede para designar os nomes das interfaces de rede. Diferentemente do GNU/Linux que segue o padrão "ethX". Por exemplo, "sis0" significa uma placa de rede com o chipset da SIS, o "xl0" significa uma placa de rede da 3Com e "rl0" significa uma placa de rede da Realtek ;-). Também, é importante notar que a máscara de rede está no formado hexadecimal. Assim, existe a necessidade de transformá-la em formado decimal para saber qual máscara está sendo usada. Exemplo, "0xff000000" é igual a "255.0.0.0", "0xffff0000" é igual a "255.255.0.0" e "0xffffff00" é igual a "255.255.255.0". Evidentemente que se houve máscara quebrada, ou seja, de subrede será necessário fazer as contas matemáticas :-(.



Um dos arquivos de configuração mais importante:
vi /etc/rc.conf(arquivo que contém uma variedade enorme de funções e serviços importantes e que serão habilitados ou desabilitados durante o boot. Ao modificar este arquivo é necessário reiniciar o computador)
defaultrouter="10.1.1.1"(especifica qual é o roteador padrão, ou seja, o endereço IP do roteador/gateway que tem a saída para a Internet)
gateway_enable="YES"(Esta é usada quando o FreeBSD está sendo usado como um gateway/roteador. Habilita/Desabilita o roteamente/IP_Forward de pacotes através do FreeBSD, ou seja, libera a passagem de pacotes de rede através das interfaces de rede do FreeBSD. Equivalentes a linha "net.ipv4.ip_forward=1" que fica no arquivo "/etc/sysctl.conf" em um GNU/Linux. Também, grosseiramente é equivalente ao comando "echo 1 > /proc/sys/net/ipv4/ip_forward" no GNU/Linux)
hostname="frebsd07.matrix.com.br"(nome de host e domínio do computador, ou seja, o FQDN (Fully Qualified Doman Name))
ifconfig_sis0="inet 10.1.1.254 netmask 255.0.0.0"(linhas que começam com "ifconfig" são usadas para configurar as interfaces de rede. Nesta linha temos um placa de rede SIS, com o IP 10.1.1.254 e máscara de rede 255.0.0.0. Para mais informações digite no shell "man rc.conf")
inetd_enable="NO"(Habilita/Desabilita os serviços conhecido como "Internet Super-Server". Exemplo, "telnetd", "ipopd", "ftpd", "ntalk" etc)
keymap="br275.iso.acc"(configuração do teclado)
linux_enable="YES"(Habilita/Desabilita a emulação de binários GNU/Linux. Com isso, o FreeBSD mantem compatibilidade com os programas GNU/Linux. Em outras palavras, poderá rodar a maioria de programas compilados para o GNU/Linux. Podendo agora executar softwares no FreeBSD compilados para o GNU/Linux, sem ter que recompilá-los. Para verificar se esta compatibilidade está carregado no sistema digite no shell "kldstat")
moused_enable="YES"(Habilita/Desabilita o mouse no modo texto)
sshd_enable="YES"(Habilita/Desabilita o serviço do ssh durante o boot)


Utilização dos discos com o comando "df"
df -h(mostra a utilização do disco)

Neste caso utilizei a configuração padrão oferecida pelo FreeBSD durante a instalação do sistema. O tipo de filesytem é diferente dos que são encontrados para o GNU/Linux e como pode ser visto a nomeação dos discos e partições também são diferentes.

# swapinfo -m(mostra a utilização do "swap")


Utilização da memória com o comando "muse"
# cd /usr/ports/sysutils/muse
# make
# make install(reinicie o sistema)
# muse -k(mostra a utilização do sistema. Equivalente ao comando "free" no GNU/Linux)


Informações em Geral sobre o Hardware
# dmesg | grep -i memory(memória)
# dmesg | grep CPU(CPU)
# sysctl -a | grep hw."*"mem(memória)
# swapinfo -m(swap)
# dmidecode (informações em geral sobre o hardware. "lspci" do FreeBSD)


Manuais Interessantes
# man tuning ()
# man fifo (named pipe)
# man blackhole (esse manual mostra como mudar especificações da arquitetura TCP/IP como o envio dos TCP-RST ou ICMP Port Unreachable)


Tuning
# man tuning ()
# man blackhole (esse manual mostra como mudar especificações da arquitetura TCP/IP como o envio dos TCP-RST ou ICMP Port Unreachable)
net.inet.tcp.blackhole=2 (NÃO ENVIA OS TCP-RST E ICMP UNREACHABLE)
net.inet.tcp.log_in_vain=1 (gera logs de tentativas de acesso a portas TCP fechadas)
net.inet.udp.log_in_vain=1 (gera logs de tentativas de acesso a portas UDP fechadas)
kern.ipc.maxpipekva (esse parâmetro define o limite máximo de "named_pipes" usados na comunicação entre processos na memória. Quando dois processos precisam se comunicar é usado um intermediário chamado "named_pipe". No FreeBSD um "named_pipe" é um arquivo onde um processo "escreve" e outro "ler" (FIFO). O limite máximo desse parâmetro pode ser visto com o comando "sysctl kern.ipc.maxpipekva". Já a quantidade que está em uso no momento "sysctl kern.ipc.pipekva". Mais informações "man fifo")
()


SYSCTL
# sysctl -a (no Linux mostra todos os paramentros. No FreeBSD mostra todos os paramentros do Kernel "opaque")
# sysctl -A (no Linux, idem, só que mostra num formato de tabela. No FreeBSD é equivalalente a "-a" e "-o")
# sysctl -o (só para FreeBSD. Mostra todos os paramentros do Kernel "opaque")
# sysctl parametro (mostra valor do paramentro do Kernel. Exemplo "sysctl kern.ipc.maxpipekva" ou "sysctl net.inet.tcp.syncache.bucketlimit")
# sysctl -d parametro (só para FreeBSD. Mostra a descrição do paramentro do Kernel. Exemplo "sysctl -d kern.ipc.maxpipekva")
# ()



AGUANDE
PÁGINA EM CONSTRUÇÃO

 
 


Hugo Azevedo de Jesus
ETI - Especialista em Tecnologia da Informação