Você está na página 1de 70

CEDUP Centro de Educao Profissional Diomcio Freitas de Tubaro CURSO : Tcnico em Redes de Computadores Professor : Maurcio da Costa Canto

o canto.mauricio@gmail.com Elaborado : Maurcio da Costa Canto

SISTEMAS OPERACIONAIS I E II

Tubaro Fevereiro de 2013

SUMRIO

1. SISTEMAS OPERACIONAIS............................................................................................ 4 1.1. WINDOWS ............................................................................................................. 4 1.2. UNIX ...................................................................................................................... 5 1.2.1. Histria do FreeBSD .................................................................................. 5 1.2.2. Por que o FreeBSD tem a sua fama?......................................................... 9 2. VITUALIZAO ........................................................................................................... 11 2.1. VIRTUALBOX ....................................................................................................... 12 2.1.1. Criando Mquinas Virtuais...................................................................... 13 2.2. VMWARE ............................................................................................................. 20 2.2.1. Criando Mquinas Virtuais...................................................................... 21 3. FREEBSD ..................................................................................................................... 26 3.1. INSTALAO DO FREEBSD .................................................................................. 26 3.2. COMANDOS DE SHELL ........................................................................................ 37 3.2.1. Entrando e saindo do sistema ................................................................ 38 3.2.2. Comandos, manuseio de arquivos e diretrios ...................................... 39 3.2.3. Informaes do sistema .......................................................................... 46 3.2.4. Redirecionamentos ................................................................................. 48 3.2.5. Localizando arquivos. .............................................................................. 49 3.3. ESTRUTURA DE DIRETRIOS DO FREEBSD ......................................................... 51 3.4. USURIOS, GRUPOS E PERMISSES ................................................................... 54 3.4.1. Usurios .................................................................................................. 55

3.4.2. Grupos ..................................................................................................... 58 3.4.3. Permisses .............................................................................................. 59 3.5. INSTALANDO PACOTES ....................................................................................... 63 3.5.1. Pacotes pr-compilados.......................................................................... 63 3.5.2. Aplicativos atravs do ports ................................................................ 63 3.6. CONTROLE DE PROCESSOS ................................................................................. 65 3.7. SHELLS ................................................................................................................. 67

1. SISTEMAS OPERACIONAIS
Todos os equipamentos eletrnicos que possuem algumas funcionalidades mais avanadas possuem um S.O. (Sistema Operacional) rodando neles. Televisores, aparelhos de som e at mesmo os eletrodomsticos j possuem S.Os. E todos estes S.Os so uma evoluo natural dos sistemas feitos para gerenciar os computadores. Sem um sistema desse tipo, o computador se torna intil nos dias atuais. O objetivo de um S.O. organizar e controlar o hardware e o software para que o dispositivo funcione de maneira flexvel e previsvel. Nessa disciplina vamos ver um pouco de teoria sobre os principais S.Os do mercado, e muita prtica sobre S.Os baseados em UNIX.

1.1.

WINDOWS

Existem diversos tipos de S.Os. Os mais conhecidos so os da famlia Windows da Microsoft. Que segue duas linhas de desenvolvimento. A primeira, que a que convivemos praticamente todos os dias, destinada para usurios domsticos e uso dirio. Esta linha tem os produtos Windows XP, Vista e Seven como os mais conhecidos atualmente. J a segunda linha da de S.Os para servidores. Que possui os Sistemas Windows Server 2003, 2008 e o recm-lanado 2012. Essa linha possui uma quantidade muito maior de recursos avanados.

Muitas empresas possuem pelo menos um servidor de seu datacenter com S.O. da famlia Windows Server. Isso porque o parque de computadores das empresas

costuma ser baseada na outra famlia de S.O. da Microsoft. Isso torna necessrio pelo menos um conhecimento bsico sobre este S.O. 1.2. UNIX

Como o curso voltado para o ensino de ferramentas e servidores voltados para o S.Os baseados em UNIX, vamos trabalhar com o S.O. FreeBSD.

1.2.1. Histria do FreeBSD

O FreeBSD surgiu a partir do 386BSD , mais exatamente de um patchkit (pacote de correo de erros) do 386BSD. Na poca, o 386BSD era considerado um bom BSD, mas que estava enfrentando alguns problemas graves na questo de manuteno das atualizaes do sistema. Ento, um time formado pelos responsveis pelo desenvolvimento deste patchkit (Nate Williams, Rod Grimes e Jordan Hubbard ) resolveram lev-lo ao conhecimento do mantenedor do projeto, Bill Jolitz , para que com estes pacotes fosse possvel atualizar o sistema de forma bastante prtica. Mas para a surpresa do trio, Bill Jolitz no viu com bons olhos as intenes dos desenvolvedores, retirando apoio ao projeto bem como nenhum planejamento futuro para o desenvolvimento do sistema.

Todos estes acontecimentos dataram pelos anos de 1992 e 1993, sendo que neste ltimo ano realmente podemos considerar que o FreeBSD foi concebido pelos antigos desenvolvedores do patchkit do 386BSD. Sendo assim o FreeBSD (nome sugerido por David Greenman), nasce para continuar um trabalho de base j realizado no 386BSD. E como uma das metas do projeto era justamente divulgar um pouco mais o sistema que na poca era praticamente desconhecido, resolveram entrar em negociaes Walnut Creek CDROM. Na poca poucas pessoas possuam conexes com a Internet e at pelo fato da grande rede estar engatinhando, a grande jogada era realmente distribuir o FreeBSD em CD. De fato a Walnut aceitou a distribuir o CD com o FreeBSD, e fez algo a mais muito vlido que certamente ajudou o FreeBSD a ser o que hoje, que foi o fato de disponibilizar uma mquina dedicada e uma boa conexo com a Internet. Realmente o feito realizado pela Walnut abriu as portas para o FreeBSD, pois na poca a Internet era muito usada pelos meios acadmicos, possibilitando a rpida propagao do conhecimento do projeto do FreeBSD. O FreeBSD foi lanado oficialmente em CD e na Internet em dezembro de 1993, baseado no 4.3BSD-Lite, conhecido como Net/2. Na poca a verso denominavase FreeBSD 1.0, tendo como base muitos componentes do 386BSD e da Free Software Foundation. Segundo os autores do projeto o sucesso foi bastante empolgante, fazendo com que em maio de 1994 surgisse o FreeBSD 1.1. Mas, nem tudo conto de fadas no desenvolvimento do FreeBSD. Na poca, existia um processo judicial envolvendo a Novell e a U.C Berlekey sobre a fita do Net/2.Muitos pedaos do cdigo fonte do Net/2 que na poca eram a grande base do FreeBSD , tinham como proprietria a AT&T, esta comprada pela Novell. Sendo assim, a soluo encontrada foi retirar todos os trechos de propriedade da Novell do sistema e refazer todos os setores do sistema que ficaram rfos . Mas mesmo assim, ainda foi lanada uma verso do FreeBSD, a 1.1.5.1. Ainda neste tempo foi lanado o 4.4BSD-Lite, sendo um BSD com todos os cdigos envolvidos em decises legais, retirados do sistema. Este fato deixou este BSD

muito incompleto para tornar-se realmente utilizvel. E nesta atmosfera de cdigos incompletos, que o FreeBSD ganha fora, tendo grande parte do sistema renascida, pois esta a melhor forma de demonstrar a difcil situao desta poca. J em dezembro de 1994, sai a verso 2.0 do FreeBSD. Como de costume sua principal fonte de distribuio foi o CD, mas a Internet tambm ajudou muito a disseminar a nova verso do sistema. Caiu nas graas do pblico mesmo com seus incontveis problemas, e em Junho de 1995 sai a verso 2.0.5. Segundo os desenvolvedores do projeto, a partir de agosto de 1996 o FreeBSD 2.1.5 passa a ser utilizado em provedores de Internet e no ramo corporativo. A partir da o seu desenvolvimento comea a tornar-se mais organizado, surgindo o ramo 2.1-STABLE. Em Fevereiro de 1997 a srie 2.1-STABLE tornou-se completa, abrindo caminhos para o desenvolvimento do ramo 2.2. Mas um pouco antes, em novembro de 1996 j eram iniciados os trabalhos para o desenvolvimento desta nova srie. Muitas pessoas ainda lembram-se desta data, pois foi deste ponto que o FreeBSD adquiriu denominaes para as fases de desenvolvimento, tais como RELENG e CURRENT. Da srie RELENG_2_2, surgiu em Abril de 1997 o FreBSD 2.2.1 e a ltima em Novembro de 1998. Surgiram ento duas fases de desenvolvimento a partir desta poca. A srie 3.X STABLE, e a 4.0-CURRENT. Depois de vrios aperfeioamentos, a srie 3.X do sistema tornou-se completo em Junho de 2000. Um pouco antes, em Maro de 2000 j estava em ambiente STABLE a srie 4.X, que por muitos considerada a melhor verso do sistema para uso em ambientes de produo . Esta verso contou com muitos adicionais de suporte a hardware e melhoria em performance do sistema em relao srie 3.X, ganhando finalmente a confiabilidade tanto tempo desejada. Esta confiabilidade trouxe muitos adeptos ao sistema, surgindo um novo leque de usurios, que so os ex-usurios de Linux. Este exusurios conhecendo o FreeBSD de forma mais profunda, admiram-se pela qualidade do projeto do FreeBSD , ocorrendo um gradual aumento do uso do FreeBSD no seu dia-a-dia.

A verso 5.0-RELEASE chega ao pblico em geral em 19 de janeiro de 2003. Nesta srie, h um suporte muito maior a novas tecnologias computacionais, tais como: Suporte avanado a multiprocessamento simtrico, suporte avanado a aplicaes. Multithread e suporte a novas arquiteturas como UltraSparc e ia64. Desta etapa surge alguns acontecimentos muito curiosos, tais como a diviso de alguns usurios em conservadores, por utilizarem a verso 4.X (mais estvel) e os mais audaciosos utilizando a srie 5.X, que por esta poca apesar das novidades era altamente instvel para ser utilizada em ambiente de produo.

1.2.2. Por que o FreeBSD tem a sua fama?

Por que um sistema operacional aparentemente complexo de usar, com uma publicidade de uso totalmente diferente do Linux consegue fazer tanto sucesso com os profissionais de informtica, tais como usurios avanados e administradores de rede? Para comeo de conversa, o FreeBSD conta com recursos de instalao de softwares e atualizao do sistema muito superior ao Linux. Existe um repositrio (rvore de aplicaes) para o FreeBSD conhecida como ports, ou seja, softwares portados para o FreeBSD , inclusive aplicaes Linux. Lembrando que o FreeBSD possui a vantagem de emular compatibilidade Linux. A vantagem real do ports simplesmente baixar o cdigo-fonte do software, compila-lo e instalar no sistema . Desta forma para cada hardware onde h o sistema rodando h uma otimizao real da performance, diferentemente do Linux com o seu apt-get que simplesmente pega o binrio e joga no sistema, sem otimizao nenhuma. Outro ponto importante a organizao do desenvolvimento do sistema. A equipe do FreeBSD conta com um time de commiters , que so os responsveis por gravar as informaes no repositrio CVS do sistema. E antes de qualquer procedimento de atualizao de cdigo, seja este enviado por um usurio interessado em ajudar o desenvolvimento do sistema ou por um prprio commiter, h uma rgida anlise no cdigo, para evitar problemas futuros de estabilidade e segurana. Esta construo robusta e aparentemente burocrtica faz o FreeBSD ser muito seguro na execuo de tarefas de alta disponibilidade. O sistema agenta uma carga muito maior de processamento de tarefas que qualquer sistema da Famlia Linux. No a toa que muitas empresas e provedores o usam para execuo de tarefas pesadas e importantes. A fama do FreeBSD tambm atribuda organizao do projeto no sentido de todos os diretrios de configurao, manuseio de parmetros e a disposio inteligente de sua rvore de diretrios (/etc , /usr e /var) mudarem pouco com a atualizao das verses.

Um sistema desenvolvido para rodar em FreeBSD 3.X certamente ir rodar no FreeBSD 5.X, ou um usurio que usava o FreeBSD 4.X ir utilizar sem problemas a srie 5X. Esta concordncia entre as verses um fator muito positivo para o FreeBSD. E para os usurios que possuem um hardware pouco poderoso, o FreeBSD tambm possui pontos interessantes, j que o LINUX com o passar dos anos est tornando-se muito pesado , transformando-se em um sistema totalmente grfico e sacrificando muito os computadores mais obsoletos. Certamente o usurio com um pouco de conhecimento de FreeBSD ir conseguir instala-lo em um Pentium 100 Mhz com 16 MB de memria e um disco de 1GB. Basta escolher os pacotes certos na hora da instalao para concluir com sucesso a instalao do sistema neste tipo de hardware. O nico fator negativo certamente certo atraso em relao ao desenvolvimento de um sistema desktop realmente funcional para o usurio final, pesar do esforo empenhado pelos sistemas PC-BSD e DesktopBSD, que contribuem e muito para o desenvolvimento de uma linha mais grfica para o FreeBSD. Certamente com o tempo teremos novidades nesta rea, inclusive a internacionalizao do projeto como um todo, pois ainda h uma forte tendncia de toda a documentao, menus de instalao e parte grfica ainda serem escritos para usurios de conhecimentos abrangentes na lngua inglesa.

2. VITUALIZAO

Cada vez mais este conceito faz parte do dia-a-dia do profissional de Tecnologia. Portanto vamos falar um pouco das ferramentas de Virtualizao que vamos trabalhar durante do decorrer da disciplina e tambm do curso. Ao falar em virtualizao, inevitvel que a maioria das pessoas a associem ideia de vrios sistemas operacionais rodando na mesma mquina. Esse , na verdade, um dos diversos tipos de virtualizao: a de hardware. Se por um lado ela no a nica, por outro , certamente, a mais perceptvel. Ao falar em virtualizao, inevitvel que a maioria das pessoas a associem ideia de vrios sistemas operacionais rodando na mesma mquina. Esse , na verdade, um dos diversos tipos de virtualizao: a de hardware. Se por um lado ela no a nica, por outro , certamente, a mais perceptvel. Para obter mais conceitos sobre Virtualizao, pesquise um pouco no Google e traga suas dvidas para discutir na sala de aula.

2.1.

VIRTUALBOX

VirtualBox um software de virtualizao desenvolvido pela empresa Innotek depois comprado pela Sun Microsystems que posteriormente foi comprada pela Oracle que, como o VMware Workstation, visa criar ambientes para instalao de sistemas distintos. Ele permite a instalao e utilizao de um sistema operativo dentro de outro, assim como seus respectivos softwares, como dois ou mais computadores independentes, mas compartilhando fisicamente o mesmo hardware. Essa ferramenta esta disponvel para download no site www.virtualbox.org e compatvel tanto com S.Os da famlia Windows como os baseados em UNIX. Acesse o link abaixo para mais detalhes sobre a instalao da VirtualBox. http://www.oracle.com/technetwork/pt/articles/virtualization/instalacao-oraclevirtualbox-4-2-513998-ptb.html

2.1.1. Criando Mquinas Virtuais

Supondo que voc j seguiu os passos do link colocado no item anterior, vamos iniciar a criao de uma nova mquina virtual.

Tela inicial do VirtualBox. Para criar uma mquina nova bem simples, basta iniciar clicando no boto Novo (em vermelho).

Nome da VM, tipo e verso do S.O que sero utilizados.

Quantidade de memria que ser utilizada pela VM que est sendo criada.

Disco rgido virtual que ser utilizado pela VM.

Tipo de disco utilizado pela VM.

Tipo de armazenamento do disco da VM.

Local onde o disco virtual ser salvo e o tamanho. Inicialmente podemos trabalhar com 8,00 GB

Local onde sero criados os discos.

Pronto nossa mquina foi criada com sucesso.

Esta a tela das Configuraes da VM que ns criamos.

Precisamos colocar a ISO do FreeBSD no drive de CD da nossa VM. Para isso vamo no menu Armazenamento, escolhemos o drive vazio. Depois vamos nos atributos do CD para ir no local onde esta a ISO.

Aqui escolhemos o local onde esta a ISO.

Depois de selecionar a ISO, o drive de CD fica aparecendo o FreeBSD.

No menu Rede, vamos escolher a placa de rede que ser utilizada.

Pronto a mquina esta criada e configurada. Agora vamos podemos pular para o Captulo 3, no qual iremos falar somente de FreeBSD.

2.2.

VMWARE

Atualmente a VMWARE lder de mercado no segmento de Virtualizao. Com uma infinidade de solues para grandes DataCenters, Empresas, Instituies de Ensino, entre outras. A VMWARE disponibiliza todas as ferramentas em seu site para download. Algumas delas preciso comprar licena para utilizao, porm outras basta se cadastrar e fazer o download para utiliza-las. http://www.vmware.com/br/

2.2.1. Criando Mquinas Virtuais

Tela inicial do VMWare Workstation. Para comear a criao de uma nova VM, basta clicar no primeiro boto Create a New Virtual Machine.

Escolha da maneira como vamos criar a VM.

Local de onde ser selecionada a instalao do S.O.

Nome da mquina e local onde ficar o arquivo principal.

Capacidade do disco da VM.

Informaes da VM. Para entrar nas configuraes especificas da VM, podemos clicar no boto Customize Hardware...

Opo de customizao da VM.

Pronto nossa VM foi criada com sucesso.

3. FREEBSD
3.1. INSTALAO DO FREEBSD

Neste captulo vamos tratar da instalao e comandos bsicos para utilizao do S.O. FreeBSD. Estes passos da instalao servem para qualquer Virtualizador disponvel no mercado atualmente. Se em algum momento existirem diferenas entre os Virtualizadores, elas sero explicitadas no texto. Tendo por base que o Virtualizador j esteja instalado e sua VM j esteja criada, vamos comear a instalao do FreeBSD 9.0.

Essa a primeira tela que vai aparecer. Nela existem algumas opes para a inicializao do S.O. que veremos no decorrer da apostila. No momento apenas vamos da um [Enter].

Nessa tela, j aparecem as primeiras opes para a utilizao do FreeBSD. Podemos fazer a Instalao Guiada <Install>, Instalao pelo Shell <Shell> ou utiliz-lo atravs do prprio CD <Live CD>. Escolhemos a opo <Install>.

Logo em seguida, a pergunta que recebemos para escolhermos o tipo de teclado que vamos configurar para utilizar na mquina que estamos instalando. Se for um teclado com vamos escolher um brasileiro, conforme a prxima figura.

Na sequencia, vamos colocar um nome para esta mquina. Este nome pode ser o mesmo da VM, ou qualquer outro que voc queira. Este ser o nome da sua mquina da rede.

Devemos sempre colocar um nome que se possa identificar a mquina facilmente.

Nessa tela temos a primeira parte realmente importante para a instalao. So componentes que o S.O. utiliza. Elas podem ser instalas junto com ele, ou aps a sua instalao. Os dois mais importantes so [ports] e o [src]. Porm agora s vamos escolher o [src] que so arquivos fontes do S.O. At porque para fazer a instalao do [ports] preciso de mais espao em disco.

Aqui comeas a parte de Particionamento de Disco. Que pode ser feita com auxilio do prprio instalador <Guided>, de forma Manual <Manual> que requer um pouco mais de conhecimento ou pelo prprio <Shell>. Vamos escolher a <Guided>.

Como no temos uma partio especfica vamos utilizar o disco inteiro para o S.O., escolhendo a opo <Entire Disk>. Se fosse uma instalao em mquina fsica, por exemplo, podamos escolher a opo <Partition> e definir onde iramos fazer a instalao. Mas o que uma partio? Parties so divises lgicas numa mesma unidade de disco. Para que um disco seja utilizado, ele precisa primeiramente ser particionado e depois formatado, que quando os espaos utilizveis so alocados e endereados. Embora fisicamente alocadas na mesma unidade, as parties comportam-se como discos rgidos independentes. Pode-se ter mais de uma partio no mesmo computador por questes de segurana, por economia de espao em alguns Sistemas Operacionais (SO) ou para compartilhar dois SO num mesmo disco, como o caso que deve interessar a muitos. Alguns S.O utilizam letras para designar suas diferentes parties, como no caso da famlia Microsoft Windows (a: b: c: d:). J no mundo UNIX todo o conjunto de arquivos de um diretrio pode estar associado a um sistema de arquivos, como o

caso de /usr, /tmp e assim por diante. Cada um destes sistemas de arquivos vive numa partio separada, portanto se quisermos colocar / e /usr em sistemas de arquivos separados, deveremos ter uma partio para cada um deles.

Quando optamos por fazer o Particionamento com auxlio do instalador, e j nos traz o padro conforme a capacidade destinada para o HD da nossa VM. Podemos notar que foram criadas 3 parties, mas apenas uma o nosso sistema de arquivos. Vamos detalhar um pouco mais o nosso Particionamento. ada0 o nosso HD, ou seja, o espao que definimos na criao da VM; ada0p1 a primeira partio, espao reservado pelo sistema para dar boot; ada0p2 partio que ter o nosso sistema de arquivos, ou seja, o /; ada0p3 por ltimo a swap, espao para memria vitual. Se quisermos fazer outra configurao de parties, podemos fazer nessa tela mesmo. Basta utilizar as opes que se encontram na parte inferior da tela. So elas: <Create>, <Delete>, <Modify>, <Revert>, <Auto> e <Finish>. O mais fcil em caso de mudanas nas parties apaga-las e cria-las novamente. Com as parties definidas basta selecionarmos a opo <Finish> e depois <Commit>. Em seguida o instalador ir comear a extrao dos arquivos para instalao.

Assim que o instalador termina a extrao dos arquivos, a tela que aparece a que est logo acima. Nela ser preciso digitar uma senha. Esta senha para o usurio root, que o Administrador do sistema. preciso digitar a senha duas vezes. No se assuste, pois ao comear a digitar no aparecero letras nem caracteres.

Em seguida vai aparecer a tela para selecionar a placa de rede. Basta dar <ENTER>.

Depois de configurar a placa de rede, vamos configurar mais algumas opes do S.O. Na tela anterior vamos selecionar o fuso-horrio do sistema. Para isso vamos escolher Amrica > Brasil > Sul e Sudeste.

Aps selecionar o fuso-horrio vamos colocar <no> para a opo Crash dumps.

Na sequencia vamos optar por configurar mais um usurio do sistema. Ao optarmos por <yes> uma nova tela se abrir para o cadastro de um novo usurio.

Aqui so cadastradas todas as informaes para os usurios. Todos os campos que possuem informaes nicas entre parentes () ou colchetes [] podem ser deixados em branco, pois as informaes ali sero definidas como padro.

Username Nome utilizado para se logar no sistema (login). No permitido espao e um campo casesensiteve (diferencia maiscula de minscula). Full name Nome completo do usurio, apenas para cadastro. Uid Nmero de identificao do usurio para o sistema. Login group Grupo principal que o usurio faz parte. Invite mauricio into other groups? Se deseja que o usurio faa parte de algum outro grupo. Login class Restries definias para o usurio. Elas ficam salvas no login.conf. Shell Utilizamos o SH por padro. De maneira visual todos so iguais para o usurio, mas cada um deles possuem uma estrutura e comandos prprios. Home directory Diretrio padro do usurio. Por padro todos os usurios tem seu diretrio principal dentro do HOME, apenas o root tem seu diretrio home e, /root. Home directory permissions Definio de permisses para o diretrio HOME. Use password-based authentication? Utilizar senha para autenticao do usurio. SIM Use an empty password? Utilizar senha vazia. NO Use a random password? Utilizar senha aleatria. NO Enter password a senha tambm casesensitive. Enter password again repita a senha para confirmar. Lock out the account after creation? Questiona se a conta deve ficar bloqueada aps a criao. NO. OK? Aps cadastrar todas as informaes elas so mostradas e o sistema pergunta se elas esto corretas. preciso digitar Y ou YES. Another user? Queremos adicionar outro usurio? NO

Pronto nosso sistema j esta instalado e com as contas de usurios criadas e definidas. S precisamos concluir a instalao nas duas prximas janelas.

Nesta basta dar um <ENTER> na opo EXIT. Caso queira efetuar alguma alterao basta selecionar a opo desejada.

Por ltimo nos vem a pergunta de desejamos efetuar alguma alterao manual antes do final da instalao. Escolhemos a opo <NO>, e depois <REBOOT>.

Agora que j instalamos a nossa VM com o FreeBSD, basta apertar no boto iniciar e comear a brincadeira.

Aqui a tela inicial para entrarmos no FreeBSD. Basta acessar com um dos dois usurios que colocamos a senha. Um deles o root administrador do sistema e o outro o usurio que foi criado.

3.2.

COMANDOS DE SHELL

De nada nos til realizar a instalao do sistema sem antes conhecer alguns comandos bsicos e essenciais para o bom manuseio do FreeBSD. Mas antes de mais nada, voc deve ter em mente do que a shell? A shell interface de comunicao entre o usurio e o sistema, disponvel em modo texto e utilizada a partir de comandos. H vrios interpretadores de comando disponveis para o FreeBSD, sendo mais conhecido o sh (que vem por padro) e o bash (utilizado por padro em outros sistemas, como Linux). Ento fica mais fcil entender a real necessidade de lidarmos de forma prtica com estes comandos.

3.2.1. Entrando e saindo do sistema

Na imagem anterior vemos primeira tela que vamos ver quando iniciarmos o sistema. Vamos acessar com os dois usurios para vermos a diferena inicial dos mesmos. Quando entramos com root aparece a seguinte tela.

O nome da mquina, que foi hostname que cadastramos no inicia do processo de instalao, e o caractere #. justamente esse caractere que indica que estamos utilizando o sistema com o usurio root. Vamos ver a diferena para o usurio comum. Para sairmos deste login podemos utilizar dois comandos.

Exit / logout encerra a sesso atual e solicita um novo login. Entramos agora com o outro usurio que cadastramos no final da

instalao. Vejamos a diferena entre a tela do root e do outro usurio.

Assim que logamos, j conseguimos ver a diferena entre os usurios. Aquele caractere # que aparece para o usurio root, foi substitudo pelo $. Dessa forma j identificamos que tipo de usurio estamos logados. Para sair e reiniciar o sistema existem alguns comandos. Porm, por questes de segurana esses comandos s podem ser executados pelo usurio root.

Reboot serve para reiniciar o sistema. Halt serve para desligar o sistema. Shutdown -h now serve para desligar o sistema e informar outros usurios que estejam logados que o sistema esta sendo desligado. init 0 serve para encerrar e matar todos os processos antes de desligar o sistema. Como podemos observar na imagem anterior, percebemos que o usurio

comum no possui permisso para executar nenhum dos comandos acima. Para utiliz-los precisamos nos logar novamente como root. Para isso vamos utilizar o comando login. Com este comando o sistema solicita que digite a o usurio e senha, mas ele no encerra a sesso que estvamos anteriormente.

login abre uma nova sesso sem encerrar a anterior.

3.2.2. Comandos, manuseio de arquivos e diretrios

Todos os comandos possuem parmetros para melhor utilizao dos mesmos. E por isso eles possuem um manual que explica a forma de utilizao do comando e seus parmetros.

Man abre o manual de utilizao do comando.

pwd - print working directory (mostrar o diretrio atual). Mostra a pasta na qual o usurio est naquele momento. Bastante til para nos situarmos em que lugar estamos no sistema.

cd - Command directory (Comando de diretrio). O cd permite ao usurio navegar entre as pastas, de forma bastante simples.

Entrou na pasta teste ...........................................................

Volta pasta anterior .................................................................

Vai pasta inicial raiz do sistema ...........................................

Vai pasta inicial do usurio , normalmente /home/usurio ...

Navega direto pasta desejada ........................................... No caso da no existncia da pasta, o sistema avisa ao usurio do problema, normalmente com uma mensagem dizendo que o diretrio no existe.

ls - Listen (Listar). O ls serve basicamente para listar arquivos em um diretrio, possuindo como parmetros algumas opes, como o -la. Exemplo de uso: Listar as pastas e arquivos existentes no diretrio /root

Com o parmetro -la, um grupo de informaes interessantes, tais como a permisso do arquivo ou pasta, o dono e o grupo do arquivo, e a data de criao/modificao. Pode-se ainda modificar a sada do comando ls para um arquivo, atravs do comando ls > nome do arquivo.

Pode-se tambm usar no ls caracteres que substituem outros como, por exemplo, o (*). Caso o usurio queira listar todos os arquivos com a terminao .txt far o seguinte:

mkdir - Make Dir (Criar diretrio). Cria uma pasta ou diretrio, como mais conhecido. Basta usar simplesmente o comando mkdir nome da pasta, que ela criada.

rmdir - Remove Dir (Remover diretrios) . Comando utilizado apenas para remover diretrios.

rm - Remove (Remover arquivos e diretrios) Deleta um arquivo ou pasta. Pode-se utilizar com o parmetro -rf, que obriga o arquivo ou pasta a ser deletado. O parmetro r significa recurse (recursivo) e f force (forar). Ento utilizando o parmetro rf o arquivo ou pasta ser apagado de forma obrigatria. Muito cuidado ao utilizar este parmetro, pois ele ir apagar todos os arquivos e diretrios que estiverem dentro do mesmo.

Exemplificando:

Utilizando somente o rm em um diretrio, ele dar um erro informando que isto um diretrio.

S conseguimos apagar um diretrio utilizando os parmetros -rf.

touch - tocar, criar. Cria um arquivo em branco, com tamanho zero.

ee - easy editor (editor fcil). Para iniciar o ee, basta digitar na linha de comando ee <nomedoarquivo> onde nomedoarquivo o arquivo que se quer criar ou editar.

Depois de entrar no ee s comear a escrever o contedo que precisamos. Na parte superior da tela esto os comandos que podem ser utilizados dentro do Editor. O sinal ^ significa a utilzao da tecla Ctrl. Para salvar e sair do arquivo utilizamos a tecla Esc. cat - (Exibir). Exibe um arquivo na tela ou outra sada de comando. O cat bastante til ao usurio pelo fato de no precisar especificamente abrir um arquivo para listar o seu contedo dentro. Usa-se o cat em sistemas FreeBSD principalmente para listar arquivos de configurao do sistema.

Exemplificando:

less (Exibir com paginao). O comando less do sistema operacional Unix serve para mostrar arquivos texto. Possui a capacidade de exibir o arquivo de maneira paginada, com opo de rolagem para trs e para frente. Como no necessita ler todo o arquivo de entrada antes de exibi-lo, consegue maior desempenho comparado a outros visualizadores e editores quando manipulam arquivos grandes.

Com ele podemos rolar o contedo do arquivo com aas setas de direcionamento e tambm com as teclas Page Down e Page Up. more faz uma pausa entre a exibio de uma tela e outra.

grep procura uma palavra dentro de um arquivo. Funciona tambm aninhado com outros comandos.

cp copia arquivos e diretrios. No exemplo abaixo, temos o arquivo1 e vamos criar uma copia dele, chamada de arquivo1-copia. A utilizao deste comando deve ser a seguinte: cp <nome do arquivo original> <nome da cpia>.

O arquivo copiado ter exatamente o mesmo contedo que o arquivo original. a mesma coisa que utilizarmos o CTRL+C e CTRL+V do Windows.

mv mover ou renomear arquivos e entre diretrios. Podemos utilizar o comando mv tanto para mudar um arquivo de diretrio

como para renomear um arquivo. No exemplo abaixo renomeamos o arquivo1 para arquivo1-renomeado.

J no prximo exemplo, movemos o arquivo1-renomeado, que estava dentro do diretrio /root para o diretrio /root/novo.

3.2.3. Informaes do sistema

df - Disk Free (Disco livre). O df mostra o espao disponvel em disco. Pode ser utilizado com o

parmetro -H que mostra o tamanho em megabytes. Alm disso, ele nos traz a partio montada, o espao usado, disponvel, capacidade utilizada e o ponto de montagem.

du Informa o uso do sistema em bytes O comando abaixo mostra o tamanho dos diretrios dentro do diretrio

atual.

date Data e hora atual do sistema

cal Traz o calendrio do ms corrente

uname Mostra o nome do sistema e com o parmetro a, traz informaes completas da verso instalada.

ifconfig mostra as interfaces de rede na mquina.

ln link simblico. Funciona como a criao de um atalho no Windows.

3.2.4. Redirecionamentos

O shell nos permite redirecionar as sadas (outputs) de comandos para outros comandos ou para arquivos. Isso nos proporciona inmeras possibilidades de aninhamento de comandos. Pipe O pipe | serve para passar o output de um comando para outro, ou seja antes de passar para a tela o resultado voc pode literalmente redirecionar para onde vai seu comando.

No exemplo acima, temos a utilizao de dois comandos. O ls, que o seu resultado seria listar todos os arquivos e diretrios de onde estamos e o grep, que faz um filtro pela palavra que definimos. Como juntamos os dois o que o resultado do ls junto com o grep foi a listagem de arquivos e diretrios que continha a palavra definida. > O smbolo de maior > redireciona a sada de um comando para dentro de um arquivo. Veremos melhor o seu funcionamento no exemplo abaixo.

Utilizando o mesmo comando do exemplo anterior, apenas adicionamos a smbolo de > para que o resultado do comando seja salvo no arquivo redireciona.txt. Logo em seguida mostrado o contedo do arquivo. exatamente o mesmo que foi feito no item anterior. Importante: se este smbolo for utilizado com algum arquivo existente, o seu contedo ser reescrito.

>> O funcionamento dos dois sinais de maior juntos >>, muito parecido

com o outro. A nica diferena que esse no sobrescreve o contedo existente no arquivo. Ele sempre vai adicionando o contedo no final. Vamos utilizar o mesmo arquivo anterior para fazer um teste.

3.2.5. Localizando arquivos.

Os sistemas Unix possuem alguns comandos diferentes que podem ser utilizados na procura de arquivos e programas. Cada um deles possui suas vantagens e desvantagens. Vamos conhecer um pouco de cada um. whereis - busca por arquivos executveis, man pages, arquivos de configurao e fontes.

O resultado da procura nos trouxe o arquivo executvel do comando e tambm o manual de utilizao do mesmo. which - busca por executveis.

Estes dois comandos so os mais simples para serem utilizados, mas talvez eles no tragam o resultado esperado pelo usurio. Por isso existem comandos com uma complexidade de utilizao um pouco maior. So eles o locate e o find.

locate busca arquivos dentro de uma base de dados prpria. O comando locate possui uma base de dados prpria onde ele faz a sua

pesquisa. Porm esta base de dados no vem atualizada. Portanto se fizermos uma pesquisa com este comando, receberemos como resultado que a base do locate esta vazia.

Essa a principal desvantagem do comando. Pois a base de dados do mesmo precisar ser atualizada com certa frequncia. Veremos na prxima imagem como atualizar a base de dados e a utilizao do comando.

find faz a pesquisa no prprio sistema atravs de parmetro. O find o comando mais chato para ser utilizado. Porm ele pode ser

utilizado em qualquer situao de procura. Com ele podemos procurar arquivos, diretrios, textos dentro de arquivos, arquivos de uma determinada data, por tipo e tambm por tamanho. O segredo do comando find esta na forma como ele utilizado. COMANDO: find </diretrio/> -parametro <pesquisa>. Esta a forma de utilizao do comando. Como se trata de um comando bem completo ele possui dezenas de parmetros. Vamos ao mais simples.

O parmetro name utilizado para pesquisar arquivos. No exemplo acima foi feita a pesquisa a partir do diretrio /root/.

3.3.

ESTRUTURA DE DIRETRIOS DO FREEBSD

O FreeBSD sem duvida, um sistema organizado quando lidamos com a sua estrutura de diretrios. Desde o comeo do desenvolvimento do sistema, h uma clara preocupao em manter a organizao, facilitando assim a compatibilidade dos programas e a facilidade em encontrar os arquivos de configurao do sistema e demais aplicativos instalados. O usurio tem que entender exatamente o porque do particionador realizar de forma automtica o trabalho de dividir o HD em vrias parties e mais ainda, a importncia dessa metodologia. Claro, que se o usurio desejar pode ter um nico ponto de montagem, / que o diretrio raiz do sistema, e as pastas normais dentro desta nica partio, ter o sistema funcionando sem nenhum contratempo. Vejamos agora a hierarquia dos diretrios do sistema, para que voc possa entender de forma bsica a distribuio da rvore de diretrios do FreeBSD. / - o diretrio inicial do sistema ou diretrio raiz. neste ponto de montagem que se baseia a montagem de todos os outros diretrios. /bin/ - Este diretrio possui todos os programas necessrios para o sistema operar de forma mono e multi-usurio. /boot/ - Todos os arquivos e programas para inicializao do sistema ficam neste diretrio. Para entendermos melhor este processo, vejamos os sub-diretrios existentes: defaults/ - Os arquivos de configurao padro para o carregamento do sistema esto dentro deste diretrio . O arquivo loader.conf possui as configuraes padro para o carregamento do sistema. kernel/ - O kernel do sistema fica salvo neste diretrio. Ao iniciar o sistema, o kernel automaticamente carregado na memria do sistema para posteriormente ser executado. Lembrando que o kernel um arquivo binrio. modules/ - Os mdulos que podem ser carregados pelo kernel esto todos neste diretrio. Exemplo de mdulos: acpi e emulao linux.

/cdrom/ - Este o ponto de montagem do CDROM. Este padro definido pelo configurador do sistema, o sysinstall e esta informao tambm est alocada em /etc/fstab. /compat/ - Este diretrio aloca os arquivos de configurao para emulao de compabilidade de aplicativos, no caso mais comum seria a emulao Linux. No caso de emulao linux, criada uma imagem espelho de um sistema Linux com referncia aos seus diretrios reais (bin, etc e outros). /dev/ - Para entendermos melhor o diretrio dev, interessante vermos algumas teorias de engenharia do sistema FreeBSD. Todos os sistemas FreeBSD e a maioria dos sistemas Linux e Unix seguem um padro de criar um link ao dispositivo, sendo este procecimento denominado de devfs ou seja, device file system. Ento, todos os dispositivos, tais como CDROM, HD e portas seriais esto listados dentro deste diretrio. Vejamos alguns exemplos: /dev/ad0 Hard Disk ATA /dev/acd0 CDROM ATA /dev/cuaa0 Porta serial fd/ - Neste diretrio localiza-se o sistema descritor de arquivos. Lembrando que o sistema descritor de arquivos responsvel por gerenciar o estado de qualquer arquivo. net/ - Todos os dispositivos referentes rede localizam-se neste diretrio, tais como interfaces ethernet, serial line (slip) e wireless. /dist/ - Este diretrio usado basicamente pelo sysinstall, o instalador e painel de controle do FreeBSD. /etc/ - Este diretrio um dos mais importantes do sistema, sendo composto por vrios arquivos de configurao do sistema e scripts de uso geral. interessante inclusive aprender um pouco mais sobre este diretrio. defaults/ - Este diretrio contm todos os arquivos padro do sistema, tais como o rc.conf. Serve como modelo para posterior estudo do usurio, pois nele apresentado a maioria das variveis existentes para cada arquivo de configurao.

gnats/ - O diretrio gnats possui uma peculiaridade prpria, pois serve como repositrio para o envio de informaes atravs do send-pr (Ferramenta de envio de problemas) ao time de desenvolvimento do sistema. isdn/ - Todas as configuraes bsicas para o bom funcionamento do servio de ISDN encontram-se neste diretrio. localtime/ - As informaes sobre a zona horria do sistema ficam armazenadas neste diretrio. mail/ - O FreeBSD vem nativamente com o sendmail (aplicativo de envio e recebimento de e-mails) instalado e pronto para uso. Sendo assim, este diretrio contm toda a parte de configurao do sendmail. mtree/ - O utilitrio mtree tem como funo gerar o mapeamento dos diretrios do sistema em forma impressa ou em listagem na tela. As configuraes deste aplicativo ficam armazenadas neste diretrio. namedb/ - Este diretrio tem vital importncia para os sistemas FreeBSD que utilizam o servio de daemon DNS . O utilitrio named , que responsvel pela transcodificao e disponibilizao de nomes atravs de ip pela Internet, possui todos os arquivos de configurao armazenados neste diretrio. pam.d/ - O aplicativo PAM , que tem como funo autenticar o usurio por dispositivos plugveis armazena os seus arquivos de configurao neste diretrio. periodic/ - Existe um aplicativo no sistema denominado cron. A funo do cron a de realizar tarefas em tempo pr-programado pelo usurio ou por alguma aplicao. Justamente neste diretrio esto os scripts para serem rodados pelo cron. ppp/ - Este diretrio guardas as informaes para o bom funcionamento do utilitrio ppp , que responsvel por entre outras tarefas, permitir que o usurio conecte-se na internet tanto via modem serial como via interface ethernet. ssl/ - Os arquivos de configurao do OpenSSL, aplicativo de encriptao de dados, ficam contidos neste diretrio.

/lib/ - Este diretrio armazena todas as bibliotecas necessrias para o funcionamento dos mais diversos aplicativos, principalmente para os existentes em /bin e /sbin. geom/ - As bibliotecas para o funcionamento do aplicativo geom (responsvel por unir vrios discos formando uma nica partio) /libexec/ - Este diretrio armazena todas as bibliotecas necessrias para o funcionamento dos mais diversos aplicativos, principalmente para os existentes em /bin e /sbin. /mnt/ - Este diretrio tem a finalidade de servir de ponto de montagem temporria para discos rgidos, CDROM e outros dispositivos. proc/ - Este diretrio armazena todas as informaes referentes ao sistema de arquivos de processos. /root/ - Diretrio do usurio root (administrador do sistema) /bin/ - Os programas de administrao e manuteno do sistema encontram-se em grande parte neste diretrio. /stand/ - Este diretrio usado para o ambiente sysinstall . /tmp/ - O diretrio tmp armazena informaes temporrias, tais como logs de aplicaes que no requerem armazenamento , bem como outros arquivos. /usr/ - O usurio pode facilmente localizar dentro do diretrio usr, a maioria dos utilitrios e aplicaes para seu uso. /var/ - Os arquivos de logs podem encontram-se normalmente neste diretrio, bem como arquivos de spool (impresso), lista de pacotes e outros.

3.4.

USURIOS, GRUPOS E PERMISSES

Todos os sistemas operacionais modernos podem ser utilizados por diversos usurios ao mesmo tempo, sem que seus arquivos e permisses se misturem. No FreeBSD no diferente.

3.4.1. Usurios

Para comearmos a entender melhor o gerenciamento de usurios, vamos explicar do inicio. Existem trs tipos de contas: o super usurio, usurios do sistema, e usurios. A conta super usurio, normalmente chamada de root, usada para administrar o sistema sem limitao de privilgios. Os usurios do sistema executam servios. Finalmente, contas de usurios so usadas por pessoas, que podero logarse ao sistema, ler e-mail, e assim por diante. Todas as contas em um sistema FreeBSD tem determinadas informaes associada mesma, de forma identifica-la. Nome do usurio O nome do usurio ser digitado no terminal de login. Os nomes de usurios devem ser nicos em um computador, no podendo haver dois usurios com o mesmo nome. H uma srie de regras para criar nomes vlidos de usurios, documentadas no manual do comando passwd(5). Senha Cada conta tem uma senha associada com ela. A Senha pode ser vazia, neste caso nenhuma senha ser solicitada para acessar o sistema. Isso normalmente uma ideia muito ruim. ID do Usurio (UID) O UID um nmero que varia de 0 a 65536 usado para identificar de forma nica os usurios no sistema. Internamento, o FreeBSD usa o UID para identificar usurios. Qualquer comando do FreeBSD ser liberado para um usurio especfico convertendo seu UID depois de utilizar o comando. Isso significa que voc pode ter contas com diferentes nomes de usurios, mas com o mesmo UID. Ambos, para o FreeBSD so um s usurio. improvvel que voc tenha necessidade de fazer isso um dia. ID de Grupo (GID)

O GID um nmero que varia de 0 a 65536, usado para identificar de forma nica o grupo primrio ao qual o usurio pertence. Os grupos so um mecanismo para controlar o acesso aos recursos baseados em GID ao invs de UID. Isto pode reduzir significativamente o tamanho de arquivos de configuraes. Um usurio pode tambm pertencer a mais de um grupo. Classe de Login Classe de login so uma extenso para o mecanismo de grupos que fornecem flexibilidade adicional para adaptar o sistema a diferentes usurios. Tempo de alterao da senha Por padro o FreeBSD no fora os usurios a trocar as suas senhas periodicamente. Voc pode fazer isto para cada usurio, forando alguns ou todos os usurios terem que mudar suas senhas aps um determinado perodo de tempo. Tempo de expirao da conta Por padro o FreeBSD no expira as contas. Se voc estiver criando uma conta que voc sabe que tem um tempo limitado de uso, por exemplo, em uma escola onde voc tem contas para os estudantes, voc pode especificar quando a conta deve expirar. Aps a expirao deste tempo o cliente no poder logar-se no sistema, embora diretrios e arquivos do usurio em questo, permanecero intocados. Nome completo dos usurios O nome nico do usurio identifica a conta do mesmo internamente para o FreeBSD, mas no reflete necessariamente o nome real do usurio. Esta informao pode, opcionalmente, ser associada com a conta. Diretrio Home O Diretrio Home o caminho completo para o diretrio do sistema em que o usurio logar. Uma conveno comum indica que todos diretrios home dos usurios devam ficar sob /home/usurio. O usurio armazenaria seus arquivos pessoais em seu diretrio home, e todos os diretrios que puder criar dentro deste.

Shell do usurio A shell fornece o ambiente padro para o usurio interagir com o sistema.

Existem muitos tipos distintos de shell, e os usurios experientes tero suas prprias preferncias, que podem ser refletidas junto aos ajustes de cada conta. Existe uma poro de comandos para gerenciar e manipular as contas de usurios no FreeBSD. Mas vamos conhecer apenas as mais utilizadas. adduser comando para adicionar novos usurios. Este comando segue as mesmas etapas que vimos no inicio da instalao do FreeBSD.

rmuser comando utilizado para remover todas as entradas do usurio.

Para utilizar o executar comando basta digitar o nome do usurio que desejamos excluir aps o comando, conforme figura acima. Logo em seguida, viro duas perguntas. A primeira pergunta, o sistema nos mostra a entrada que fica no arquivo /etc/passwd, onde ficam todas as entradas de usurios do sistema, pedindo a

confirmao da excluso da mesma. A segunda pergunta para confirmar a excluso do diretrio home do usurio. possvel excluir o usurio confirmando a primeira pergunta e deixar o diretrio home do usurio. Basta colocar um no como resposta da segunda questo. chpass comando que possibilita alterar informaes do usurio.

Ao digitar o comando e o nome do usurio que desejamos alterar, o editor VI (fala-se vi ai) ser aberto. Dessa forma as informaes podem ser alteradas e sero aplicadas aps sair do arquivo. passwd um simples comando para alterar a senha do usurio.

3.4.2. Grupos

O pw um daqueles comandos de difcil entendimento no inicio, pois o seu uso um pouco complexo e possui uma infinidade de parmetros que podem ser utilizados. um comando utilitrio cuja funo criar, remover, alterar e apresentar usurios e grupos. Ele funciona como um front end para os arquivos de usurios e

grupos do sistema. O pw tem um conjunto muito completo de opes e comandos que o torna apropriado para o uso em scripts shell. pw comando para alterar contas de usurio com grupos.

Na primeira linha adicionamos o grupo1. J na segundo estamos mostrando os dados do grupo que acabou de ser criad.

Aqui estamos mostrando os dados do grupo wheel, que o grupo dos administradores da mquina. Notamos que nesta tela existe uma diferena. Neste grupo possui um usurio, no anterior no existia nenhuma informao aps o :. Agora vamos adicionar um usurio no grupo1.

Na primeira linha foram adicionados os usurios canto e root no grupo1, conforme falamos. J na segunda linha, utilizamos o parmetro P na visualizao dos dados do grupo, que nos mostra as informaes de maneira mais organizada. Faa uma pesquisa mais afundo sobre as diversas formas de utilizao do comando.

3.4.3. Permisses

Nos sistemas Unix todos os arquivos e diretrios so automaticamente assinalados por um usurio e um grupo que so donos deste arquivo/diretrio, assim o sistema pode definir diferentes permisses de acesso entre usurios. Isto muito importante, pois um sistema multi usurio precisa ter uma camada de segurana especial, imagine que o usurio1 cria um diretrio com documentos de

texto importantes, o usurio2 por sua vez no sabe para que serve esta pasta e acaba apagando-a por engano, este tipo de coisa no pode acontecer em uma empresa. Desta forma foram criadas as permisses de acesso, que restringem as aes que dos usurios em arquivos e diretrios. Para verificarmos as permisses de acesso arquivos utilizamos o comando ls -l, que retorna uma lista com diversas colunas, devemos ter uma ateno especial com trs destas colunas.

Como podemos observar, as permisses de acesso so definidas por um conjunto de caracteres, no caso do arquivo1.txt as permisses de acesso so "-rw-r--r-", neste conjunto de caracteres esto definidas respectivamente as permisses de acesso do usurio dono, do grupo dono e dos outros usurios. Veja na figura abaixo como decifrar esta combinao de permisses:

Agora podemos ver claramente, os caracteres em azul na figura definem as permisses de acesso ao dono do arquivo os caracteres em vermelho, definem as permisses de acesso ao grupo dono do arquivo e os caracteres em verde definem as permisses de acesso aos outros usurios. Podemos observar tambm que sempre utilizado um conjunto de trs caracteres para cada permisso. Vamos agora traduzir o que os caracteres (triplets) representam:

R W X

Leitura, simbolizada pela letra r ( de read) Escrita, simbolizada pela letra w (de write) Execuo, simbolizada pela letra x (de execute) possvel alterar estas permisses. Para isso utilizamos o comando chmod.

Existem duas formas de trabalhar com o comando chmod. Uma delas atravs dos triplets (rwx) vistos anteriormente, a segunda atravs de uma tabela numrica que representa as letras da tabela acima.

No comando da imagem acima adicionamos permisses de escrita e execuo para o grupo. Mas como isso funciona? A forma como os parmetros so passados do tipo usurio + permisso. Veja na tabela abaixo que tipos de usurios podem ser utilizados: U G O A Usurio dono Grupo dono Outros usurios Todos os usurios J definio de permisses pelo modo numrico funciona de maneira diferente. De uma nica vez definimos as permisses do usurio dono, do grupo dono e dos outros usurios atravs de um nmero passado como parmetro, a tabela de nmeros esta abaixo: 7 6 5 4 3 2 1 0 rwx rwr-x r--wx -w--x ---

Conforme visto na tabela acima, vejamos o funcionamento do comando.

Outras informaes que podemos obter o tipo da informao que estamos listando, ou seja, o primeiro caractere que vem antes das permisses que define isto. Se for um - um arquivo, j o d significa que ali um diretrio e temos tambm o l que identificamos como link simblico. Na imagem abaixo podemos ver que o .history um arquivo, novo um diretrio e arquivo1-renomeado um link simblico.

Mas uma listagem dessa pode nos mostrar ainda mais detalhes importantes para a administrao do S.O. As colunas em amarelo na imagem anterior nos mostram que so os proprietrios e grupos aos quais aquelas informaes pertencem. Que neste o dono o usurio root e o seu grupo wheel. Assim como podemos alterar as permisses dos arquivos e diretrios, conseguimos alterar tambm o dono e o grupo dos mesmos. Para essas alteraes utilizamos os comandos chown e chgrp.

Como visto na imagem acima, o comando bem simples de ser utilizado. Mas com ele tambm podemos alterar o grupo.

J o comando chgrp s permite que alteremos o grupo dono.

3.5.

INSTALANDO PACOTES

O FreeBSD possui centenas de programas disponveis gratuitamente para utilizarmos. Estes programas se apresentam sempre de duas formas, uma prcompilada e outra como cdigo fonte para que voc o compile.

3.5.1. Pacotes pr-compilados

Os aplicativos pr-compilados se encontram no diretorio "packages" e devem ser instalados usando o comando pkg_add. Estes aplicativos so geralmente instalados no diretrio /usr/local/bin. O uso de verses pr-compiladas traz a vantagem de ser pratica de se instalar, mas muitas vezes no traz disponvel todos os recursos do aplicativo e suas dependncias, como no caso do apache. O que nos obriga a instalar o aplicativo atravs dos ports, para poder customiza-lo na recompilao. A utilizao dos comandos pkg so simples. pkg_add [nome_do_arquivo].tgz pkg_delete nome_do_aplicativo pkg_info

3.5.2. Aplicativos atravs do ports

O ports uma coleo de aplicativos que pode ser configurado durante o processo de instalao do S.O., porm existem vrias formas de instal-lo manualmente. Antes que voc possa instalar um port, voc primeiro precisa obter a

coleo de ports, a qual basicamente um conjunto de arquivos Makefiles, patches, e arquivos de descrio colocados sob /usr/ports. A lista de aplicativos disponveis para FreeBSD cresce o tempo todo. Felizmente, existem diversas formas de procurar o que voc necessita: O web site do projeto FreeBSD mantm uma lista atualizada de todos os aplicativos disponveis e na qual voc pode executar buscas, em

http://www.FreeBSD.org/ports/. Para atualizar a sua coleo de ports voc dever executar o seguinte comando (se for a primeira atualizao a ser feita aps instalao do FreeBSD): # portsnap fetch extract Ele ir atualizar toda a sua coleo de ports do seu FreeBSD. Quando for atualizar a coleo de ports nas prximas vezes execute somente o comando abaixo: # portsnap fetch update Pronto j temos os ports atualizados o prximo passo agora finalmente instala-lo, como j deve ser do conhecimento de todos os ports ficam localizados no seguinte caminho abaixo em seu FreeBSD: # cd /usr/ports Encontrado o seu ports pelo nome somente executar o seguinte comando dentro da pasta do aplicativo: # make install clean Vamos instalar o apache 2.2 ento: # cd /usr/ports/www/apache22/ && make install clean Bem, se voc utilizar proxy em sua rede talvez seja necessrio passar isto para o fecth o aplicativo que baixar o programa para o ports realizar a instalao, para setar o proxy faa o seguinte procedimento: # vi /etc/make.conf

Insira a linha > FETCH_ENV = HTTP_PROXY=http://user:passwd@proxy.name:80

Para listar os detalhes dos pacotes instalados atravs do pkg e ports no FreeBSD: # pkg_info Acesse o diretrio da coleo de ports que voc deseja desinstalar, por exemplo, para desinstalar o apache22: # cd /usr/ports/www/apache22 && make deinstall E depois limpe o "lixo" deixado pela instalao do pacote apache22, ainda na pasta execute o comando abaixo: # make clean

3.6.

CONTROLE DE PROCESSOS

Para listarmos os processos no Linux utilizamos o comando ps, assim podemos obter os pids de processos e saber quais e quantos processos esto sendo executados no momento, para vermos os processos sendo executados no bash atual utilizamos o comando ps sem parmetros exemplo:

PID TT STAT TIME

a identificao do processo. Posta em que terminal o programa esta sendo executado. Apresenta o estado atual do programa. Indica a quantidade de tempo que o programa est em execuo na CPU.

COMMAND a linha de comando utilizada para executar o programa em questo. O comando ps aceita diversos parmetros. um comando muito utilizado com o grep para trazer os processos que estamos buscando.

J o comando top traz uma sada muito similar com a do comando ps. Porm ele nos traz algumas informaes mais importantes como a carga de uso do servidor.

A sada est dividida em duas sees. O cabealho (as primeiras cinco linhas) apresenta o PID do ltimo processo executado, a mdia de carga do sistema (que mede o quanto o sistema est ocupado), e o tempo de atividade ininterrupta do sistema (tempo desde a ltima inicializao - o uptime). As outras informaes do cabealho indicam quantos processos (20 neste caso) esto ativos, quando de memria e swap foi utilizado, e quanto tempo o sistema est gastando em estados diferentes de uso da CPU. Abaixo est uma srie de colunas com informaes similares sada do ps. Como antes, voc pode ver o PID, o usurio, o tempo de CPU utilizado, e o comando executado. top tambm mostra por padro a quantidade de memria utilizada pelo processo. Essa informao dividida em dois grupos, uma para o tamanho total de memria, e um para o tamanho residente -- tamanho total indica quanta memria a aplicao j precisou, e o tamanho residente a quantidade em uso no momento. Para finalizarmos um aplicativo ou um programa travado utilizamos o comando kill <pid>, desta forma o programa vai ser fechado: # kill 793

3.7.

SHELLS

No FreeBSD, uma grande parte do trabalho do dia a dia feito por interface de linha de comando, chamada de interpretador de comandos, ou shell. A principal funo de uma shell receber comandos por um canal de entrada e executlos. Uma srie de shells ainda possuem funes embutidas, o que ajuda a facilitar a realizao de tarefas do dia-a-dia, como gerenciamento de arquivos, edio de linha de comando, macros de comandos e variveis de ambiente. O FreeBSD vem com uma srie de interpretadores de comandos, como o sh, chamado de Bourne Shell, e tcsh. A C-shell melhorada. Muitos outros interpretadores de comandos esto disponveis na coleo de ports do FreeBSD, como o zsh e o bash. Que shell utilizar? Trata-se meramente de uma questo de gosto. Se voc um programador C, se sentir mais confortvel com um interpretador de comandos similar linguagem C, como o tcsh. Se voc teve suas origens no Linux, ou novo ao UNIX, tenta experimentar o bash. O ponto que cada interpretador de comandos possui propriedades nicas, que pode ou no funcionar corretamente em seu ambiente de trabalho, e tambm, outro ponto importante sua liberdade de escolha para decidir qual e quando interpretador utilizar. Uma das caractersticas mais comuns em interpretadores de comandos completar nome de arquivos. Ao digitar as primeiras letras de um comando ou de um arquivo, voc normalmente pode fazer com que a shell automaticamente complete o restante do comando ou arquivo, pressionando a tecla Tab no teclado. Aqui est um exemplo. Suponha que voc tenha dois arquivos chamados foobar e foo.bar. Voc quer apagar o foo.bar. Ento o que voc faria no teclado : rm fo[Tab].[Tab]. O interpretador de comandos apresentaria como resultado algo similar rm foo[BEEP].bar. O [BEEP] o sino do console, que indica que o interpretador de comandos no foi capaz de completar totalmente o nome do arquivo porque existe mais do que uma opo que coincide. Ambos, foobar e foo.bar comeam com fo, mas a shell pode completar o nome do arquivo at foo. Se neste momento voc digitar ., e pressionar

Tab mais uma vez, a shell deve ser capaz de completar o restante do nome do arquivo para voc. Outra funcionalidade de um interpretador de comandos o uso de variveis de ambiente. Variveis de ambiente so duplas variveis de valores armazenados no espao de ambiente da shell. Esse espao de ambiente pode ser lido por qualquer programa chamado pelo interpretador, de forma que contenha uma srie de configuraes interpretadas pelo mesmo. Segue aqui uma lista de variveis de ambiente comuns, e seus respectivos significados:

Varivel USER PATH DISPLAY SHELL TERM TERMCAP OSTYPE MACHTYPE EDITOR PAGER MANPATH

Descrio Nome do usurio logado no momento. Lista de diretrios, divididos por vrgula, indicando onde deve-se procurar por binrios. Nome de rede do terminal grfico do X11 onde o mesmo deve se conectar, caso esteja disponvel. O interpretador de comandos atual. Nome do terminal do usurio. usado para determinar as caractersticas do terminal. Entrada com a base de dados de cdigos de terminal, que realizam vrias funes do console. A espcie do sistema operacional em questo, por exemplo, FreeBSD. A arquitetura de CPU onde o sistema est sendo executado. Editor de texto padro para o usurio. O paginador de texto padro para o usurio. Lista de diretrios separadaos por vrgulas que indicam onde as pginas de manuais devem ser buscadas.

Ajustar as variveis de ambiente tarefa que se difere de algumas formas entre as vrias shells disponveis. Por exemplo, nas shells baseadas na linguagem C, como o tcsh e o csh, voc usaria o setenv para justar as variveis de ambiente. Sobre um interpretador estilo Bourne shell como o prprio sh e o conhecido bash, voc usaria o export para definir a varivel de ambiente. Por exemplo, para definir ou

modificar o valor da varivel de ambiente EDITOR, sob csh ou tcsh, para definir a varivel EDITOR com o valor /usr/local/bin/emacs, voc faria algo como: % setenv EDITOR /usr/local/bin/emacs Enquanto sob uma Bourne shell seria: % export EDITOR="/usr/local/bin/emacs" Ainda possvel fazer a maioria dos interpretadores expandirem a varivel, simplesmente adicionado o carcter $ na frente da prpria varivel. Por exemplo, echo $TERM imprimiria todo o contedo da varivel $TERM, por que o interpretador interpreta a varivel $TERM como seu valor, e o passa para o echo. Os interpretadores de comandos cuidam ainda de uma srie de caracteres especiais, chamados de meta-caracteres, como representaes especiais de dados. O caractere mais comum o *, que representa qualquer conjunto de caracteres em um nome de arquivo. Os meta-caracteres especiais podem ser usados como substituio de arquivos. Por exemplo, o comando echo * tem resultado similar sada de um ls, pois o interpretador de comandos pega todos os arquivos que batem com * e os coloca na linha de comando de forma que o echo possa enxerga-los. Para evitar que a shell interprete estes caracteres especiais, pode-se utiliza-los como excluso, inserindo uma barra invertida (\) na frente deles. echo $TERM imprime em que terminal voc est, enquanto echo \$TERM imprime $TERM exatamente. A forma mais fcil de modificar seu interpretador de comandos usar o comando chsh. Executar o chsh te colocar no editor definido na varivel de ambiente EDITOR; se esta varivel no estiver definida, voc ser colocado no vi. Modifique a linha ``Shell:'' de acordo com suas necessidades. Voc pode ainda usar o chsh com a opo -s; assim voc pode ajustar sua shell sem entrar no editor. Por exemplo, se a inteno era modificar seu interpretador para usar o bash, o truque pode ser feito da seguinte forma: % chsh -s /usr/local/bin/bash Utilizar o chsh sem parmetros e editar a shell tambm funcionaria.

Nota: O interpretador de comandos que voc deseja utilizar deve estar listado no arquivo /etc/shells. Se voc instalou o interpretador a partir da Coleo de ports, isso j foi feito. Se voc instalou na mo, voc mesmo deve faz-lo. Por exemplo, se voc instalou o bash manualmente e o colocou no /usr/local/bin, voc vai querer fazer o seguinte: # echo "/usr/local/bin/bash" >> /etc/shells Em seguida, execute novamente o chsh.

Você também pode gostar