Beruflich Dokumente
Kultur Dokumente
Contedo .............................................................................................................................................................. 2
INTRODUO........................................................................................................................................................ 5
LINUX .................................................................................................................................................................... 6
O que o LINUX............................................................................................................................................ 6
Histria do Linux ........................................................................................................................................... 6
Software Livre / Cdigo-Aberto .................................................................................................................... 7
Licena GPL ................................................................................................................................................... 7
Outras Licenas ............................................................................................................................................. 8
FSF e o Projeto GNU ..................................................................................................................................... 8
GNUs Not Unix ............................................................................................................................................. 8
Free Software Foundation ............................................................................................................................ 8
Distribuies ................................................................................................................................................. 9
Seguindo os Padres .................................................................................................................................... 9
Os diversos usos de uma distribuio ........................................................................................................ 10
Alguns conceitos interessantes .................................................................................................................. 10
PRINCIPAIS DISTRIBUIES ................................................................................................................................ 14
O FEDORA LINUX ................................................................................................................................................ 18
Principais caractersticas ............................................................................................................................ 18
Histrico das verses estveis .................................................................................................................... 19
CentOS ................................................................................................................................................................ 20
Red Hat x RHEL x CentOS x Fedora ............................................................................................................. 20
INSTALAO DO CentOS .................................................................................................................................... 23
SELINUX .............................................................................................................................................................. 40
O que o SELinux ?..................................................................................................................................... 40
Breve Histrico ........................................................................................................................................... 40
Por que utiliz-lo......................................................................................................................................... 40
SISTEMA DE ARQUIVOS E ESTRUTURA DE DIRETRIOS ..................................................................................... 42
Nveis de execuo ............................................................................................................................................. 44
O SHELL ............................................................................................................................................................... 45
ALGUNS COMANDOS BSICOS ........................................................................................................................... 45
GRUPOS .............................................................................................................................................................. 50
Criando um grupo ....................................................................................................................................... 50
Excluindo um grupo .................................................................................................................................... 50
USURIOS ........................................................................................................................................................... 50
Usurio root ................................................................................................................................................ 50
Usurio de Sistema ..................................................................................................................................... 51
Usurio normal ........................................................................................................................................... 51
Criando um usurio .................................................................................................................................... 51
Modificando um usurio ............................................................................................................................ 52
Modificando o password ............................................................................................................................ 52
Excluindo um usurio ................................................................................................................................. 52
RPM .................................................................................................................................................................... 53
Utilizando o RPM ........................................................................................................................................ 53
YUM .................................................................................................................................................................... 57
Repositrios Adicionais .............................................................................................................................. 59
CRON .................................................................................................................................................................. 61
PERMISSES DE ARQUIVOS................................................................................................................................ 62
Configuraes bsicas ................................................................................................................................ 62
Verificao de conta ................................................................................................................................... 63
Verificao de permisses com ls l .......................................................................................................... 64
Definindo posse de arquivos e diretrios por usurio com chown............................................................ 64
Definindo posse de arquivos e diretrios por grupo com chgrp ................................................................ 65
O comando chmod .................................................................................................................................... 65
Definindo permisses de acesso por triplets ............................................................................................. 65
Definindo permisses de acesso pelo modo numrico.............................................................................. 66
Processos no Linux ............................................................................................................................................. 67
O Temido VI ........................................................................................................................................................ 75
SERVIDOR FTP ..................................................................................................................................................... 83
O que FTP ................................................................................................................................................. 83
Instalando o servidor .................................................................................................................................. 83
Iniciar e interromper o servidor de FTP...................................................................................................... 86
Configurando um cliente ftp para Windows .............................................................................................. 87
Comandos FTP (Shell) ................................................................................................................................. 97
SSH .................................................................................................................................................................... 100
Introduo ................................................................................................................................................ 100
Configurao do ssh ................................................................................................................................. 100
Cliente SSH no LINUX ................................................................................................................................ 103
Cliente SSH no Windows .......................................................................................................................... 104
Exemplo de configurador DHCP ............................................................................................................... 108
SAMBA .............................................................................................................................................................. 110
Adicionando Usurios ao SAMBA ............................................................................................................. 110
O configurador ......................................................................................................................................... 110
REFERNCIAS .................................................................................................................................................... 115
INTRODUO
No final deste material, esto citadas as fontes de pesquisa, bem como os nomes dos
autores pesquisados, isso tem como objetivo demonstrar transparncia e respeito com aqueles que
criaram materiais importantes e os deixaram disponveis para o pblico em geral.
LINUX
O que o LINUX
O Linux um sistema operacional, ou seja, a interface que gerencia o computador e torna possvel a
sua interao com o usurio. Sendo assim, o Linux quem controla o gerenciamento dos
dispositivos fsicos (como memria, disco rgido, processador, entre outros) e permite que os
programas os utilizem para as mais diversas tarefas. Outros sistemas operacionais incluem: a famlia
UNIX BSD (FreeBSD, NetBSD, OpenBSD e outros), AIX, HP-UX, OS/2, MacOS, Windows, MS-DOS,
entre muitos outros.
O criador do kernel Linux se chama Linus Torvalds, que tambm at hoje o mantenedor da rvore
principal deste kernel. Quando Linus fez o kernel, seguiu os padres de funcionamento POSIX os
mesmos utilizados por todos os sistemas UNIX e por isso um sistema operacional bem parecido
com os outros da famlia UNIX (mas no igual). Um fato curioso a origem do nome Linux: o autor
juntou seu nome ao Unix (Linus + Unix) e o resultando foi Linux.
Um dos recursos que deixou o Linux mais utilizado sua alta portabilidade, que faz com que o
sistema possa ser utilizado em diversas plataformas de hardware: PCs, main-frames, servidores de
porte, sistemas embarcados, celulares, handhelds, roteadores, entre outros. Alm disso, ele um
sistema operacional completo, multi-tarefa e multi-usurio, o que significa que vrios servios e
usurios podem utiliz-lo ao mesmo tempo. Outra caracterstica importante sua alta capacidade
de conversar com outros sistemas operacionais, tais quais outros sistemas UNIX, redes Windows,
Novell, entre outros).
Alm de todas essas funcionalidades, uma das principais e mais importantes caractersticas do Linux
ele ser um software livre e gratuito (Open Source ou em portugus Cdigo Aberto). Isto
significa que voc no precisa pagar para us-lo, alm de ter a possibilidade de no depender de
nenhuma empresa que controle o sistema operacional. O cdigo-fonte do ncleo do sistema
(kernel) est liberado sob a licena GPL e pode ser obtido na Internet por qualquer pessoa, pode
tambm ter seu cdigo alterado e re-distribudo, modificando ao seu gosto e suas necessidades,
caso preciso. Por ser livre, o Linux tem como desenvolvedores vrios programadores espalhados
pelo mundo, de vrias empresas diferentes ou at pessoas isoladas, que contribuem sempre
mandando pedaos de cdigos e implementaes ao Linus Torvalds, que organiza e decide o que ir
ao kernel oficial ou no.
Histria do Linux
Lembra-se daquela poca quando os homens escreviam seus prprios drivers de dispositivos?
Ele ento resolveu desafiar a si mesmo e criar um sistema operacional onde se pudesse trabalhar
como em UNIX, executasse em mquinas baratas (PCs) e que no se ficasse preso ao sistema, como
ele se sentia com sistemas operacionais proprietrios. Inspirado em um pequeno e humilde sistema
feito por Andy Tanembaum o Minix Linus trabalhou bastante para desenvolver o Linux. Um
pouco antes de lanar a primeira verso oficial do kernel, Linus mandou a seguinte mensagem para
o grupo de notcias comp.os.minix:
Voc suspira por melhores dias do Minix-1.1, quando homens sero homens e escrevero seus
prprios drivers de dispositivos? Voc est sem um bom projeto e est morrendo por colocar as
mos em um sistema operacional o qual voc possa modificar de acordo com suas necessidades?
Voc est achando frustrante quando tudo trabalha em Minix? Chega de atravessar noites para
obter programas que trabalhem corretamente? Ento esta mensagem pode ser exatamente para
voc.
No dia 5 de Outubro de 1991, Linus Torvalds anunciou a primeira verso oficial do Linux, a verso
0.02. Desde ento, muitos programadores tm respondido ao seu chamado e tm ajudado a fazer
do Linux o sistema operacional que hoje.
Quando um software lanado, o autor geralmente escolhe uma licena para a sua criao. Esta
licena quem vai dizer o que se pode ou o que no se pode fazer com o software disponibilizado.
Historicamente, com a popularizao da informtica, as licenas geralmente constituam uma srie
de restries para os usurios quanto ao uso do software, como por exemplo: usurios tinham que
pagar para usar e no podiam modificar ou mexer na sua base de programao.
Quando Linus Torvalds criou e lanou seu kernel, ele o colocou sob a licena GPL, uma licena criada
pela fundao GNU que permitia o livre uso dos softwares, protegendo de pessoas mal-
intencionadas. A licena GPL foi uma das responsveis pela popularizao do sistema operacional
Linux, pois permitia que usurios e desenvolvedores pudessem usar e modificar o sistema de
acordo com suas necessidades. Alm disso, ao mesmo tempo que ela permite liberdades em
relao ao software, ela tambm protege o cdigo para que a licena e suas liberdades no sejam
modificadas. Este tipo de licena permissiva quem define quando um software livre, ou de
cdigo-aberto.
Licena GPL
A licena GPL permite que o autor distribua livremente o seu cdigo, oferecendo assim 4 liberdades:
Outras Licenas
Alm da GPL, h uma grande quantidade de outras licenas que permitem o uso livre dos softwares.
Podemos citar alguns exemplos como a LGPL, Original BSD, Modified BSD, Apache License, Intel
Open Source License, Mozilla Public License, entre muitas outras.
A FSF Free Software Foundation (Fundao do Software Livre, em portugus) criada em 1985
por Richard M. Stallman uma fundao sem fins lucrativos com o objetivo de incentivar o
movimento do software livre. A FSF foi pioneira na discusso e criao de softwares livres no
mundo, em uma poca em que tudo estava tendendo ao software pago.
O Projeto GNU foi o bero do software livre. Iniciado em 1984 e idealizado por Richard Stallman,
seu propsito era criar um sistema operacional livre, de cdigo-aberto. Stallman comeou com a
idia criando o editor de textos emacs, que foi muito bem recebido ao seu redor, depois
contemplando o projeto com outros pedaos de software como o compilador gcc.
Depois de algum tempo, o projeto GNU tinha todas as ferramentas prontas para os usurios
utilizarem, mas faltava apenas uma coisa: o kernel. Sem um kernel prprio e livre, o ideal de
software livre do projeto GNU no poderia ser alcanado. O kernel escolhido para ser utilizado no
sistema operacional GNU o GNU HURD, um tipo de micro-kernel que havia sido iniciado em 1990.
Porm, a implementao deste kernel nunca andou muito rpido. Por essa razo, um estudante da
Finlandia chamado Linus Torvalds criou um kernel chamado Linux e utilizou todas as ferramentas do
projeto GNU nele. Como o kernel era livre, rapidamente as pessoas ao redor do projeto GNU
comearam a utiliz-lo e apesar de no ser considerado oficial, o Linux acabou se tornando o kernel
principal do sistema GNU.
Por essa razo, muitas pessoas utilizam o termo GNU/Linux para chamar o sistema operacional
que tem como kernel o Linux e muitas de suas ferramentas bsicas do projeto GNU. Essa questo
bastante polmica e gera muitas controvrsias, pois atualmente no se usa apenas as ferramentas
GNU: as distribuies possuem vrios outros programas de diversos projetos diferentes.
Em 1985, Richard Stallman criou a Free Software Foundation, uma organizao sem fins lucrativos
que atua na defesa do software livre e suas licenas. A FSF cuida de licenas como a GPL,
importantes na implantao e adoo do software livre no mundo. Alm disso, ela tambm
gerencia o projeto GNU, auxiliando todo o grande nmero de programas que participam do projeto.
A Free Software Foundation tem sua sede em Boston, MA, EUA. Alm da sede, ela tambm tem
filiais na Amrica Latina, Europa e ndia.
Richard Stallman
Fundador e criador de vrias polticas sobre softwares livres, Richard Stallman pode ser considerado
um dos pais do software livre. At os dias de hoje (2008), Stallman continua atuando como
articulador pela Free Software Foundation. Defendendo o software livre e a GPL com todas suas
foras.
Distribuies
Quando Linus lanou a primeira verso do Linux em 1991, ele utilizou boa parte do conjunto de
ferramentas do kernel GNU para trabalhar junto ao kernel, afinal o kernel sozinho no poderia fazer
nada de til em relao interface com o usurio. Para usar todas as ferramentas, ele teve que
constru-las especificadamente para o seu kernel e un-las para apresentar ao usurio uma interface
para o uso do computador. Enquanto o kernel trabalhava com o hardware, as ferramentas
trabalhavam servindo como ponte entre o usurio e o kernel.
O processo de montagem do kernel com estas ferramentas pode ser muito trabalhoso. Algumas
empresas e pessoas viram isso como uma grande barreira para adoo do sistema: como usurios
que no eram to avanados conseguiriam utilizar o sistema operacional?
Esta questo foi resolvida com o surgimento das distribuies. As empresas e pessoas criaram
processos de empacotamento do kernel e ferramentas diversas e forneciam aos usurios o pacote
todo pronto: uma distribuio. Os usurios obtiam cpias de disquetes ou CDs atravs de amigos ou
pela Internet e instalavam em suas mquinas atravs dos sistemas de instalao que as empresas e
pessoas por trs das distribuies fizeram, tornando assim o trabalho muito mais fcil.
Com o tempo, as distribuies ficaram cada vez mais complexas, utilizando vrias outras
ferramentas alm das do projeto GNU, se tornando verdadeiros sistemas operacionais que
poderiam ser aproveitados por uma vasta base de usurios.
Uma das reaes mais comuns entre as pessoas quando elas dizem que utilizam o Linux
perguntar: Qual a sua distribuio Linux?. Como o kernel Linux e suas ferramentas so softwares
livres, este processo de empacotamento em uma distribuio poderia ser feito por qualquer um que
entendesse do sistema. Por isso, cada empresa ou pessoa construiu sua distribuio de acordo com
o que eles achavam que seria o melhor. Com isso, cada distribuio acaba tendo algumas
caractersticas especficas que as diferenciam das outras, criando assim o gosto pela adoo nas
pessoas. Enquanto uma pessoa utiliza a distribuio X, outra pessoa utiliza a distribuio Y e uma
terceira pessoa a distribuio F.
Atualmente temos disponveis centenas de tipos diferentes de distribuio, para todos os gostos.
Seguindo os Padres
Quando centenas de distribuies comearam a aparecer, cada uma estava fazendo tudo do seu
jeito. Apesar da liberdade de escolha ser algo bom, a falta de padres poderia por em risco a
utilizao das distribuies Linux em geral, pois umas acabariam se tornando totalmente
incompatveis com as outras, como se fossem sistemas operacionais totalmente diferentes.
Para resolver esta questo, criou-se alguns padres que as distribuies procuram seguir para
manter a interoperabilidade intacta:
Como cada distribuio tem suas prprias caractersticas, crucial sabermos que h tipos de
distribuies realmente especializadas em fazer uma coisa em especfico, como tambm h outras
que adotam um uso mais genrico.
Uma distribuio Linux pode ser utilizada em diversas reas como um servidor: firewalls,
roteadores, servidores Web e FTP, servidores de e-mail, banco de dados, backup, entre muitos
outros. Tambm pode ser utilizada para desktop: atravs de ambientes grficos como o KDE,
GNOME, XFCE, entre outros, os usurios tem acesso a programas que criam uma interface amigvel
para o usurio, alm de fornecer as ferramentas para se trabalhar em: manipulao de imagens,
desenvolvimento Web, visualizao de textos e apostilas, navegao na Internet, editorao grfica,
jogos, msica e vdeos, entre muitos outros.
Existem distribuies que ocupam um espao mnimo (50MB), geralmente para computadores mais
antigos e com poucos recursos; outras distribuies feitas diretamente para rodar de um CD, DVD
ou at pen-drive, sem precisar instalar o sistema operacional, geralmente utilizadas para
demonstrao do sistema, para uso emergencial ou para reparos em um computador; outras so
feitas especialmente para serem executadas pela rede, sem a necessidade de um HD; e at as
distribuies que so utilizadas nos dispositivos que usamos no dia-a-dia: tocadores de mp3,
celulares, roteadores (wireless ou no), modems, cmeras, dispositivos de TV, entre muitos outros.
POSIX
POSIX (acrnimo para Portable Operating System Interface, que pode ser traduzido como Interface
Portvel entre Sistemas Operacionais) uma famlia de normas definidas pelo IEEE e designada
formalmente por IEEE 1003, que tem como objetivo garantir a portabilidade do cdigo-fonte de um
programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema
POSIX, desta forma as regras actuam como uma interface entre sistemas operacionais distintos. A
designao internacional da norma ISO/IEC 9945.
A normatizao das especificaes POSIX surgiu de um projecto, iniciado por volta de 1985, que
tinha como objectivo normatizar a API (ou interface de programao de aplicativos) para software
desenhado para correr em variantes do sistema operativo (ou sistema operacional, no Brasil) UNIX.
O termo POSIX foi sugerido por Richard Stallman em resposta a um pedido da IEEE de um nome fcil
de lembrar. uma sigla aproximada de Portable Operating System Interface, com o X a representar
a herana que o interface de programao de aplicaes tem do sistema UNIX.
Um pacote de teste da norma POSIX acompanha a documentao da norma. designada por POSIX
Conformance Test Suite (PCTS).
Como a IEEE tem vindo a cobrar somas avultadas pela documentao da norma POSIX e no
permite a publicao online das normas, tem havido uma tendncia para adopo da "Single UNIX
Specification", da responsabilidade do Open Group, que aberta, aceita contribuies de todos e
encontra-se disponvel na Internet.
Apesar de terem sido feitas para sistemas Unix, os padres POSIX podem ser aplicados a qualquer
sistema operacional.Para sistemas Linux, vrias extenses e normalizae
Grupos de Interesse
A organizao da IEEE inclui a existncia de dezenas de grupos de interesse, sendo que o maior
deles quase uma associao prpria, a IEEE Computer Society.
Aes Voluntrias
The Open Group um consrcio formado por empresas da indstria de informtica para
estabelecer padres abertos para a infra-estrutura de computao. Surgiu em 1996 com a fuso do
consrcio X/Open com a Open Software Foundation. O Open Group mais conhecido por ser o
proprietrio da marca UNIX, mas tambm lembrado pela publicao da Single UNIX
Specification[1], que estende os padres POSIX e a definio oficial do UNIX. Dentre os seus
membros esto vendedores e compradores de produtos de informtica alm de agncias
governamentais como, por exemplo, Capgemini, Fujitsu, Hitachi, HP, IBM, NEC, Departamento de
Defesa dos Estados Unidos da Amrica, NASA e outros.
Histria
Por volta dos anos 90 a maioria dos fornecedores de sistemas Unix entendeu que a rivalidade
existente entre eles, que redundou na chamada guerra do Unix, estava causando mais prejuzo que
benefcio, enfraquecendo o Unix perante a competio que surgia a partir da Microsoft. A iniciativa
COSE, em 1993, pode ser considerada como o primeiro passo no sentido de uma unificao e a
fuso da Open Software Foundation (OSF) com a X/Open, em 1996, como o ltimo passo para o fim
dos conflitos. Como a OSF j havia se unido com a UNIX International em 1994, a nova entidade
teve a representatividade necessria para reunir todos os elementos da comunidade Unix.
Os servios mais conhecidos do Open Group so as suas certificaes, incluindo certificaes para a
plataforma Common Operating Environment (COE), CORBA, LDAP, POSIX, SIF, UNIX e WAP. O Open
Group tambm oferece certificaes para profissionais da rea de informtica, atravs de
programas para arquitetos de sistemas como o IT Architect Certification e o TOGAF (The Open
Group Architecture Framework).
O Open Group fornece uma plataforma para que seus membros discutam necessidades, e
trabalhem conjuntamente no desenvolvimento e adoo de padres da indstria e para facilitar a
integrao das corporaes. Tambm disponibiliza servios para o setor governamental, agncias e
qualquer companhia ou organizao criada por governos para auxiliar na busca pelos objetivos de
governo.
Invenes e padres
O nome Debian vem dos nomes dos seus fundadores, Ian Murdock e de sua mulher, Debra. A
palavra "Debian" pronunciada em Portugus como Dbian. Vrias distribuies comerciais
baseiam-se (ou basearam-se) no Debian, incluindo: Lindows (atual Linspire), Xandros, Kurumin,
Debian-BR-CDD e Libranet. O Ubuntu Linux tambm se baseia em Debian. Est atualmente a
decorrer trabalho para portar o Debian para outros kernels livres para alm do Linux, incluindo o
Hurd e o BSD. Para j, no entanto, ainda muito mais preciso descrever o Debian como uma
"Distribuio Linux", sem mais qualificaes.
Fedora Core uma distribuio Linux baseada em pacotes RPM, criada pela Red Hat. Atualmente
mantida pelo Projeto Fedora (Fedora Project). Sua instalao semelhante a verso 9 do Red Hat,
em computadores com mais de 1GHz de processamento e 256 de MB de memria RAM, a
instalao padro demora cerca de 30 minutos. Depois da instalao o GNOME fica como gestor de
desktop padro, podendo ser mudado para o KDE, WindowMaker, etc. J vem com o browser
Mozilla Firefox, com OpenOffice.org e suporte com idiomas, alm uma diversidade de programas
para servidores e desktops domsticos.
Histria
Os usurios da verso Red Hat 9 estavam aguardando a verso 10 ou 9.1 da distribuio. Mas na
verdade a Red Hat estava com outros planos para a nova verso. Esta distribuio era
comercializada em caixas e disponvel nas lojas. Quem assim o adquiria, procurava por mais
recursos. Esta era a verso Enterprise Linux. A Redhat decidiu ento continuar apenas com a Red
Hat Enterprise Linux, que era o que lhe trazia lucros significativos. Afim de proteger sua marca a Red
Hat decidiu registrar sua marca como Fedora a verso normal do Linux. necessrio destacar que o
Fedora Core no um produto pertencente a Red Hat.
Projeto Fedora
O Projeto Fedora uma comunidade independente baseada no cdigo fonte aberto, ela
responsvel por manter a distribuio Fedora Core. O objetivo desse projeto possibilitar que
desenvolvedores da equipe da Red Hat e usurios da comunidade Linux trabalhem para construir
um sistema operacional completo e verstil totalmente livre, sem custos de licenas ou custo de
suporte. As verses testes foram iniciadas a partir de Julho de 2003 e em Maro de 2004 saiu a
primeira verso do Fedora Core. A verso mais recente o Fedora Core 6.
O Fedora Core um sistema voltado para uso em desktops e servidor derivado do Red HatLinux
(uma das distribuies linux mais populares) que mantm algumas de suas caracteristicas como:
Gentoo Linux uma distribuio gratuita do sistema operacional GNU/Linux baseada na GNU
General Public License. O diferencial do Gentoo Linux, em relao s outras distribuies, est no
uso da ferramenta Portage de que d ao usurio a possibilidade de ter um sistema adaptado ao seu
perfil, pois cada pacote compilado durante a instalao, de forma automatizada, optimizada e
com todas as dependncias resolvidas. Devido a essas caractersticas o Gentoo Linux considerado
uma meta-distribuio.
Esta distribuio direcionada para usurios avanados ou experientes, devido complexidade de
executar tarefas que em outras distribuies so realizadas de forma simples, porm aconselhada
tambm a todos que queiram saber o mximo sobre GNU/Linux. Quando bem instalada e
configurada, torna-se a distribuio mais veloz, executando programas emulados mais rpido que o
prprio Windows.
Mandriva juno do nome das duas empresas MandrakeSoft e Conectiva. A Mandriva Conectiva
a operao brasileira da Mandriva, desenvolvedora e distribuidora do sistema operacional Mandriva
Linux, resultado da fuso ocorrida em 24 de fevereiro de 2005 entre a MandrakeSoft, uma das
principais distribuies Linux da Europa, com atuao mundial em mais de 120 pases, e a
Conectiva, pioneira na distribuio Linux e cdigo aberto em portugus, espanhol e ingls para toda
a Amrica Latina. A Mandriva possui escritrios nos Estados Unidos, Frana e Brasil, tem mais de 8
milhes de usurios e uma carteira de 170 grandes clientes corporativos, alm de contar com 130
funcionrios.
O projecto openSUSE uma programa para uma comunidade apoiado pela Novell. Promovendo o
uso do Linux pelo mundo fora, este programa permite um acesso fcil e gratuito distribuio mais
amigvel do mundo, o SUSE Linux. OpenSUSE fornece tudo o que programadores e entusiastas
precisam para comear a usar o Linux. Localizado em opensuse.org, o projeto permite aceder
facilmente a novas verses estveis e de desenvolvimento.
O FEDORA LINUX
Fedora (antigamente chamado Fedora Core) uma distribuio Linux baseada em pacotes RPM,
criada pela Red Hat. Atualmente mantida pelo Projeto Fedora (Fedora Project). Sua instalao
semelhante a verso 9 do Red Hat, em computadores com mais de 1GHz de processamento e 256
de MB de memria RAM, a instalao padro demora cerca de 30 minutos. Depois da instalao o
GNOME fica como gestor de desktop padro, podendo ser mudado para o KDE, WindowMaker,
XFCE e etc. J vem com o browser Mozilla Firefox, com OpenOffice.org e suporte a diversos idiomas,
alm de uma grande diversidade de programas para servidores e desktops. Novas verses do
Fedora so lanadas aproximadamente a cada 6 meses, tendo como padro trs verses-teste para
validao e correo de bugs, reportados atravs do sistema bugzilla do projeto.
Os usurios da verso Red Hat 9 estavam aguardando a verso 9.1 ou 10 da distribuio, mas na
verdade a Red Hat estava com outros planos para a nova verso. Esta distribuio era
comercializada em caixas e disponvel nas lojas. Quem assim o adquiria, procurava por mais
recursos. Esta era a verso Enterprise Linux. A Redhat decidiu focar o mundo corporativo com o Red
Hat Enterprise Linux e descontinuou sua verso voltada para a comunidade, lanando o Projeto
Fedora e registrando esta nova marca, desvinculando esta nova distribuio de suas marcas.
O Fedora representa um conjunto de projetos patrocinados pela Red Hat e direcionados pelo
Projeto Fedora. Estes projetos so desenvolvidos por uma imensa comunidade internacional de
pessoas focadas em prover e manter as melhores iniciativas atravs dos padres livres do software
de fonte aberto. A Distribuio GNU/Linux Fedora , projeto central do Fedora, um sistema
operacional baseado no Linux, sempre gratuito para ser usado, modificado e distribudo por
qualquer pessoa.
As verses testes do Fedora foram iniciadas a partir de Julho de 2003 e em Maro de 2004 saiu a
primeira verso estvel.
Principais caractersticas
Fedora Core 2.0 18 de maio de 2004 "Tettnang" kernel 2.6, KDE 3.2 e GNOME 2.6
Fedora Core 3.0 8 de novembro de 2004 "Heidelberg" kernel 2.6, GNOME 2.8 e KDE 3.3
Fedora Core 4.0 13 de junho de 2005 "Stentz" kernel 2.6, GNOME 2.10, KDE 3.4 e o GCC 4.0
Fedora Core 5.0 20 de maro de 2006 "Bordeaux" kernel 2.6.15, GNOME 2.14, e o GCC 4.1
Fedora Core 6.0 24 de Outubro de 2006 "Zod" kernel 2.6.18.1, GNOME 2.16, e o GCC 4.1.1
Fedora 7.0 31 de Maio de 2007 "Moonshine" kernel 2.6.21, GNOME 2.18,KDE 3.5.6. e o Python 2.5
Fedora 8.0 8 de Novembro de 2007 "Werewolf" kernel 2.6.23, GNOME 2.20,KDE 3.5.8. e o Python 2.5
Fedora 9.0 13 de Maio de 2008 "Sulphur" kernel 2.6.25, GNOME 2.22.1,KDE 4. e o Python 2.5.1
CentOS
O CentOS uma verso gratuita do Red Hat Enterprise, gerado a partir do cdigo fonte
disponibilizado pela Red Hat e mantido de forma bastante competente por um grupo de
desenvolvedores, que combina representantes de diversas empresas que utilizam o sistema
(sobretudo empresas de hospedagem) e voluntrios.
Ele , basicamente, uma verso gratuita do RHEL, que possui um excelente histrico de segurana e
conta com uma boa estrutura de suporte comunitrio e atualizaes pontuais de segurana,
qualidades que o tornam uma das distribuies Linux mais populares em servidores, sobretudo em
servidores web.
Se voc est interessado na estabilidade do Red Hat Enterprise, ou precisa rodar softwares como o
Oracle, que so suportados apenas nele, mas no tem como pagar caro pelo sistema, o CentOS a
sua melhor opo.
Para quem est chegando agora, o Red Hat Linux foi uma das primeiras distribuies Linux a
conquistar um grande pblico. A primeira verso foi lanado em 1994 e o sistema conseguiu ganhar
espao tanto entre os desktops (devido relativa facilidade de uso) quanto entre os servidores,
devido boa estabilidade do sistema. O Red Hat Linux foi descontinuado em 2004, dando lugar ao
Fedora, que desenvolvido de forma colaborativa e s diferentes verses do Red Hat Enterprise
(tambm chamado de RHEL), a verso comercial do sistema, destinada a grandes empresas.
O Red Hat Enterprise possui um ciclo de desenvolvimento mais lento (que prioriza a estabilidade) e
tem suas verses suportadas por um perodo de nada menos do que 7 anos aps o lanamento.
Para quem est acostumado com o rpido ritmo de desenvolvimento das distribuies Linux
domsticas, um sistema que suportado por 7 anos pode soar estranho, mas dentro do ramo
corporativo este um diferencial importante, j que atualizar os desktops e os servidores sempre
um processo arriscado e caro (devido mo de obra necessria, necessidade de treinar os
funcionrios, etc.), de forma que ciclos de desenvolvimento mais lentos e previsveis so preferidos.
Veja o caso do Windows, por exemplo, muitas empresas ainda usam servidores com o 2000 Server,
ou mesmo com o NT 4.
O RHEL fornecido apenas em conjunto com um plano de suporte e no pode ser redistribudo em
seu formato binrio. Entretanto, todo o cdigo fonte est disponvel, de forma que algum que
pacientemente compile cada um dos pacotes disponibilizados pela Red Hat, acaba obtendo uma
cpia completa do sistema, que pode ser usada para todos os fins.
O CentOS nada mais do que um Red Hat Enterprise compilado a partir do cdigo fonte
disponibilizado pela Red Hat, com os logotipos as marcas registradas removidas. Isso garante que os
dois sistemas sejam binariamente compatveis (ou seja, um software compilado para rodar no Red
Hat Enterprise roda tambm na verso correspondente do CentOS sem precisar de modificaes) e
todos os passos de instalao e configurao dos dois sistemas so idnticos, o que faz com que
toda a documentao do Red Hat Enterprise se aplique tambm ao CentOS.
Ao aprender a trabalhar com o CentOS, voc automaticamente aprende a trabalhar com o Red Hat
Enterprise e vice-versa. A grosso modo, podemos dizer que o Fedora uma verso comunitria de
desenvolvimento do Red Hat Enterprise, enquanto o CentOS uma cpia praticamente exata do
sistema.
Com relao s verses, o Red Hat Enterprise 4 foi baseado no Fedora Core 3, enquanto o Red Hat
Enterprise 5 foi baseado no Fedora Core 6 e o Red Hat Enterprise 6 ser baseado no Fedora 9. As
verses do CentOS seguem as verses do Red Hat Enterprise, de forma que o CentOS 5 corresponde
ao Red Hat Enterprise 5 e assim por diante:
Novas verses do Red Hat Enterprise so disponibilizadas a cada 18 ou 24 meses, mas recebem um
grande volume de atualizaes e correes de segurana durante este perodo. Isso leva ao
lanamento de sub-verses com as atualizaes pr-instaladas, como o Red Hat Enterprise 4.6 e o
Red Hat Enterprise 5.1, que so sempre seguidas pelas verses correspondentes do CentOS.
A grande diferena entre o CentOS e o Red Hat Enterprise a questo do suporte, j que, embora
caro, o suporte oferecido pela Red Hat bastante personalizado e os profissionais passam por um
exame de certificao exigente (o RHCE) que mistura testes tericos e prticos. Em servidores de
misso crtica, usar o Red Hat Enterprise e pagar pelo suporte geralmente uma boa opo, j que
alm de ajuda na implementao, voc tem uma equipe pronta para agir em caso de problemas
inesperados. Para os demais casos, voc pode perfeitamente utilizar o CentOS contando com o
suporte comunitrio oferecido atravs dos fruns do projeto.
O CentOS tambm bastante similar ao Fedora, mas nesse caso as diferenas so mais evidentes, j
que verses recentes do Fedora so baseadas em pacotes mais atuais, o que invariavelmente leva a
mudanas no sistema. De qualquer forma, os passos bsicos de instalao e a configurao geral
dos dois sistemas so praticamente iguais, de forma que as dicas desse tpico se aplicam tambm
ao Fedora.
Comparar o CentOS e o Fedora para uso em servidores desperta argumentos similares aos de uma
comparao entre o Ubuntu e o Debian. O CentOS segue as verses do Red Hat Enterprise, que
possui um ciclo de desenvolvimento muito mais longo, onde a principal preocupao a
estabilidade do sistema. O Fedora, por sua vez, desenvolvido em torno de ciclos muito mais
curtos, com uma nova verso sendo disponibilizada a cada 6 meses.
Por um lado isso bom, j que voc tem acesso a verses mais atuais dos pacotes, mas por outro
lado ruim, pois o lanamento mais freqente de novas verses aumenta sua carga de trabalho
como administrador, j que o sistema precisa ser atualizado mais freqentemente.
Alm de serem mais espaadas, as verses do CentOS recebem atualizaes de segurana por um
perodo muito mais longo, que torna a vida til das instalaes muito maior. Um servidor rodando a
verso mais atual do CentOS poderia ser mantido em servio por at 7 anos, recebendo apenas as
atualizaes de segurana, o que no seria possvel no Fedora, onde o suporte s verses antigas
encerrado muito mais rapidamente.
Embora o Fedora seja em teoria menos estvel que o CentOS, ambas as distribuies podem ser
consideradas bastante estveis. Poderamos dizer que o CentOS "99% estvel" enquanto o Fedora
"98% estvel". Ou seja, existe diferena, mas ela relativamente pequena.
INSTALAO DO CentOS
1. Coloque o DVD no seu servidor ou computador e coloque o boot pelo seu DVD/CD.
2. Ser exibida esta tela. Existem vrias opes de instalao. No nosso exemplo, tecle Enter.
Na prxima tela possvel fazer um teste das mdias. Este teste demorado. Caso no queira
realizar o teste, tecle Tab para selecionar o boto Skip e tecle Enter.
Aps selecionar o idioma para o Portugus, todas as telas estaro em portugus. Confira na prxima
tela. Agora, selecione o Layout do teclado Portugus Brasileiro (ABNT2).
Clique no boto Prximo. Ser exibida uma tela de alerta, informando sobre a tabela de parties.
Apenas clique no boto Sim.
Aguarde um pouco. Ser exibida a tela onde ser necessrio criar as parties. Este processo pode
ser todo automtico ou manual. Aqui, vamos optar pelo automtico.
Marque a opo Rever e modificar o layout do particionamento.
Clique no boto Prximo. Ser exibido um alerta informando que os dados sero perdidos. Clique
no boto Sim.
O Red Hat e CentOS trabalham com o padro LVM. O LVM bem mais prtico e flexvel. Veja a
ilustrao:
Clique no boto prximo.
Agora possvel configurar o gerenciador de inicializao do Linux. Por padro, usado o Grub.
Tambm possvel configurar uma senha para que no possam ser passados parmetros ao Grub
na inicializao do Linux. Alm de opes Avanadas. Veja na prxima tela:
Estarei selecionando a opo Server. Este um processo que quando se est aprendendo uma
distribuio Linux, tem que se repetir vrias vezes at ter o domnio da distribuio em questo.
Outro item que no dispenso a opo Personalizar agora.
Veja algumas personalizaes:
Na seo Servidor Web, geralmente seleciono a maioria dos itens por questo de facilidade e
compatibilidade. Veja:
A prxima tela informa que ser iniciado o processo de instalao. Esta agora ser a parte mais
demorada.
Agora, aguardo um pouco enquanto feito o processo de instalao. Pode demorar um pouco
dependendo da configurao do seu sistema. Veja algumas ilustraes:
Agora, o DVD/CD ser ejetado automaticamente e ser necessrio um reboot no sistema.
Nesta prxima tela, o momento de configurao do Firewall. possvel liberar alguns servios
bsicos como o ssh, FTP, samba, e-mail, nfs4. Veja:
O que o SELinux ?
Breve Histrico
Ento o prximo passo da evoluo foi um mdulo carregvel no kernel 2.4 que armazenava os
PSIDs em um arquivo normal fazendo com que o SELinux suportasse mais sistemas de arquivos.
No entanto, esta soluo ainda no era tima para a performance do sistema. Finalmente o cdigo
do SELinux foi integrado ao kernel 2.6.x com total suporte por LSM e contendo atributos (xattrs) no
sistema de arquivos ext3. SELinux foi alterado para usar xattrs como forma de armazenamento da
informao do contexto de segurana.
Muito do trabalho para deixar o kernel pronto para o SELinux bem como seu subsequente
desenvolvimento vm sendo realizado em esforos conjuntos da NSA, Red Hat, IBM e a comunidade
de desenvolvedores do SELinux.
Para entender os benefcios do MAC sobre o tradicional DAC ("Discretionary Access Control"),
necessrio entender as limitaes do DAC.
Com DAC existem apenas duas grandes categorias de usurios: Administradores e No-
administradores. Para alguns servios e programas rodarem com nvel elevado de privilgio as
escolhas so poucas e tipicamente resolvida dando completo acesso de administrador.
O MAC permite que seja definido permisses de como os processos iro interagir com outras partes
do sistema como arquivos, devices, sockets, portas e outros processos (todos chamados de objetos
para o SELinux). Isso feito atravs de uma poltica de segurana definida administrativamente
sobre todos os processos e objetos. Estes processos e objetos so controlados pelo Kernel e a
deciso de segurana tomada com todas as informaes disponveis ao invs de utilizar somente a
identidade do usurio. Com este modelo os processos podem garantir apenas permisses
necessrias pela funcionalidade seguindo um princpio de poucos privilgios.
Sobre MAC, por exemplo, usurios que expem seus dados utilizando chmod esto protegidos pelo
fato de seus dados ter um tipo nico associado com seu diretrio "home" e outros processos no
podem tocar nestes dados sem devida permisso dentro da poltica.
SISTEMA DE ARQUIVOS E ESTRUTURA DE DIRETRIOS
Nome: ext2
No fragmentao
Nome: ext3
Pesquisa Binria
Grava o que foi feito, no necessita FSCK mesmo caso caia a energia
/usr Segundo maior diretrio (logo aps o /), recomenda-se monta-lo como RO
para evitar danos. A grande maioria dos aplicativos do sistema e instalados com ele ficam a partir
deste diretrio.
/var Diretrio que contm arquivos variveis, tais como spool (filas de email,
crontab, impresso) e logs. Este diretrio existe para que os arquivos que necessitem ser
modificados fiquem nele e no no /usr, liberando assim sua montagem como RO.
importante salientar, que essa estrutura de diretrios pode sofrer pequenas mudanas,
dependendo da distribuio e da verso que estiver sendo utilizada. Mas no se preocupe, nada
que no seja percebido por algum com um pouco de conhecimento em LINUX.
Nveis de execuo
Sistemas Linux podem funcionar em vrios nveis distintos de execuo. Cada nvel caracterizado
pelo conjunto de processos permanentes e funes oferecidas. Sistemas Red Hat Linux e derivados,
utilizam seis nveis de execuo, ou runlevels, como so mais conhecidos. Esta concepo tem suas
origens no sistema Unix desenvolvido na AT&T (System V Unix).
Nvel Significado
0 Neste nvel o sistema est parado
1 Sistemas funcionando no nvel 1 esto em modo monousurio, com um conjunto mnimo
de processos ativos. O sistema de arquivos raiz (root) est montado em modo de leitura.
Este nvel de execuo normalmente utilizado quando a inicializao normal falha por
alguma razo.
2 A maior parte dos servios esto ativos, com exceo dos processos de rede (como nfs,
nis, named e httpd). O sistema est em modo multi usurio, mas no permite acesso
remoto
3 Este o nvel normal de operao, com todos os processos ativos. Carrega o sistema em
modo multi usurio, mas sem interface grfica.
4 Este nvel no utilizado na maior parte das distribuies
5 Semelhante ao nvel 3, com todos os processo ativos, porm com uma interface grfica
de logon.
6 executado neste nvel um reboot do sistema.
id:3:initdefault:
Bourne Shell: o shell padro para Unix, ou seja, a matriz dos outros shells, portanto um dos mais
utilizados. representado por "sh". Foi desenvolvido por Stephen Bourne, por isso Bourne Shell.
Korn Shell: este shell o Bourne Shell evoludo, portando todos os comandos que funcionavam no Bourne
Shell funcionaro neste com a vantagem de ter mais opes. representado por "ksh".
C Shell: o shell mais utilizado em BSD, e possui uma sintaxe muito parecida com a linguagem C. Este tipo de
shell j se distancia mais do Bourne Shell, portanto quem programa para ele ter problemas quanto a
portabilidade em outros tipos. representado por "csh".
Bourne Again Shell: o shell desenvolvido para o projeto GNU usado pelo GNU/Linux, muito usado pois o
sistema que o porta evolui e adotado rapidamente. Possui uma boa portabilidade, pois possui
caractersticas do Korn Shell e C Shell. representado por "bash". O nosso estudo estar focado neste.
O Shell do LINUX, pode ser comparado ao DOS (cmd) do Windows, mas essa comparao apenas relativa,
pois o Shell do LINUX extremamente poderoso e flexvel, permitindo a configurao total do sistema LINUX
(rede, servios, usurios, permisses, etc) atravs de interface texto. Tambm bastante til para acesso
remoto, onde a velocidade de comunicao pode ser um obstculo para a interface grfica convencional.
Uma outra caracterstica do Shell do LINUX a possibilidade de criao de aplicaes Shell (seria o .bat do
Windows) bastante eficazes, mas isso exige um nvel de conhecimento bastante avanado do usurio. Para o
usurio comum, apenas o conhecimento da interface grfica j o suficiente, porm, para o administrador
do sistema, o conhecimento do Shell um enorme diferencial, basta vermos que a maioria dos servidores
LINUX rodam apenas a interface texto.
O Linux (na verdade, GNU/Linux), assim como qualquer sistema operacional moderno,
perfeitamente capaz de oferecer interao com o usurio atravs de grficos, fazendo com que seja
possvel utilizar a maioria de seus recursos atravs do mouse. Porm, em dado momento, o modo
grfico pode no estar disponvel, restando apenas o modo texto (para a insero de comandos).
Alm disso, determinadas tarefas s podem ser executadas por comandos digitados. Para no ficar
perdido em qualquer dessas situaes, necessrio conhecer alguns comandos do Linux. isso que
essa matria apresenta a seguir.
Se o Linux que voc utiliza entra direto no modo grfico ao ser inicializado, possvel inserir
comandos no sistema atravs de uma aplicao de terminal. Esse recurso facilmente localizvel
em qualquer distribuio. A imagem abaixo, por exemplo, mostra um terminal no Ubuntu Linux:
Se o computador que voc acessa no estiver com o modo grfico ativado, ser possvel digitar
comandos diretamente, bastando se logar. Quando o comando inserido, cabe ao interpretador de
comandos (tambm conhecido como shell) execut-lo. O Linux conta com mais de um, sendo os
mais conhecidos o bash e o sh.
Observao: dependendo de sua distribuio e de seu shell, a linha de comandos pode ter um
formato ligeiramente diferente do que mostrado nos exemplos. No Ubuntu Linux, por exemplo, o
segundo exemplo fica na seguinte forma:
wester@alecrim: ~$
Nos exemplos, a palavra existente antes do smbolo @ diz qual o nome do usurio que est usando
o terminal (lembre-se de que no Linux necessrio ter um usurio para utilizar o sistema). Os
nomes que aparecem depois do @ indicam o computador que est sendo acessado seguido do
diretrio.
O caractere que aparece no final indica qual o poder do usurio. Se o smbolo for #, significa que
usurio tem poderes de administrador (root). Por outro lado, se o smbolo for $, significa que este
um usurio comum, incapaz de acessar todos os recursos que um administrador acessa.
Independente de qual seja, depois do caractere que o usurio pode digitar os comandos.
Agora que voc j sabe como agir em um terminal, vamos aos comandos do Linux mais comuns.
Para utiliz-los, basta digit-los e pressionar a tecla Enter de seu teclado. importante frisar que,
dependendo de sua distribuio Linux, um ou outro comando pode estar indisponvel. Alm disso,
alguns comandos s podem ser executados por usurios com privilgios de administrador.
cat arquivo: mostra o contedo de um arquivo. Por exemplo, para ver o arquivo infowester.txt,
basta digitar cat infowester.txt;
cd diretrio: abre um diretrio. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir
ao diretrio raiz a partir de qualquer outro, digite apenas cd;
clear: elimina todo o contedo visvel, deixando a linha de comando no topo, como se o sistema
acabasse de ter sido acessado;
cp origem destino: copia um arquivo ou diretrio para outro local. Por exemplo, para copiar o
arquivo infowester.txt com o nome infowester2.txt para /home, basta digitar cp infowester.txt
/home/infowester2.txt;
diff arquivo1 arquivo2: indica as diferenas entre dois arquivos, por exemplo: diff calc.c calc2.c;
find diretrio parmetro termo: o comando find serve para localizar informaes. Para isso, deve-se
digitar o comando seguido do diretrio da pesquisa mais um parmetro (ver lista abaixo) e o termo
da busca. Parmetros:
mv origem destino: tem a mesma funo do comando cp, s que ao invs de copiar, move o arquivo
ou o diretrio para o destino especificado;
mkdir diretrio: cria um diretrio, por exemplo, mkdir infowester cria uma pasta de nome
infowester;
passwd: altera sua senha. Para um administrador mudar a senha de um usurio, basta digitar
passwd seguido do nome deste;
O parmetro now pode ser mudado. Por exemplo: digite shutdown -r +10 e o sistema ir reiniciar
daqui a 10 minutos;
su: passa para o usurio administrador, isto , root (perceba que o smbolo $ mudar para #);
uname: mostra informaes do sistema operacional e do computador. Digite uname -a para obter
mais detalhes;
useradd usurio: cria uma nova conta usurio, por exemplo, useradd wester cria o usurio wester;
whereis nome: procura pelo binrio do arquivo indicado, til para conhecer seu diretrio ou se ele
existe no sistema;
Finalizando
Praticamente todos os comandos citados possuem parmetros que permitem incrementar suas
funcionalidades. Por exemplo, se voc digitar o comando ls com o parmetro -R (ls -R), este mostrar
todos os arquivos do diretrio, inclusive os ocultos.
ls --help
Tambm possvel utilizar o comando man (desde que seu contedo esteja instalado), que
geralmente fornece informaes mais detalhadas. Par usar o man para obter detalhes do comando cp,
por exemplo, a sintaxe :
man cp
Se voc estiver utilizando o bash, pode-se aplicar o comando help ou info da mesma forma que o
comando man:
help cp
info cp
Assim como conhecer os comandos bsicos do Linux importante, tambm o saber como acessar
seus recursos de ajuda, pois isso te desobriga de decorar as seqncias das funcionalidades extras.
Sabendo usar todos os recursos, voc certamente ter boa produtividade em suas tarefas no Linux.
GRUPOS
Grupos servem para agrupar diversos usurios em um nico grupo, isto e um tanto quanto bvio.
Exemplificando, temos um departamento pessoal na empresa, estes usurios podem acessar uma
diretrio chamado /usr/share/dpessoal, e mais ningum da empresa pode acessar esta pasta, o
que fazemos para restringir o acesso? Ao invs de modificar a permisso de cada usurio que acessa
este diretrio, podemos criar o grupo deptopessoal, colocar os funcionrios do departamento
pessoal neste grupo e restringir o acesso ao diretrio /usr/share/dpessoal para que somente quem
faa parte deste grupo possa acessar.
Criando um grupo
Para criarmos um grupo utilizamos o comando groupadd, adicionando a opo g podemos definir
o gid (nmero de identificao do grupo) mas se for omitido o sistema vai adicionar a numerao
automaticamente:
# groupadd deptopessoal
Excluindo um grupo
Para excluir um grupo utilize o comando groupdel, uma observao importante que no podemos
excluir os grupos primrios de usurios, somente grupos secundrios.
# groupdel deptopessoal
USURIOS
Um sistema operacional multi usurio permite que mltiplos usurios utilizem o computador e
rodem programas ao mesmo tempo, compartilhando os recursos da mquina. Para que se utilize
desta caracterstica cada usurio deve ter uma conta vlida no computador para que o sistema
possa controlar as polticas de segurana, mediante autenticao o usurio pode utilizar o sistema
local e remotamente. As caractersticas de acesso usurios no Linux so rgidas, tornando-o um
sistema extremamente seguro, veremos abaixo que existem dois tipos de usurio; os usurios
normais e o usurio root (administrador).
Usurio root
A conta root tambm chamada de super usurio, este um login que no possui restries de
segurana. A conta root somente deve ser usada para fazer a administrao do sistema, e usada o
menor tempo possvel.
Qualquer senha que criar dever conter de 6 a 8 caracteres, e tambm poder conter letras
maisculas e minsculas, e tambm caracteres de pontuao. Tenha um cuidado especial quando
escolher sua senha root, porque ela a conta mais poderosa.
Evite palavras de dicionrio ou o uso de qualquer outros dados pessoais que podem ser
adivinhados. Se qualquer um lhe pedir senha root, seja extremamente cuidadoso. Voc
normalmente nunca deve distribuir sua conta root, a no ser que esteja administrando um
computador com mais de um administrador do sistema. Utilize uma conta de usurio normal ao
invs da conta root para operar seu sistema. Porque no usar a conta root? Bem, uma razo para
evitar usar privilgios root por causa da facilidade de se cometer danos irreparveis como root.
Outra razo que voc pode ser enganado e rodar um programa Cavalo de Tria -- que um
programa que obtm poderes do super usurio para comprometer a segurana do seu sistema sem
que voc saiba.
Usurio de Sistema
Tambm conhecidos como usurios lgicos, esse tipo de usurio no uma pessoa, mas um processo em
execuo no computador, que exige acesso a arquivos e processos para que possa realizar seu trabalho de
maneira segura. Temos como exemplos desses usurios: FTP, apache, mysql, etc.
Usurio normal
Os usurios normais possuem permisso de escrita somente em seu diretrio home, possui
tambm acesso de execuo nos diretrios /bin/, /usr/bin/ e /usr/local/bin/ (isto pode variar de
distribuio para distribuio). Em alguns diretrios no possui permisso de leitura como o /root/ e
nas homes de outros usurios, estas permisses podem ser redefinidas, mas note bem que quanto
menos poderes um usurio tiver mais seguro ser o sistema.
As contas aqui tambm possuem senhas portanto os cuidados so os mesmos do usurio root, a
nica diferena que se sua senha cair em mos erradas o estrago ser menor.
Criando um usurio
Vamos criar um usurio atravs do comando useradd, o comando useradd permite que
especifiquemos de uma vez diversas opes sobre o usurio as mais comuns so -g , -s , -G.
-u UID (nmero de identificao do usurio, caso seja omitido o sistema insere um nmero
automaticamente)
-g Grupo primrio a que o usurio pertence ( caso seja omitido o sistema cria um grupo
com o nome do usurio)
-G Grupos secundrios do usurio (um usurio pode fazer parte de outros grupos)
-d Diretrio home do usurio (caso seja omitido o sistema vai criar um diretrio /
home/nomedousurio)
-d Diretrio home do usurio (caso seja omitido o sistema vai criar um diretrio /
home/nomedousurio)
-s Shell padro do usurio (caso seja omitido o sistema vai selecionar o bash como padro)
Certo, usurio criado, automaticamente foi adicionado no grupo users e no grupo audio. Agora
imagine como seria a criao de um usurio que acessa o servidor de uma workstation windows, o
usurio no precisa de um shell vlido. Para isso utilizamos um shell invlido chamado /bin/false
veja abaixo sua criao:
Modificando um usurio
Da mesma maneira que criamos um usurio podemos modificar um usurio j criado com a
ferramenta usermod, que tem uma sintaxe muito parecida com a useradd, na verdade as opes
so as mesmas, a nica novidade a opo -l que permite a troca do nome de usurio.
Os usurios comuns no podem modificar as opes de suas prprias contas, o administrador deve
executar estas alteraes.
Modificando o password
At agora nada foi mencionado respeito do password (senha) do usurio, a resposta que os
passwords vm bloqueados por padro nas distribuies atuais. O comando para criao e
alterao de senhas de usurios e grupos passwd, veja um exemplo de sua utilizao:
# passwd bruno
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Por senhas serem secretas cada usurio pode alterar sua senha quando bem entender com o
comando passwd sem nenhum parmetro adicional, o administrador pode mudar a senha de um
usurio, mas no pode saber qual era a senha anterior.
Excluindo um usurio
# userdel bruno
RPM
O sistema operacional Linux, at hoje, tem a fama de ter instalaes complicadas, o que, muitas
vezes, no deixa de ser verdade. Na tentativa de resolver esses problemas de instalao, A empresa
Red Hat criou uma tecnologia chamada RPM, que significa RedHat Package Manager (Gerenciador
de Pacotes RedHat).
O RPM um poderoso gerenciador de pacotes, que pode ser usado para criar, instalar, desinstalar,
pesquisar, verificar e atualizar pacotes individuais de software. Um pacote consiste em
armazenagem de arquivos e informaes, incluindo nome, verso e descrio. Veja a seguir, alguns
comandos e suas respectivas funes, usadas nos pacotes RPM:
Utilizando o RPM
Instalao
Pacotes RPM tm nomes de arquivos tais como foo-1.0-1/.i386.rpm, que incluem o nome do pacote
(foo), verso (1.0), release (1) e plataforma (i386). A instalao de um pacote feita atravs de uma
linha de comando, como por exemplo:
foo ################################
Como se pode observar, o RPM apresenta o nome do pacote e apresenta uma sucesso de
caracteres # atuando como uma rgua de progresso do processo de instalao. O processo de
instalao foi desenvolvido para ser o mais simples possvel, porm eventualmente alguns erros
podem acorrer:
- Pacotes j instalados
$ rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm
cannot be installed
Caso se deseje ignorar o erro, pode-se usar o parmetro --replacefiles na linha de comando;
- Dependncias no resolvidas
Pacotes RPM podem depender da instalao de outros pacotes, o que significa que eles necessitam
destes pacotes para poderem ser executados adequadamente. Caso deseje instalar um pacote que
dependa de outro pacote no localizado, ser apresentada a seguinte mensagem:
failed dependencies:
Para corrigir este erro, ser necessrio instalar o pacote solicitado. Caso deseje que a instalao
ocorra de qualquer forma, pode-se utilizar o parmetro --nodeps na linha de comando.
Desinstalao
$ rpm -e foo
Onde foo o nome do pacote. Pode ser encontrado um erro de dependncia durante o processo de
desinstalao de um pacote ( outro pacote necessita de sua existncia para funcionar
corretamente). Neste caso ser apresentada a seguinte mensagem:
Para ignorar a mensagem de erro e desinstalar o pacote deve ser utilizado o parmetro --nodeps na
linha de comando.
Atualizao
foo ########################################
O RPM desinstalar qualquer verso anterior do pacote e far a nova instalao preservando as
configuraes. Sugerimos utilizar sempre a opo -U, j que ela funciona perfeitamente, mesmo
quando no h uma verso anterior do pacote. Uma vez que o RPM executa um processo de
atualizao inteligente, apresentada uma mensagem do tipo:
O que significa que os arquivos de configurao existentes esto salvos, porm mudanas no
software podem tornar este arquivo de configurao incompatvel com o pacote. Neste caso, as
adequaes necessrias devem ser feitas pelo usurio. Como o processo de atualizao uma
combinao dos processos de desinstalao e instalao, alguns erros podem ocorrer. Por exemplo,
quando se quer atualizar um pacote com uma verso anterior verso corrente, ser apresentada a
seguinte mensagem:
cannot be installed
Para forar uma atualizao de qualquer forma, deve-se usar o parmetro --oldpackage na linha de
comando.
Consulta
A consulta base de dados de pacotes instalados feita atravs do comando rpm -q. Na sua
utilizao, so apresentados o nome do pacote, verso e release. Por exemplo:
Ao invs de especificar o nome do pacote, pode-se utilizar as seguintes opes aps o parmetro q :
H diversas formas de especificar que informaes devem ser apresentadas pelas consultas. As
opes de seleo so:
i - Apresenta as informaes do pacote, tais como nome, descrio, release, tamanho, data
de criao, data de instalao e outras;
l - Apresenta a lista de arquivos relacionados com o pacote;
s - Apresenta o status dos arquivos do pacote. H dois estados possveis: normal ou missing
(no localizado);
d - Apresenta uma lista dos arquivos de documentao (pginas de manual, pginas info,
README, etc.);
c - Apresenta uma lista dos arquivos de configurao. Estes arquivos podem ser alterados
aps a instalao para personalizao. Exemplos sendmail.cf, passwd, inittab, etc.
Verificao
Exemplos:
rpm -Va
Esta funo pode ser til caso haja alguma suspeita de que a base de dados RPM esteja corrompida.
Se no houver uma discrepncia no haver resposta do sistema, caso contrrio ser apresentada
na forma de uma expresso com 8 caracteres, com um c significando arquivo de configurao e
aps, o nome do arquivo. Cada um dos 8 caracteres significa um dos atributos do arquivo
comparado aos atributos definidos no pacote RPM, onde um ponto significa que o atributo est Ok.
Os atributos so:
5 - MD5 checksum
S - Tamanho do arquivo
L - Link simblico
T - Modificao do arquivo
D - Device
U - Usurio
G - Grupo
M - Modo
O yum (Yellow dog Update, Modified) o gerenciador de pacotes usado por padro no CentOS, no
Fedora e no Red Hat Enterprise. O yum foi originalmente desenvolvido pela equipe do Yellow Dog
(uma distribuio baseada no Red Hat, destinada a computadores com chip PowerPC) e foi
sistematicamente aperfeioado pela equipe da Red Hat, at finalmente assumir o posto atual.
O yum trabalha de forma bem similar ao apt-get, baixando os pacotes a partir dos repositrios
especificados nos arquivos de configurao, junto com as dependncias necessrias. Assim como o
apt-get, ele capaz de solucionar conflitos automaticamente e pode ser tambm usado para
atualizar o sistema. Essencialmente, o yum e o apt-get solucionaram o antigo problema das
dependncias (um pacote precisa de outro, que por sua vez precisa de um terceiro) que
atormentava os usurios de distribuies mais antigas.
Existem muitas diferenas entre o CentOS e o Debian, uma delas o formato dos pacotes utilizados:
o CentOS utiliza pacotes .rpm, enquanto o debian utiliza pacotes .deb. Ambos tambm utilizam
repositrios separados, com pacotes construdos especificamente para cada uma das duas
distribuies, de forma que existem algumas diferenas nos nomes dos pacotes e arquivos de
configurao usados.
Diferente do apt-get, onde voc precisa rodar o "apt-get update" antes de cada instalao para
atualizar a lista de pacotes, o yum faz a atualizao automaticamente cada vez que uma instalao
solicitada, checando os repositrios, baixando os headers do pacotes e calculando as dependncias
antes de confirmar a instalao, como nesse exemplo:
Isso faz com que a instalao de pacotes usando o yum seja um pouco mais demorada que usando o
apt-get. Ou seja, ganha-se de um lado mas perde-se do outro. :)
Para instalar um pacote, use o comando "yum install", como em:
O yum possui tambm um recurso de busca, que bastante til quando voc est procurando por
um pacote, mas no sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes
em relao a outras distribuies. Use o comando "yum search", seguido por alguma palavra ou
expresso, que faa parte do nome do pacote ou descrio, como em:
Ele retorna um relatrio contendo todos os pacotes relacionados, incluindo o texto de descrio de
cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais
restrita, procurando apenas nos nomes dos pacotes, use o parmetro "list", como em:
Ele bem menos falador, retornando apenas os pacotes que possuem "httpd" no nome, sem
pesquisar nas descries.
Uma terceira opo a "provides" que mostra pacotes que incluem um determinado arquivo,
pesquisando no no nome ou na descrio, mas sim no contedo dos pacotes. Ele bastante til
em casos em que voc precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote
maior, como em:
Em caso de dvida, voc pode verificar se um determinado pacote est instalado e qual a verso
usando o comando "rpm -q", como em:
# rpm -q samba
samba-3.0.25b-0.el5.4
Para atualizar um pacote j instalado, use o comando "yum update", como em:
O comando "yum install" tambm pode ser usado para atualizar pacotes. A diferena entre o
"install" e o "update" que o "update" se limita a atualizar pacotes j instalados. Ao perceber que o
pacote solicitado no est instalado, ele exibe um aviso e aborta a instalao, como no exemplo
abaixo. Isso reduz a possibilidade de voc acabar instalando um novo servio por engano:
Para atualizar todo o sistema, comece usando o parmetro "check-update", que lista as atualizaes
disponveis:
# yum check-update
Se usado sem especificar um pacote, o "update" vai atualizar de uma vez s todos os pacotes do
sistema, de forma similar ao "apt-get upgrade" do Debian:
# yum update
Existe ainda o comando "yum upgrade", que um pouco mais incisivo, incluindo tambm pacotes
marcados como obsoletos (que no existem mais na verso atual). Ele til em casos em que
necessrio atualizar uma verso antiga do sistema:
# yum upgrade
possvel tambm fazer com que o yum atualize o sistema automaticamente todas as madrugadas.
Para isso, basta ativar o servio "yum" e configur-lo para ser ativado durante o boot:
# chkconfig yum on
# service yum start
Isso faz com que a atualizao seja agendada atravs do cron e seja (por padro) executada todos
os dias s 4:02 da manh, como especificado no arquivo "/etc/crontab".
Repositrios Adicionais
A lista de repositrios usados pelo yum dividida em diversos arquivos, organizados na pasta
"/etc/yum.repos.d/". No CentOS, a parta inclui por padro apenas dois arquivos: "CentOS-
Base.repo" e "CentOS-Media.repo". O primeiro inclui os repositrios oficiais da distribuio,
enquanto o segundo permite que voc instale pacotes contidos nos CDs (ou no DVD) de instalao.
O arquivo "CentOS-Base.repo" contm diversas entradas como a abaixo, uma para cada repositrio:
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Ao adicionar repositrios adicionais, voc criaria novos arquivos dentro da pasta
"/etc/yum.repos.d/", um para cada repositrio adicional.O yum verifica os arquivos dentro da pasta
cada vez que executado, fazendo com que o novo repositrio passe a ser usado automaticamente.
Assim como o apt-get, o yum utiliza chaves GPG para checar a autenticidade dos pacotes antes de
fazer a instalao. Cada pacote assinado digitalmente pelo desenvolvedor, o que atesta que o
pacote foi realmente gerado por ele. Mesmo que algum tentasse adulterar o pacote (incluindo um
rootkit ou um script malicioso, por exemplo), no teria como falsificar tambm a assinatura, o que
levaria o yum a reportar o problema e abortar a instalao.
Normalmente, a URL com a chave pblica GPG fica em destaque dentro da pgina com instrues
de como adicionar o repositrio.
Da mesma forma, para remover um repositrio posteriormente, voc removeria o arquivo da pasta,
de forma que o yum deixe de us-lo. interessante tambm limpar o cache do yum, usando os
comandos:
Este um daemon usado no Linux e em vrias verses do Unix que executa tarefas agendadas no
arquivo "/etc/crontab". Esta uma ferramenta bastante poderosa, que pode ser usada para
automatizar tarefas de rotina e de manuteno do sistema. A diferena entre o at e o cron que o
at permite executar os comandos apenas uma vez, enquanto o cron permite executa-los
repetidamente, todo dia, toda semana, ou em qualquer periodicidade desejada. Para isto, basta
editar o arquivo, inserindo uma nova linha que especifique o comando a ser executado e a
periodicidade A sintaxe das linhas do cron um pouco complicada, por isso preste ateno:
O primeiro campo, "30" refere-se aos minutos, enquanto o segundo "15", s horas. Depois temos o
campo do dia, ms e dia da semana. No meu caso os trs campos esto com um *, o que significa
que o comando ser executado todos os dias na hora especificada nos campos da hora, ou seja,
todos os dias s 15:30. Finalmente, temos o usurio que executar o comando (no caso o prprio
root) e finalmente o comando que ser executado (/usr/bin/rdate -r 131.188.3.223) que serve para
sincronizar o relgio do micro com o horrio do servidor especificado (este endereo o de uma
universidade na Alemanha, que mantm um servidor rdate pblico). Para executar o comando
todas as quartas feiras, meia noite (00:00) por exemplo, voc usaria o campo de dia da semana (o
quinto) para especificar um nmero de 1 a 7 que se refere ao dia. 1 Segunda-feira e 7 o
Domingo. Quarta-feira o dia 3, ento a linha ficaria:
Se fosse para executa-lo todo dia 14 de Abril s 4 da tarde (16:00), ento seria:
Note que neste ltimo caso o dia da semana voltou a ser um asterisco. Se voc especificasse
tambm um dia da semana, 3 por exemplo, ele s executaria o comando caso o dia 16/04 casse
numa Quarta-Feira, o que seria improvvel :-). Voc poderia brincar com isso fazendo com um um
comando fosse executado toda Sexta-feira 13 (um backup extra, s pra garantir :-) meia-noite.
Neste caso a linha ficaria:
00 00 13 * 5 root comando
O arquivo /etc/crontab s pode ser editado pelo root, mesmo que o comando a ser inserido na
linha v ser executado por outro usurio. Lembre-se de s executar os comandos includos no
/etc/crontab como root quando necessrio. Se o comando puder ser executado por um usurio
comum, altere o "root" na linha pelo login do usurio. Os usurios do sistema tambm podem usar
o cron, mas usando o comando "crontab -e".
Exemplo de tarefas agendadas:
PERMISSES DE ARQUIVOS
Configuraes bsicas
d => diretrio
b => arquivo de bloco
c => arquivo especial de caractere
p => canal
l => link
s => socket
- => arquivo normal
Leitura (r):
Em arquivos, permite examinar o contedo do arquivo.
Em diretrios permite listar contedo do diretrio.
Escrita (w):
Em arquivos, permite escrever, remover e alterar o arquivo.
Em diretrios, permite criar e remover arquivos dentro do diretrio.
Execuo (x):
Em arquivos, permite executar um arquivo como um programa.
Em diretrio, permite ler e escrever em arquivos dentro do diretrio.
Sendo que os trs primeiros rwx primeiros pertencem ao Dono do arquivo, e os outros trs rwx
pertencem ao Grupo e por fim os ltimos trs rwx pertencem h outros usurios que no fazem
parte do grupo.
Uma nota se faz importante neste momento. As permisses de diretrio se sobrepem s permisses do
arquivo que esto dentro dele.
Verificao de conta
Para saber que usurio estamos utilizando usamos o comando whoami na verdade pode parecer
sem sentido saber que usurio estamos utilizando quando logamos, mas imagine que estemos
acessando o servidor de outra maneira ou seja um usurio genrico.
$ whoami
bruno
$ groups
users audio webdesign
Primeiro vem o grupo primario do usurio, logo aps os grupos secundrios. O comando groups
pode retornar os grupos de outros usurios caso seja colocado seu username como parmetro:
$ groups joao
users audio vdeo
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, Veja abaixo
o exemplo:
$ ls -l /aulas/aula7/
-rw-r--r-- 1 bruno users 0 May 27 08:14 arquivo1.txt
Para tornar isto mais claro vamos observar o output do comando que executamos anteriormente:
Agora que j sabemos como verificar as permisses de acesso de arquivos e diretrios vamos
aprender a definir estas permisses de acesso, primeiro vamos mudar o usurio dono deste
arquivo, para isso utilizamos o comando chown, sua utilizao bem simples veja abaixo um
exemplo:
Existe tambm um comando que altera somente o grupo dono de determinado arquivo/diretorio,
este comando o chgrp sua utilizao igualmente simples:
O comando chmod
Enquanto os comando chown e chgrp servem para alterar respectivamente o usurio dono e o
grupo dono, o comando chmod serve para alterar as permisses rwx vistas anteriormente, o
comando chmod recebe dois argumentos: a nova permisso e o objeto de destino. Voc poder
alterar as permisses de acesso a um objeto de duas maneiras, a primeira atravs dos triplets
(rwx) vistos anteriormente, a segunda atravs de uma tabela numrica que veremos adiante.
Definindo permisses de acesso por triplets
Primeiro, vamos definir esta permisso por triplets. Veja o exemplo abaixo:
Como podemos observar foi utilizado o parmetro g+w, afinal o que isto significa?
Quer dizer que o grupo pode escrever no arquivo1.txt. Ento fica claro que os parmetros passados
so o tipo de usurio + permisso. Veja na tabela abaixo que tipos de usurios podem ser
utilizados:
u Usurio dono
g Grupo dono
o Outros usurios
a Todos os usurios
Como podemos observar foi utilizado o parmetro u+x, isto significa que o usurio dono pode
executar o arquivo1.txt.
Como fazemos para retirar permisses? Utilizamos o smbolo - ao invs do smbolo + Veja o
exemplo abaixo:
No lugar do rwx encontramos o rw- isto significa que retiramos a permisso de execuo do usurio
dono.
A 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:
Numero Triplet
7 rwx
6 rw-
5 r-x
4 r--
3 -wx
2 -w-
1 --x
0 ---
Utilizamos o parmetro 664; o primeiro nmero serve para o usurio dono, o segundo para o grupo
dono e o terceiro para os outros usurios.
Processos no Linux
Composio de um processo
O sistema operacional lida com uma infinidade de processos e, por isso, necessrio ter meios que
permitam control-los. Para isso, os processos contam com um conjunto de caractersticas, dentre
as quais:
- Proprietrio do processo;
- Estado do processo (em espera, em execuo, etc);
- Prioridade de execuo;
- Recursos de memria.
O trabalho de gerenciamento de processos precisa contar com as informaes acima e com outras
de igual importncia para que as tarefas sejam executadas da maneira mais eficiente. Um dos meios
usados para isso atribuir a cada processo um PID.
PID e PPID
Um PID (Process Identifier) um nmero de identificao que o sistema d a cada processo. Para
cada novo processo, um novo nmero deve ser atribudo, ou seja, no se pode ter um nico PID
para dois ou mais processos ao mesmo tempo.
Os sistemas baseados em Unix precisam que um processo j existente se duplique para que a cpia
possa ser atribuda a uma tarefa nova. Quando isso ocorre, o processo "copiado" recebe o nome de
"processo pai", enquanto que o novo denominado "processo filho". nesse ponto que o PPID
(Parent Process Identifier) passa a ser usado: o PPID de um processo nada mais do que o PID de
seu processo pai.
UID e GID
O Linux gerencia os usurios e os grupos atravs de nmeros conhecidos como UID (User Identifier)
e GID (Group Identifier). Como possvel perceber, UID so nmeros de usurios e GID so
nmeros de grupos. Os nomes dos usurios e dos grupos servem apenas para facilitar o uso
humano do computador.
Cada usurio precisa pertencer a um ou mais grupos. Como cada processo (e cada arquivo)
pertence a um usurio, logo, esse processo pertence ao grupo de seu proprietrio. Assim sendo,
cada processo est associado a um UID e a um GID.
Os nmeros UID e GID variam de 0 a 65536. Dependendo do sistema, o valor limite pode ser maior.
No caso do usurio root, esses valores so sempre 0 (zero). Assim, para fazer com que um usurio
tenha os mesmos privilgios que o root, necessrio que seu GID seja 0.
Sinais de processos
Os sinais so meios usados para que os processos possam se comunicar e para que o sistema possa
interferir em seu funcionamento. Por exemplo, se o usurio executar o comando kill para
interromper um processo, isso ser feito por meio de um sinal.
Quando um processo recebe um determinado sinal e conta com instrues sobre o que fazer com
ele, tal ao colocada em prtica. Se no houver instrues pr-programadas, o prprio Linux
pode executar a ao de acordo com suas rotinas.
STOP - esse sinal tem a funo de interromper a execuo de um processo e s reativ-lo aps o
recebimento do sinal CONT;
CONT - esse sinal tem a funo de instruir a execuo de um processo aps este ter sido
interrompido;
SEGV - esse sinal informa erros de endereos de memria;
TERM - esse sinal tem a funo de terminar completamente o processo, ou seja, este deixa de
existir aps a finalizao;
ILL - esse sinal informa erros de instruo ilegal, por exemplo, quando ocorre diviso por zero;
KILL - esse sinal tem a funo de "matar" um processo e usado em momentos de criticidade.
O kill tambm um comando que o usurio pode usar para enviar qualquer sinal, porm, se ele for
usado de maneira isolada, ou seja, sem o parmetro de um sinal, o kill por padro executa o sinal
TERM.
Como exemplo, vamos supor que voc deseja interromper temporariamente a execuo do
processo de PID 4220. Para isso, pode-se usar o seguinte comando:
Para que o processo 4220 volte a ser executado, basta usar o comando:
Se o sinal precisa ser enviado a todos os processos, pode-se usar o nmero -1 no lugar do PID. Por
exemplo:
kill -STOP -1
Como j dito, usar o comando kill isoladamente - por exemplo, kill 4220 - faz com que este use o
sinal TERM por padro. Esse sinal, no entanto, pode ser ignorado pelos processos. por isso que
boa prtica usar o comando "kill -9 PID" para "matar" um processo, pois o nmero nove representa
o sinal kill e este no pode ser ignorado. Isso deixa claro que se voc conhecer o nmero que
atribudo a um sinal, voc pode us-lo no lugar de seu nome. Com exceo de alguns sinais, a
numerao de cada um pode mudar de acordo com a distribuio ou com a verso do kernel.
Tambm comum usar o kill da seguinte forma: kill -l PID. A opo "-l" (letra L minscula) usada
para listar os processos que aceitaram o kill.
Agora, imagine que voc no saiba qual o PID de um processo e tenha se esquecido que o comando
ps (visto mais frente) descobre tal informao. Neste caso, pode-se usar o comando killall, desde
que voc saiba o nome do processo. A sintaxe :
Por exemplo:
killall -STOP vi
Quando um processo criado, isso no significa que ele ser imediatamente executado. Alm disso,
determinados processos podem ser temporariamente paralisados para que o processador possa
executar um processo prioritrio. Isso quer dizer que os processos, em certos momentos, podem
estar em situaes de execuo diferentes. O Linux trabalha, essencialmente, com quatro tipos de
situao, isto , estados:
Embora determinar a prioridade de um processo no seja uma prtica comum, afinal, o prprio
Linux faz muito bem essa tarefa, isso pode ser necessrio em alguma situao. Para isso, utiliza-se
um comando que recebe o mesmo nome do conceito: nice. A sintaxe :
Por exemplo:
nice -n -5 ntpd
No exemplo, o ntpd recebe prioridade -5. Trata-se de uma prioridade alta, afinal, como j dito,
quanto menor o nmero menor sua gentileza.
Se um determinado processo est em execuo, isso acontece com uma prioridade j definida. Para
alterar um processo nessa condio, usa-se o comando renice, cuja sintaxe :
Um exemplo:
Neste caso, o comando renice alterou a prioridade do processo 1000, assim como a prioridade dos
processos do usurio infowester.
Se somente ps for digitado na linha de comando, geralmente o sistema mostra quais os processos
do usurio. preciso usar uma combinao de opes para obter mais detalhes.
Das opes acima, a combinao mais usada (pelo menos aqui no InfoWester) aux:
ps aux
ps lax
A seguir, segue a descrio dos campos mostrados anteriormente e alguns que s so mostrados
com a combinao lax:
O comando ps trabalha como se tirasse uma fotografia da situao dos processos naquele
momento. O comando top, por sua vez, coleta as informaes, mas as atualiza regularmente.
Geralmente essa atualizao ocorre a cada 10 segundos.
A sintaxe do comando top a seguinte:
top -opo
-d - atualiza o top aps um determinado perodo de tempo (em segundos). Para isso, informe a
quantidade de segundos aps a letra d. Por exemplo: top -d 30;
-c - exibe a linha de comando ao invs do nome do processo;
-i - faz o top ignorar processos em estado zumbi;
-s - executa o top em modo seguro.
possvel manipular alguns recursos do comando top atravs das teclas do teclado. Por exemplo,
para atualizar imediatamente o resultado exibido, basta pressionar a tecla de espao. Se pressionar
a tecla q, o top finalizado. Pressione a tecla h enquanto estiver utilizando o top para ver a lista
completa de opes e teclas de atalho.
Para ter ainda mais controle sobre os processos executados no Linux, pode-se utilizar os seguintes
comandos: jobs, fg e bg, fuser, pstree, nohup. Cada um descrito a seguir:
jobs - serve para visualizar os processos que esto parados ou executando em segundo plano
(background). Quando um processo est nessa condio, significa sua execuo feita pelo kernel
sem que esteja vinculada a um terminal. Em outras palavras, um processo em segundo plano
aquele que executado enquanto o usurio faz outra coisa no sistema. Uma dica para saber se o
processo est em background verificar a existncia do caractere & no final da linha. Se o processo
estiver parado, geralmente a palavra "stopped" aparece na linha, do contrrio, a palavra "running"
exibida. A sintaxe do jobs :
jobs -opo
Se na linha de um processo aparecer o sinal positivo (+), significa que este o processo mais
recente a ser paralisado ou a estar em segundo plano. Se o sinal for negativo (-), o processo foi o
penltimo. Note tambm que no incio da linha um nmero mostrado entre colchetes. Muitos
confundem esse valor com o PID do processo, mas, na verdade, trata-se do nmero de ordem
usado pelo jobs.
fg e bg: o fg um comando que permite a um processo em segundo plano (ou parado) passar para
o primeiro (foreground), enquanto que o bg passa um processo do primeiro plano para o segundo.
Para usar o bg, deve-se paralisar o processo. Isso pode ser feito pressionando-se as teclas Ctrl + Z no
teclado. Em seguida, digita-se o comando da seguinte forma:
bg +nmero
fg +nmero
fuser: o comando fuser mostra qual processo faz uso de um determinado arquivo ou diretrio. Sua
sintaxe :
pstree: esse comando mostra processos relacionados em formato de rvore. Sua sintaxe :
nohup comando
Saber lidar com processos pode ser crucial para manter um computador funcionando e executando
suas tarefas numa situao crtica. O assunto essencial a administradores de sistemas, mas
importante at mesmo ao usurio domstico. Obviamente que o controle de processos no se
resume aos recursos citados aqui, uma vez que este artigo deve ser interpretado como um guia
bsico. Alm disso, se voc pretende obter algum certificado em Linux, ter conhecimento sobre o
controle de processos pode lhe dar pontos significativos. Por isso, no hesite em explorar os
comandos. Se quiser mais detalhes, use os recursos de ajuda, como o tradicional "man comando".
O Temido VI
"vi" a sigla para "Visual Interface". A origem desse nome se deve ao seguinte fato: quando o vi foi
criado (comeo da dcada de 80), no era comum existirem editores de textos como nos dias de
hoje. Naquela poca, voc digitava um texto mas no podia v-lo! Isso mesmo! Em 1992, foi criado
o vim (Vi IMitator), um clone fiel ao vi, porm com muitas outras funcionaliades, que s foram
sendo adicionadas. Algum tempo depois, o vim passou a ser chamado de `Vi IMproved' (vi
melhorado).
O vim um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um
link simblico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi o executvel, s que
executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles tm
algumas diferenas. O que voc ver abaixo fala sobre o vim.
O vim um editor de textos muito poderoso, ele pode: abrir vrios arquivos ao mesmo tempo,
possui sistema de autocorreo, auto-identao, seleo visual, macros, seleo vertical de texto,
uso de expresses regulares, sintaxe colorida, e muito mais. Ele no exclusivo do Unix, ou seja,
pode ser executado em outras plataformas, como Amiga, MacOS, Sun, Windows entre outras.
Existe tambm o gvim, que o vim em modo grfico, com todas as funcionalidades do vim em
pleno funcionamento, o que muda apenas o modo grfico mesmo.
O vim possui vrios modos, ou seja, estados em que ele se encontra. So eles: modo de insero,
comandos, linha de comando, visual, busca e reposio. Abordarei os dois principais:
$ vi => Abre o vim vazio, sem nenhum arquivo e exibe a tela de apresentao.
$ vi arquivo => Abre o arquivo de nome "arquivo".
$ vi arquivo + => Abre o arquivo de nome "arquivo", com o cursor no final do mesmo.
$ vi arquivo +10 => Abre o arquivo de nome "arquivo", com o cursor na linha 10.
$ vi arquivo +/Copag => Abre o arquivo de nome "arquivo", na primeira ocorrncia da palavra
"Copag".
Ao executar o vim, ele inicia diretamente em modo de comando. Para comprovar, s olhar na
ltima linha (rodap) e no vai haver nada l. Isso quer dizer que voc no conseguir escrever
nada, pode digitar a vontade que s vai ouvir beeps. Para comear a escrever, pressione "i" em seu
teclado. O vim entra em modo de insero, que voc comprova (como falado anteriormente) pelo
rodap da tela, onde fica a seguinte marcao:
- - -- INSERT --
Suponha que voc j digitou o bastante, e quer salvar, por segurana. Pressione a tecla ESC para
voltar em modo de comandos. E veja os comandos para salvar/sair:
:w => Salva o arquivo que est sendo editado no momento.
:q => Sai.
:wq => Salva e sai.
:x => Idem.
ZZ => Idem.
:w! => Salva forado.
:q! => Sai forado.
:wq! => Salva e sai forado.
:w
Lembre que utilizando o "i" para insero, a mesma se inicia inserindo texto antes do cursor. Veja
agora outros subcomandos de insero de texto:
Selecione o texto necessrio com o boto esquerdo do mouse. Quando voc for colar, saiba que o
texto ser colado a partir de onde se encontra o cursor (esse que aparece, s vezes piscando e s
vezes no, quando voc est digitando). Para colar, depois de ter selecionado o texto, voc pode
utilizar uma dessas opes:
Desfazendo uma ao
claro que voc pode desfazer uma ao que voc considera errado, ou que errou ao digitar o
texto. s utilizar: u
Se voc precisar voltar o texto na tela, utilize as teclas Ctrl + r.
Abreviaes
Observao: Pontuao, espao ou o ENTER, disparam a expanso de uma abreviao. Porm, Ctrl+]
tambm pode ser usado, para expandir sem adicionar caracteres.
:set
autowrite aw => Salva a cada alterao.
backspace bs => Comportamento backspace (1 ou 2).
errorbell eb => Campainha de erro.
expandtab et => Troca tab por espacos.
fileformat=dos ff => Converte o arquivo para DOS.
hidden hid => Preserva o buffer.
hlsearch hls => Elumina a ltima procura.
ignorecase ic => Case insensitive na busca.
incsearch is => Ilumina procura enquanto digita.
laststatus=2 => Mostra linha de estado.
lazyredraw lz => No redesenha em macros.
lines=N => Mmero de linhas na tela.
magic => Usar mgicas na procura de padres.
number nu => Mostra nm da linha.
report=N => Mostra aviso quando N linhas mudaram (0=sempre).
showcmd => Mostra o comando que se est fazendo.
showmatch sm => Mostra o casamento de {},[],().
smartcase scs => Assume "noic" quando tiver maisculas.
textwidth=N => Quebra de linha do texto.
undolevels ul=N => Guarde os N ltimos comandos para desfazer (padro=1000).
vb t_vb= => Retira o "beep" de erro.
Observao: Onde est escrito "seleciona", para fazer utilizando o modo visual (v).
Agora veja como definir coluna de quebra de linha (problema que eu tive quando iniciei no
aprendizado do vim):
:set textwidth=N
No modo de COMANDO:
Os registradores
"[a-z] => Use o registrador [a-z] para o prximo delete, cpia ou cola.
:reg => Mostra o contedo de todos os registradores.
:reg [a-z] => Mostra o contedo do registradores [a-z].
Marcas:
Dica: Pode-se colocar o @[a-z] dentro da prpria gravao do q[a-z]! Assim ele executado
recursivamente. Muito til quando h uma procura de padres na gravao. faz para todas as
ocorrncias.
Mapeamentos
Exemplos:
"liga/desliga autoIndent
:map ,si :set ai!:echo "autoIndent="&ai
Mas, o que isso faz? Transforma todos os TABs em espaos. Podemos ativar dentro do prprio vim,
utilizando o comando:
:set expandtab
Para desabilitar:
:set noexpandtab
set expandtab
O arquivo ~/.vimrc pode ser usado para muitas configuraes, e essa uma delas. Existe ainda o
arquivo ~/.exrc, mas no entraremos em detalhes.
:r!comando
Por exemplo:
:r!rpm -q kernel
kernel-2.4.18-3
:xit => Igual :wq, mas s grava se tiver sido alterado algo no arquivo.
:left
:right
:center
O vim um editor de textos com centenas de opes, comandos, strings... Eno d para abordar
tudo aqui. Por isso, a melhor maneira de conhec-lo a fundo usando-o.
SERVIDOR FTP
O que FTP
FTP significa File Transfer Protocol (Protocolo de Transferncia de Arquivos), e uma forma bastante rpida e
verstil de transferir arquivos (tambm conhecidos como ficheiros), sendo uma das mais usadas na internet.
Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste
caso, tradicionalmente aparece em letras minsculas, por influncia do programa de transferncia de
arquivos do Unix).
A transferncia de arquivos d-se entre um computador chamado "cliente" (aquele que solicita a conexo
para a transferncia de dados) e um servidor (aquele que recebe a solicitao de transferncia). O utilizador,
atravs de software especfico, pode selecionar quais arquivos enviar ao servidor. Para existir uma conexo
ao servidor, o utilizador informa um nome de utilizador (ou username, em ingls) e uma senha (password),
bem como o nome correto do servidor ou seu endereo IP. Se os dados foram informados corretamente, a
conexo pode ser estabelecida, utilizando-se um "canal" de comunicao, chamado de porta (port). Tais
portas so conexes no qual possvel trocar dados. No caso da comunicao FTP, o padro para porta o
nmero 21.
Instalando o servidor
Para que nosso Linux tenha a possibilidade de se conectar por FTP para realizar transferncia de arquivos,
necessita ter instalado e configurado um servidor de FTP.
Para voc instalar um servidor FTP em Linux normalmente no necessita de nenhum programa adicional j
que o servidor FTP costuma vir com o sistema. Para os exemplos que vamos citar a seguir, utilizamos o
servidor FTP que vem com distribuies que seguem o padro RED HAT.
Para comear, teremos que instalar o pacote que contm o servidor FTP que neste caso se chama Vsftpd
1.1.3-8, para o qual executaremos a seguinte instruo:
Observao: a verso do pacote certamente ser diferente em distribuies mais recentes do LINUX.
Configurao
Uma vez instalado o servidor de FTP, vamos configur-lo de acordo com nossas necessidades.
Comearemos com a lista de usurios que podero ter acesso ao servidor FTP:
Para configurar este parmetro necessitaremos abrir o arquivo vsftpd.user.list que se encontra em /etc/.
Neste arquivo poderemos ver uma lista com os usurios que tm acesso.
Porm, na verdade o arquivo mais importante para a configurao do servidor o vsftpd.conf que contm
todos os parmetros de configurao, entre outras coisas a localizao dos arquivos compartilhados. Dentro
deste arquivo se encontram os seguintes parmetros, que podemos modificar dependendo do uso que
quisermos dar.
anonymous.allow
Write_enable
Indica se uma pasta tem permisso de escritura ou no. Em outras palavras indica se podemos subir arquivos
pasta ou no.
Write_enable=true (se tem permisso de escritura)
Write_enable=false (no tem permisso de escritura)
ftpd_banner
Permite colocar uma mensagem de boas vindas aos usurios quando se conectem
ftpd_banner=mensagem
chroot_local_user
Para dizer ao servidor de FTP que usurios tm permisso para acessar temos que pegar a rota do arquivo
antes comentado onde se encontrava a lista de usurios (vsftpd.user_list)
Para isso, no arquivo de configurao colocaramos algo como isto:
Chroot_list_file=/etc/vsftpd.user_list
Programa o ftp para que feche qualquer sesso inativa por 2 minutos seja derrubada
idle_session_timeout=120
Programa o ftp para que durante a transferncia de dados, a sesso seja derrubada aps 2 minutos
idle_connection_timeout=120
Basicamente com estes comandos voc poder configurar seu servidor FTP em Linux sem nenhum problema.
Iniciar e interromper o servidor de FTP
J nos falta somente iniciar o servidor para o qual utilizaremos os seguintes comandos.
FileZilla freeware, isso quer dizer que voc pode copi-lo e us-lo livremente. Ele pode ser obtido no
endereo http://filezilla.sourceforge.net/
NOTA: Voc precisar de um endereo FTP do local que deseja acessar, bem como de um usurio e uma
senha. Verifique as configuraes de segurana de seu sistema, para que aplicaes como FIREWALL no
bloqueiem o programa de FTP e/ou as portas que ele utiliza para se conectar aos servidores.
A aplicao bastante simples de instalar, dispensando qualquer comentrio para esse processo.
Como voc pode ver, a interface no to complicada. A esquerda poder ser vista a sua mquina local
(Local Site)
Para configurar o FileZilla para que se conecte ao seu servidor clique no pequeno computador, conforme
destacado acima pela seta vermelha.
Passo 2. A janela Site Manager ser mostrada.
Clique no boto New Site e coloque um nome para sua nova conexo
Passo 3. Agora voc precisa preencher os detalhes da conexo (setas vermelhas).
Usurio e senha do servidor de ftp. Se voc estiver usando um computador compartilhado com outros
usurios, pode ser interessante solicitar ao Filezilla que no memorize sua senha, evitando dessa forma, que
outros usurios consigam fazer logon com suas credenciais.
Voc ver dados sobre a transferncia na parte inferior da tela, assim pode acompanhar o andamento da
transferncia de cada arquivo, bem como saber se a transferncia foi efetuada com sucesso.
Pronto, copia terminada.
Passo 8. Se voc alterar algum arquivo no seu PC e quiser aplicar essas mudanas tambm no servidor tudo o
que precisa fazer usar novamente o drag-and-drop (arrastar e soltar) e confirmar a pergunda sobre se
deseja sobregravar o arquivo no servidor.
Passo 9. Para fazer a desconexo, basta clicar no icone apontado pela seta vermelha.
Para iniciar o uso voc deve primeiro estar conectado a rede. No caso de um servidor ftp da
internet, voc deve estar conectado internet.
ftp SERVIDOR
ftp ftp.hpg.com.br
Dependendo do servidor, pode ser pedido seu nome de usurio e senha. Aps estabelecida a
conexo o comando ftp exibir seu prompt e aguardar suas instrues
ftp>
Mesmo que no seja especificado um endereo para conexo o comando ftp ser iniciado e
aguardar instrues no seu prompt.
Aps estabelecida conexo com o servidor voc pode manipular os arquivos atravs dos seguintes
comandos:
Introduo
O ssh um pacote de programas cujo objetivo aumentar a segurana de um sistema de redes. Ele,
basicamente fornece um substituto mais seguro para os programas "remotos" - rsh, rlogin, rcp. Alem de ser
uma boa alternativa para o telnet.
O problema de segurana que este pacote tenta solucionar o da escuta de rede para obter
informaes sigilosas. Os comandos remotos e o telnet usam transferncia direta de dados sem
codificao. Isto permite que redes abertas a "escutas" tenham informaes criticas vazadas. Uma
"escuta" facilmente instalada numa rede ethernet na qual no possvel controlar o acesso de
maquinas ou usurios suspeitos.
A situao torna-se mais critica quando sistemas sem nenhuma segurana como DOS, WIN 3.x e
WIN 95 participam da rede, e o acesso a essas maquinas no suficientemente controlado. Isto
porque tais sistemas no possuem a noo de usurio privilegiado, no sendo muito complicado
instalar nos mesmos programas de escuta de rede que podem "ouvir" as transferncias feitas numa
rede ethernet, ou qualquer rede do tipo "broadcast".
O exemplo mais simples de utilizao de uma escuta para pegar a senha de algum que esteja
fazendo telnet. A senha passada entre a maquina cliente e o servidor de telnet como texto puro. A
soluo seria usar o rlogin no lugar do telnet mas os comandos remotos possuem tambm as suas
falhas. O sistema de autorizao da conexo (autenticao) baseado nos arquivos hosts.equiv e
.rhosts, que basicamente deveriam dizer quais maquinas podem fazer a conexo. A autenticidade
da identidade destas maquinas garantida pelo seu endereo IP ou pelo seu nome de domnio.
Existem muitos mtodos de falsificao de identidade IP e algum capaz de instalar uma escuta na
rede muito bem capaz de instalar um programa "travesti" de IP e simular que uma maquina
autorizada.
O ssh se prope a solucionar o problema da escuta com uma transferncia de dados criptografada e
com um protocolo de autenticao mais seguro. Os mtodos de autenticao selecionveis incluem
.rhosts apenas (inseguro), .rhosts com validao do host atraves de RSA ou validao exclusiva
atravs de RSA. Os protocolos do X Windows tambm apresentam diversos problemas de segurana
e o ssh procura fornecer sees seguras para clientes X11 executados a partir dele.
Configurao do ssh
sshd_config
# The strategy used for options in the default sshd_config shipped with
# default value.
Port 22
#Protocol 2,1
ListenAddress 192.168.10.37
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_key
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#KeyRegenerationInterval 3600
#ServerKeyBits 768
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 120
#PermitRootLogin yes
#StrictModes yes
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
#RhostsAuthentication no
#IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
#HostbasedAuthentication no
#IgnoreUserKnownHosts no
#PasswordAuthentication yes
#PermitEmptyPasswords no
#ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#AFSTokenPassing no
#KerberosTgtPassing no
#PAMAuthenticationViaKbdInt no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#KeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression yes
#MaxStartups 10
#Banner /some/path
#VerifyReverseMapping no
Diversos aplicativos fazem parte do pacote do SSH, mas vamos dar nfase aos dois mais utilizados, que
permitem o controle de um servidor via linha de comando, e tambm a copia de arquivos.
Comando ssh
Esse comando permite ao usurio ter acesso a linha de comando de um servidor ssh, podendo realizar
qualquer operao no mesmo (s sendo limitado pelas permisses de acesso do usurio utilizado)
Observao: Ao executar o cliente ssh pela primeira vez, cria-se um diretorio .ssh debaixo do $HOME e um
arquivo random_seed. Caso a maquina servidora no seja "conhecida" pela maquina cliente (chave publica
da maquina servidora no arquivo /etc/ssh_known_hosts), o ssh pede para validar a identidade da maquina
para inclui-la entre as servidoras de ssh conhecidas do usurio no arquivo .ssh/known_hosts. Estes arquivos
guardam as chaves publicas das maquinas com as quais os usurios normalmente conectam-se, quando
ocorre a mudana de chave publica de alguma maquina, existe a possibilidade de est havendo uma quebra
de segurana. O usurio, nesse caso, pode aceitar a nova chave publica ou rejeitar e consultar o responsvel
daquela maquina para saber se ele trocou as chaves do ssh.
Exemplo:
Comando scp
O Comando scp permite que sejam feitas cpias de um servidor SSH para a mquina cliente e vice-versa.
Alguns exemplos:
Faz a cpia do arquivo MOV.zip que est no diretrio /jipr/projetos/data do servidor coopemtax.no-ip.info
utilizando para conexo a porta 222 para o diretrio atual do cliente
Faz a cpia do arquivo marcio.zip da mquina cliente para o diretrio /home/marcio que est no servidor
192.168.10.32. Perceba que a porta no foi informada, pois o servio est escutando na porta padro 22
scp r * marcio@192.168.10.32:/home/marcio
Faz a cpia de todos os arquivos do diretrio atual e tambm dos subdiretrios da mquina cliente para o
diretrio /home/marcio que est no servidor 192.168.10.32.
Um cliente SSH para Windows que muito utilizando, e tambm gratuito, o Putty. Se trata de
uma aplicao com instalao extremamente simples e leve, mas que oferece toda a segurana e
simplicidade do acesso via ssh.
2. Coloque o IP ou no do computador (ver se tem DNS na tua rede). Fala de acordo com a ilustrao
abaixo:
3. Selecione o protocolo SSH. No campo Sessions, digite um nome. Geralmente o nome do servidor
e clique no boto Save.
Veja na ilustrao:
7. Digite su e Enter.
Bem, vamos transferir arquivos usando o servidor de ssh. No Windows, vamos usar o programa
pscp. Uma informao que temos que ter um diretrio no Linux com direito de escrita. Esse
comando similar ao scp do Linux, que vimos anteriormente.
Veja a explicao:
3. Agora tecle Enter.
Agora, selecionado solicitada a senha do usurio. Neste nosso exemplo do usurio Jarbas.
Ao digitar apenas pscp e teclar (ENTER), as opes disponveis de utilizao sero mostradas:
DHCP
O DHCP, Dynamic Host Configuration Protocol, um servio de rede com servidor e cliente, do lado
servidor roda o dhcpd para fornecer endereos IP os clientes, configurar a rede automaticamente
nas estaes com opo de obter IP automaticamente no boot (DHCP), ou quando reinicia o servio
de rede, a parte bsica fornecer IP dinamico para estaes, tanto Linux e Windows, serve tambm
como configurador de rede, alm do IP pode configurar o servidor de DHCP para fornecer tambm a
mascara de rede, gateway, DNS e outras opes, muito til e prtico.
Consome o mnimo de recursos da maquina, desprezvel, considere usar um micro da rede que
fique sempre ligado, entre eles pode ser o servidor Samba, proxy, firewall, o importante manter
ligado para no falhar no fornecimento ou renovao do IP, no precisa ser o micro que compartilha
internet ou servidor proxy, pode usar qualquer maquina da rede.
O dhcp muito til em ambientes de testes e manuteno, onde sempre h mquinas novas para
conectar a rede, isso evita o problema de conflitos de Ips.
authoritative;
# Informa que esse o servidor DHCP com autoridade sobre a rede.
Sempre mantenho 1 servidor DHCP na rede, mas, caso voce tenha mais de 1 bom saber qual o principal.
ddns-update-style none;
# Desativa o suporte a DNS dinmico.
default-lease-time 600;
# Servidores DHCP cedem endereos sob pedido por um tempo pr-determinado.O padro neste exemplo ceder o endereo IP por
600 segundos, ou 10 minutos.
max-lease-time 7200;
# Caso o cliente solicite um tempo maior, o tempo mximo permitido ser de 7200 segundos (2 horas)
server-identifier 192.168.10.37;
host marcio_wireless {
fixed-address 192.168.10.251;
host marcio {
fixed-address 192.168.10.38;
host luiz {
fixed-address 192.168.10.238;
host paulo-wireless {
fixed-address 192.168.10.7;
}
SAMBA
Atravs da utilizao do SAMBA possvel criar redes mistas, utilizando servidores Linux e clientes
Windows. O SAMBA tambm permite que o Linux acesse discos exportados de mquinas
Windows. Alm de compartilhar recursos, o SAMBA capaz de executar vrias funes de um
servidor Windows, como por exemplo autenticao de clientes, servidor WINS, e at mesmo agir
como um Controlador Primrio de Domnio (PDC).
O SAMBA capaz de executar muitas funes, no cobriremos o assunto em detalhes aqui. Ser
visto como instalar e fazer uma configurao bsica do SAMBA, como exportar um diretrio
qualquer e como exportar os diretrios home dos usurios, permitindo assim que eles tenham
acesso a seus arquivos de qualquer estao Windows de sua rede.
Adicionar um novo usurio ao Samba, necessrio que o mesmo esteja criado no linux. Para cri-lo
no linux, voc utiliza o comando:
smbadduser <nome-do-usurio>:<nome-do-grupo-no-samba>
smbpasswd <nome-o-usurio>
O configurador
Seo [global]
Nesta seo so definidos os parmetros globais do Samba. Veja os
parmetros que podem ser usados nesta seo:
comment
comentrio para o Host na rede.
workgroup
especifica o Domnio ou o Workgroup a que o Host pertence na Rede.
security
(O Samba utiliza segurana a nvel de usurio security=user , com opes)
_ security = share - cada recurso compartilhado necessita que uma
senha seja informada, para a utilizao daquele recurso. Geralmente
este parmetro utilizado quando para estaes Linux.
_ security = user - a permisso dada de acordo com cada usurio, na
hora em que ele efetua o login. Est opo tambm se aplica a grupos
(@grupo).
_ security = server - o Samba validar a senha enviando os dados do
usurio para outro servidor Samba ou Windows, para isso deve-se
incluir o parmetro password server = IP_SERVIDOR , na seo global.
_ security = domain - este parmetro deve ser usado, se o Host for
adicionado a um domnio Windows atravs do comando smbpasswd,
ento as informaes so enviadas para o PDC da rede.
os level
este parmetro obrigatrio, caso voc utilize mais servidores Linux ou Windows. O valor um
nmero de 1 a 255, onde 65 a mesma varivel utilizada pelo Windows, especificando um nmero
maior que este, voc garante a escolha do servidor Samba para a validao do login nas estaes.
announce as
especifica o tipo de servidor NetBios (nmbd) que ser divulgado na sua rede. As opes vlidas so:
NT Server; NT Workstation; Win95; WFW .
domain logons
usado para validar logins na rede. Apenas para estaes Windows.
logon script
define qual arquivo de logon script ser executado para os usurios. Deve-se criar o
compartilhamento de nome [netlogon] apontando para o diretrio de scripts.
logon path
o caminho do perfil remoto do usurio. Este parmetro til, quando 5 usurios costumam fazer
o login em mais de um host na rede, pois dessa forma seu perfil trazido com o login.
domain master
informa se o Host ser o Domain Master Browser da rede toda.
local master
informa se o Host ser o Master Browser da rede local.
prefered master
com este parmetro, fora-se o Samba a atuar como Master Browser para o workgroup. Junto com
este parmetro, recomendvel a utilizao do parmetro domain master = yes . Porm, se sua na
sua rede tiver outros servidores (Windows e at mesmo Samba), e alguns desses outros j forem
Domain Master, no utilize esta opo e deixe o parmetro os level = 65 .
guest account
para que ocorra uma melhor performance em redes Windows, recomendvel a utilizao de uma
conta guest(visitante), por padro, no Samba, a conta usada nobody.
wins server
aqui deve ser informado qual o servidor Wins da rede. Caso o prprio Host seja, ento no utilize
este parmetro, pois o sistema entrar em loop e conseqntemente travar.
wins support
permite que o Samba seja o servidor Wins da rede, onde conter uma tabela com o ambiente de
rede completo. Dessa forma h um certo ganho no desempenho, quando um determinado host for
localizar outra maquina na rede, por exemplo.
keep alive
verifica o estado dos hosts (ativos ou no), este parmetro deve ser utilizado quando as estaes
forem Windows, e constantemente travam. Com a utilizao deste parmetro, evita-se o trfego
desnecessrio de informaes na rede. Tambm pode ser usado com estaes Linux.
debug level
este parmetro forneve ao Samba, uma maior flexibilidade para trabalhar com algumas situaes
de erro.
winpopup command
define-se qual o comando ser executado quando o servidor receber mensagens Winpopup(existem
muitas configuraes, que podem ser colocadas aqui). interessante utilizar essa opo se a sua
rede utiliza mensagens desse tipo.
log file
especifica o arquivo de log do Samba. Por padro os arquivos de log gerados pelo Samba, esto em
/var/log/samba .
null passwords
define a permisso para contas de usurios sem senha.
1 password sync
caso este parmetro esteja ativado (com valor = yes), permite que estaes Windows troquem de
senha.
socket options
este parmetro permite configuraes extras para o protocolo, possibilitando uma melhor
performance do servidor para trablhar com os pacotes de rede.
printing
define qual o sistema padro de impresso utilizado pelo Linux.
printcap name
define qual o arquivo que contm informaes das impressoras.
load printers
disponibiliza as impressoras para a rede.
hosts allow
define qual mquina tem acesso a rede. Pode-se utilizar o IP ou o nome da mquina. Para definir
uma rede toda usa-se: " hosts allow = 192.168.10. " .
hosts deny
define qual mquina n ter acesso a rede. Deve ser utilizado da mesma forma que o parmetro
hosts allow .
admin users
define quais usurios possuem permisso completa (permisso de root ).
max disk size
especifica qual o limite de espao em disco que ser utilizado. O valor deve ser informado em
Megabytes. Para especificar, por exemplo, um determinado valor para a sesso home (vista logo
abaixo), voc deve trabalhar com as quotas do Linux.
Seo [homes]
Nesta seo, define-se os parmetros para as pastas pessoais dos usurios.
comment
parmetro de comentrio para este compartilhamento.
public
este parmetro define se outros usurios podero acessar o compartilhamento.
browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
writeable
define a permisso de escrita para o usurio.
Seo [netlogon]
Nesta seo, define-se os parmetros para os scripts de login dos usurios.
comment
parmetro de comentrio para este compartilhamento.
path
define o local onde esto os scripts de cada usurio.
public
este parmetro define se outros usurios podero acessar o
compartilhamento.
browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
writeable
define a permisso de escrita para o usurio.
Demais Sees [NOME_SESSO]
Cada sesso um compartilhamento existente na rede. Abaixo, esto alguns parmetros que
podem ser usados nesta seo.
comment
parmetro de comentrio para este compartilhamento.
path
define o local onde est o compartilhamento.
valid users
aqui deve ser informado o nome dos usurios que tem permisso para acessar este
compartilhamento.
writeable
define se ser ou no permitido criar ou excluir arquivos ou diretrios deste compartilhamento.
public / guest ok
este parmetro define se outros usurios podero acessar o compartilhamento.
browseable
define se o compartilhamento ser visvel ou no no Ambiente de Rede.
write list
define os usurios/grupos que tero acesso de escrita no compartilhamento. Para utilizar vrios
nomes de usurios, deve-se usar virgula(,) entre os nomes de cada usurio.
Para grupos deve-se usar @nome_do_grupo.
read list
define os usurios/grupos que tero acesso de leitura no compartilhamento.
force create mode
este parmetro, faz com que o Samba fore o tipo de permisso para cada arquivo criado dentro do
compartilhamento, seria semelhante ao chmod do Linux.
force directory mode
este parmetro, faz com que o Samba fore o tipo de permisso para cada diretrio criado dentro
do compartilhamento, seria semelhante ao chmod do Linux.
copy
copia os parmetros de outra seo. til se voc utiliza compartilhamentos semelhantes. Para a
alterao de algum parmetro, basta voc modific-lo na seo atual.
max connections
define o nmero mximo de conexes simultneas que o compartilhamento pode "responder".
Em alguns parmetros usa-se variveis, abaixo, encontra-se algumas variveis mais utilizadas.
testparm
Confira o resultado apresentado na tela. Caso aparea alguma mensagem de erro edite novamente
o arquivo de configurao (smb.conf).
[global]
workgroup = INFORMATICA
netbios name = FEDORA_HOME
server string = SAMBA SERVER LINUX
security = user
encrypt password = yes
add machine script = /usr/sbin/adduser -n -r -g machines -c "Samba machine" -d /dev/null -s
/bin/false %u
add user script = /usr/sbin/useradd -d /dev/null -g 100 -s/bin/false -M %u
passdb backend = smbpasswd
browseable = yes
[homes]
comment = Diretorios HOME (Linux)
path = /home/%u/docs
valid users = %S
read only = no
browseable = no
writeable = yes
#create mask = 777
#directory mask = 775
[backup]
comment = LINUX Fedora - Backup Teste
public = yes
path = /backup
writeable = yes
browseable = yes
valid users = marcio
create mask = 777
directory mask = 777
guest ok = yes
REFERNCIAS
www.wikipedia.org
http://my.opera.com/Ricardo%20Belfiglio/blog/show.dml/586273
http://robertors.blogspot.com/2006/09/linux-permisses-de-acesso-especiais.html - Roberto
Rodrigues da Silva
http://www.criarweb.com/artigos/servidor-ftp-em-linux.html
http://renator.wordpress.com/2007/01/26/instalando-um-servidor-ftp-vsftp
http://www.velnetsupport.co.uk/parrots/FTP/Filezilla/
http://www.rnp.br/newsgen/9708/n3-3.html
http://www.primeirospassos.org/sessao10_7.html
http://www.devin.com.br/intro_linux
http://www.zoomdigital.org/2008/07/gerenciando-o-linux-a-partir-do-windows
http://www.inf.ufes.br/~proinfo/docs/samba/samba.html
Dominando LINUX Red Hat e Fedora, Bill Ball e Hoyt Duff, 2004, Makron Books
APOSTILA TREINAMENTO AVANADO EM LINUX v1.5 - Rodrigo Rubira Branco - Firewalls Security
http://www.guiadohardware.net/termos/cron
http://www.infowester.com/linuxvi.php
marcio_ad@yahoo.com.br
marcio.infocus@gmail.com