Escolar Documentos
Profissional Documentos
Cultura Documentos
agosto/2013
1 - LINHA DE COMANDO
A nica interface comum a todos os sistemas membros da famlia Unix a linha de
comando, portanto toda a administrao desses sistemas feita a partir de comandos.
Os comandos so disparados de uma aplicao chamada shell. O shell tambm conhecido
por interpretador de comandos. Ao contrrio do DOS/Windows, no mundo Unix existem dezenas
de interpretadores de comandos, por exemplo:
bash:
ksh:
csh:
sh:
Para a linha de comando, basicamente todo shell igual. Porm, para escrever scripts [shell
script] precisa usar a linguagem especfica de cada shell.
2 - EXEMPLOS DE COMANDOS
Notao usada nesses exemplos:
o comando:
shell$ ls
a saida do comando: arquivo1
dir3
GNU/LINUX
www.jairo.pro.br
1/33
shell$ cd /etc
shell$ pwd
/etc
dbus-monitor
dbus-send
dbus-uuidgen
dd
false
fgrep
find
fusermount
link
ln
loadkeys
login
nice
nisdomainname
ntfs-3g
ntfs-3g
rvi
rview
sed
probe
tracepath6
traceroute
traceroute6
setfont
....
root
root
root
root
root
root
root
root
root
root
123 Mai
36608 Abr
4 Jun
34720 Abr
838824 Abr
57096 Abr
63804 Abr
59652 Abr
66608 Abr
110996 Abr
15 09:38 alsaunmute
1 08:20 arch
14 15:19 awk -> gawk
1 08:20 basename
8 07:46 bash
1 08:20 cat
1 08:20 chgrp
1 08:20 chmod
1 08:20 chown
1 08:20 cp
....
NOTA:
Todo nome de arquivo precedido de uma barra direita (por exemplo, /etc) representa um caminho
(path) absoluto. Se no for precedido dessa barra, um caminho relativo.
GNU/LINUX
www.jairo.pro.br
2/33
NOTA:
No arquivo /etc/passwd onde esto cadastrados os usurios locais ao sistema.
No arquivo /etc/group esto cadastrados os grupos locais ao sistema.
E no arquivo /etc/shadow onde esto as hashes de senha de usurios locais.
GNU/LINUX
www.jairo.pro.br
3/33
O comando cat usado para pegar e mostrar todo o contedo de um arquivo de uma nica vez:
shell$ cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
# System initialization is started by /etc/event.d/rcS
# Individual runlevels are started by /etc/event.d/rc[0-6]
# Ctrl-Alt-Delete is handled by /etc/event.d/control-alt-delete
# Terminal gettys (tty[1-6]) are handled by /etc/event.d/tty[1-6] and
# /etc/event.d/serial
# For information on how to write upstart event handlers, or how
# upstart works, see init(8), initctl(8), and events(5).
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
Com a opo -v, grep faz uma busca reversa, para ignorar todas as linhas que contenham o padro
de busca:
GNU/LINUX
www.jairo.pro.br
4/33
NOTA:
tail com opo -f mostra as ltimas linhas de um arquivo e permanece tentando ler novas linhas,
medida que forem sendo escritas. Isso muito til para acompanhar acessos em arquivos de logs.
Exemplo: tail -f /var/log/messages
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
GNU/LINUX
www.jairo.pro.br
5/33
shell$ wc /etc/passwd
40 65 1986 /etc/passwd
Copiar um arquivo:
Mover um arquivo:
Criar diretrio:
GNU/LINUX
www.jairo.pro.br
6/33
NOTA:
Para remover diretrio com contedo, usar o comando rm com opo -r [recursivo]
Exemplo:
shell$ rm -r /home/aluno/teste
GNU/LINUX
www.jairo.pro.br
7/33
shell$ sudo su
[sudo] password for aluno:
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
GNU/LINUX
www.jairo.pro.br
8/33
Comandos adicionais:
uptime:
history:
ps:
pstree:
adduser:
usermod:
passwd:
echo:
env:
printenv:
touch:
df:
du:
free:
uname:
hostname:
id:
export:
top:
3 - PIPES
Os pipes so implementaes de comunicao entre processos. Na linha de comando, se for
disparado mais de um executvel de uma vez, vai gerar mais de um processo. E se esses executveis
estiverem ligados por um pipe "|", ento a sada de um processo ser a entrada do outro processo.
Essa sequncia de comunicao vai da esquerda para a direita.
Exemplo:
shell$ ls /bin | more
GNU/LINUX
www.jairo.pro.br
9/33
onde ls /bin lista o contedo do diretrio /bin, e como essa lista no cabe nas dimenses da janela
shell, ento usado na mesma linha de comando o executvel "more" para apresentar essa
listagem paginadamente.
Outro exemplo:
Esse comando determina o nmero de usurios locais cadastrados para usar o shell /bin/bash.
Outros exemplos:
cat /etc/passwd | grep aluno
cat /etc/group | sort
cut -d: -f1 /etc/passwd | sort
cat /etc/passwd | grep -i juca | wc -l
ls -l /etc | grep "^d" | grep "a$"
cut -d -f3 /etc/passwd | sort -n
4 - REDIRECIONAMENTOS
Os redirecionamentos alteram a entrada ou sada padro de um comando. Normalmente, a
entrada padro o teclado, e a sada padro o monitor.
4.1 - Sada padro:
Por exemplo, o comando:
faz uma listagem do diretrio /etc e envia a sada para o arquivo /tmp/ls_etc.txt. Se o arquivo
no existisse, seria criado. No entando, se o arquivo existisse, o contedo anterior seria perdido.
GNU/LINUX
www.jairo.pro.br
10/33
Caso o arquivo existisse, para manter o contedo anterior e acrescentar o novo contedo no
final do arquivo, o comando seria:
NOTA: quando se redireciona a sada padro, esta vai para um arquivo e, portanto, no tem
sada no shell [no vem sada para o monitor].
4.2 - Sada de erro:
Caso o comando encontrasse algum erro, retornaria uma mensagem de erro. Por exemplo,
tentar criar um diretrio que j existe gera mensagem de erro. Essa mensagem de erro chamada de
sada de erro, e para ser redirecionada precisa incluir o nmero 2 antes do sinal de maior ">":
NOTA: se no usar essa notao a sada de erro no redirecionada e vem para o monitor.
4.3 - Entrada padro:
A entrada padro redirecionada com o sinal "<" aps o comando. Com isso, o comando
ir ler a entrada de um arquivo e no mais do teclado.
Por exemplo, considere o executvel que, ao ser disparado pergunta pelo nome e idade,
depois finaliza informando o nome e a idade:
shell$ nome_idade
entre com o seu nome: juca
entre com a sua idade: 286
Seu nome juca, sua idade 286 anos
Se esse comando fosse disparado com redirecionamento da entrada padro, no esperaria pelas
entradas de teclado.
GNU/LINUX
www.jairo.pro.br
11/33
No arquivo arq_entrada existem apenas duas linhas, que so as entradas pedidas pelo comando:
--- arq_entrada --juca
286
-----------------------Desse modo, existem 3 casos para os redirecionamentos:
sada padro
sada de erro
entrada padro
A forma clssica usada no shell para redirecionar de uma nica vez tanto sada de erro
quanto sada padro para um nico arquivo, :
comando > arquivo_saida 2>&1
5 - EDITOR vi/vim
No mundo Unix/Linux, existe apenas um editor de texto realmente universal: o vi [visual
interface]. Embora no seja amigvel ao iniciante, vale o esforo para aprender pois em qualquer
sistema membro da famlia Unix ele est presente.
certo que existem muitos editores, alguns at mais prticos que o vi. Porm, no h a
garantia de que ele esteja instalado na mquina que voc for administrar.
O editor vim o vi "improved" [aprimorado], e deve ser usado sempre que estiver
disponvel, pois mais amigvel que o vi. Quanto aos comandos, so idnticos.
A primeira noo que se precisa ter do vi/vim que se trata de um editor de 2 modos, que
so edio [EDIT ou INSERT] e comando [COMMAND]. Afinal, vi/vim usa apenas o teclado,
ento num caso teclar estar editando o texto de algum arquivo, no outro estar dando comandos
[por exemplo, para salvar o texto].
Para entrar no modo insero, basta pressionar a letra i [de insert]. A partir da, se est
GNU/LINUX
www.jairo.pro.br
12/33
escrevendo no arquivo.
Para sair do modo insero e entrar no modo comando, deve comandar a sequncia <ESC>
<SHIFT> <:>, que so as 3 teclas ESC+SHIFT+: e posteriormente pressionar a tecla [ou teclas]
com o comando. Nessa situo, a tecla w [write] salva o texto no arquivo, a tecla q [quit]
abandona o editor de texto e volta para o shell.
Exemplo: para criar o arquivo teste.txt e escrever no seu interior, basta seguir a sequncia:
1)
2)
3)
4)
6 - SCRIPTS
Alm da linha de comando, o administrador do sistema costuma usar scripts [roteiros] para
automatizar tarefas rotineiras. Desse modo, ao invs de disparar a mesma sequncia de comandos
todo dia, basta escrever essa sequncia num arquivo de texto, definir na primeira linha o nome do
interpretador, colocar permisso para execuo e disparar o script.
Exemplo 1:
----- teste.sh -----#!/bin/bash
echo "Script teste"
---------------------Dar permisso de execuo:
GNU/LINUX
www.jairo.pro.br
13/33
Exemplo 2:
--- nome_idade ------------------------------------#!/bin/bash
echo -n "Escreva o seu nome: "
read nome
echo -n "Escreva a sua idade: "
read idade
echo "Seu nome $nome, sua idade $idade"
--------------------------------------------------------Dar permisso de execuo:
shell$ chmod 755 nome_idade
Executar o script:
shell$ ./nome_idade
Escreva o seu nome: juca
Escreva a sua idade: 286
Seu nome juca, sua idade 286
www.jairo.pro.br
14/33
Todo arquivo pertence a um grupo de usurios. O conceito de grupo envolve usurios com
atividades que requerem um conjunto semelhante de permisses de acesso a arquivos;
Aqueles usurios que no so o prprio dono do arquivo ou no pertencem ao grupo do
dono, so considerados "outros" do ponto de vista do acesso ao arquivo;
Permisses so concesses no acesso a arquivos. A nvel de sistema de arquivo, usa-se [por
exemplo] os bits r [read leitura], w [write escrita] e x [execuo ou acesso a
diretrio].
Para as permisses, existem 3 campos distintos: o do dono, do grupo e outros.
Por exemplo, o comando ls -l /home/aluno mostra:
shell$ ls -l /home/aluno
-rw-rw-r--
aluno users
59939
Ago 18 21:13
arq.txt
drwxr-xr-x
aluno users
4096
Mai 12 09:15
dir1
Olhando o resultado dessa listagem no formato longo, identificamos que o ltimo campo de
cada linha o nome do arquivo, que j aparecia na listagem ls [sem formato longo]. Mas que agora
apresenta mais atributos para cada arquivo.
Uma viso detalhada desses atributos mostra que:
-rw-rw-r--
aluno
users
59939
Ago 18 21:13
arq.txt
drwxr-xr-x
aluno
users
4096
Mai 12 09:15
dir1
n de
linques
para o
arquivo
username
(dono do
arquivo)
tamanho
do
arquivo
(bytes)
data da ltima
edio no
arquivo
permisses do
sistema de
arquivo
groupname
nome do
arquivo
No entanto, o que foi chamado de permisses precisa ter descontado o primeiro caracter, que
designa o tipo do arquivo. O caracter "d" [por exemplo, drwxr-xr-x] designa que o tipo do
arquivo um diretrio. Se iniciar com um trao "-" [por exemplo, -rw-rw-r--], o arquivo do tipo
regular ou ordinrio, e se iniciar com um caracter "l" [por exemplo, lrwxrwxrwx], trata-se de
link [linque] simblico.
Dos nove bits de permisso (por exemplo, rw-rw-r--), os trs primeiros so permisses do
dono, os trs seguintes so do grupo e os trs ltimos dos outros. No existe sobreposio dessas
permisses. Por exemplo, as permisses dadas ao grupo no afetam as permisses de acesso para o
dono do arquivo.
GNU/LINUX
www.jairo.pro.br
15/33
-rw-rw-r--
-rw-rw-r--
-rw-rw-r--
dono do
arquivo
grupo do
arquivo
outros
7.1 - chmod
O comando chmod altera as permisses de acesso ao arquivo. Pode ser alterado no modo
numrico [octal] ou simblico.
Para poder alterar as permisses, o usurio precisa ser dono do arquivo ou ento ser root.
7.1.1 - Modo numrico ou absoluto [octal]
O modo numrico usa a notao octal para traduzir os bits de permisso dos arquivos em
nmeros de 0 a 7. A tabela abaixo mostra a relao entre bits de permisso e nmeros.
rwx
binrio
octal
---
000
--x
001
-w-
010
-wx
011
r--
100
r-x
101
rw-
110
rwx
111
GNU/LINUX
www.jairo.pro.br
16/33
1 aluno users
1 aluno users
1 aluno users
NOTA:
O bit x em arquivo regular permisso de execuo, j em diretrio d acesso ao seu
contedo. Afinal, o diretrio estrutura organizacional e no pode ser executado.
7.1.2 - Modo simblico
No modo simblico, a alterao de permisso de arquivos segue o esquema:
chmod [ugoa][+=][rwxst]
onde:
Os caracteres [ugoa] designam as permisses do dono [u, user], do grupo [g, group], dos
outros [o, others] e de todos [a, all];
Os sinais [+=] definem a seleo para as permisses, onde o sinal [+] acrescenta a
permisso s que j existem no arquivo, o sinal [] subtrai das existentes e o sinal [=]
remove todas as permisses que haviam no arquivo e impem a que est sendo alterada para
o(s) usurio(s);
Os bits [rwxst] so os bits de permisso a serem alterados no arquivo.
Exemplos:
GNU/LINUX
www.jairo.pro.br
17/33
shell$ ls -l arq.txt
--w-r--rw-
1 aluno users
1 aluno users
1 aluno users
1 aluno users
1 aluno users
1 aluno users
1 aluno users
7.1.3 - Bits s e t
Alm dos bits de permisso r, w e x, tambm so frequentemente usados os bits s e t.
O bit s em arquivos regulares pode estar tanto no campo do dono do arquivo quanto do
grupo. Por exemplo: -rwsr-x--x, -rwxr-s--x, -rwsr-s--x. Em arquivos regulares, o bit s
tambm um bit de execuo.
Se o bit s aparecer no campo do dono do arquivo SUID [Set User ID], se aparecer no
campo do grupo SGID [Set Group ID]. Esse bit altera a identificao do usurio (ou do grupo) no
processo gerado pela execuo do arquivo executvel.
Se for SUID, atribui a permisso do processo como idntica a do dono do arquivo,
independentemente de quem tenha executado.
Se for SGID, atribui a permisso do processo como idntica a do grupo do arquivo,
independentemente de quem tenha executado.
Por exemplo, o executvel usado para alterar senha o comando passwd, que tem as
GNU/LINUX
www.jairo.pro.br
18/33
seguintes permisses:
shell$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22520 Fev 26 2009 /usr/bin/passwd
shell$ ls -l /etc/shadow
-r-------- 1 root root 1324 Out 12 21:00 /etc/shadow
No caso, o dono do executvel passwd o root, porm este permite que qualquer usurio
execute o comando, como pode ser visto pelo bit x no campo outros.
Porm, quando algum executa o comando passwd, tambm precisa escrever a nova hash
de senha no arquivo /etc/shadow, que no tem permisso de escrita para outros [por questes de
segurana, obviamente].
Ento, o bit s no campo do dono do executvel passwd faz com que o processo originado
por qualquer usurio tenha privilgio de acesso do dono do arquivo, isto , de root, que consegue
escrever no /etc/shadow. Desse modo, o usurio consegue alterar a sua prpria senha.
Exemplo:
shell$ id
uid=1000(aluno) gid=1000(users) grupos=1000(users)
shell$ pwd
/tmp
shell$ cp /bin/mkdir .
shell$ ls -l mkdir
-rwxr-xr-x 1 aluno users 43504 Abr 11 14:37 mkdir
shell$ chmod 4755 mkdir
shell$ ls -l mkdir
-rwsr-xr-x 1 aluno users 43504 Abr 11 14:37 mkdir
NOTA:
O comando chmod, no modo octal, recebe um parmetro com 4 dgitos. Porm, se o[s] primeiro[s]
bit[s] for[em] 0 [zero], este[s] pode[m] ser omitido[s]. Exemplo: chmod 0123 arq.txt idntico a
chmod 123 arq.txt. Ou ento, chmod 0023 arq.txt idntico a chmod 23 arq.txt.
Para verificar o funcionamento desse bit ser necessrio outro usurio, que no pertena ao
grupo de aluno. Neste caso, se ainda no existe adicionar o usurio juca. Para adicionar um novo
usurio, precisa ser root:
GNU/LINUX
www.jairo.pro.br
19/33
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
shell# /usr/sbin/useradd -m -s /bin/bash -c "usuario juca" -d /home/juca juca
shell# tail -1 /etc/passwd
juca:x:1001:1001:usuario juca:/home/juca:/bin/bash
shell# passwd juca
Mudando senha para o usurio juca.
Nova senha:
Agora, o usurio juca loga em outro shell [por exemplo, <CTRL><ALT>F3], e usa o
executvel em /tmp/mkdir para criar um novo diretrio:
shell$ id
uid=1001(juca) gid=1001(juca) grupos=1001(juca)
shell$ cd /tmp
shell$ /tmp/mkdir juca
shell$ ls -ld /tmp/juca
drwxr-xr-x 2 aluno juca 4096 Abr 11 15:00 /tmp/juca
NOTA:
Repare que o diretrio criado por juca pertence a aluno e no juca.
Analogamente ao exerccio acima, se o dono do arquivo [aluno] mudar as permisses para
-rwxr-sr-x com o comando chmod 2755 /tmp/mkdir, quando juca criar outro diretrio este ser
do grupo de aluno [users].
Do mesmo modo, se aluno usar o comando chmod 6755 /tmp/mkdir, ir alterar as
permisses do arquivo /tmp/mkdir para -rwsr-sr-x. Nesse caso, se juca usar o comando
/tmp/mkdir para criar outro diretrio, este pertencer a aluno e ao grupo users [que o grupo de
aluno].
O bit t em diretrios d a permisso append-only [sticky bit], e usado em diretrios
pblicos como o /tmp.
No exemplo abaixo, o usurio root ir criar um novo diretrio pblico de nome /tmp2.
GNU/LINUX
www.jairo.pro.br
20/33
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
shell# ls -ld /tmp
drwxrwxrwt 28 root root 4096 Abr 10 12:00 /tmp
shell# mkdir /tmp2
shell# ls -ld /tmp2
drwxrwxrwx 2 root root 4096 Abr 11 15:00 /tmp2
shell# chmod 1777 /tmp2
drwxrwxrwt 2 root root 4096 Abr 11 15:00 /tmp2
7.2 - chown
O comando chown usado pelo root para alterar a posse do arquivo.
Por exemplo:
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
shell# chown aluno /tmp/mkdir
shell# ls -l /tmp/mkdir
-rwsr-xr-x 1 aluno aluno 43504 Abr 11 14:37 mkdir
Alm de alterar a posse, tambm poderia alterar o grupo primrio. Por exemplo:
shell# touch /tmp/arq.txt
shell# chown aluno:users /tmp/arq.txt
shell# ls -l /tmp/arq.txt
-rw-rw-r-- 1 aluno users 0 Ago 15 15:32 /tmp/arq.txt
7.3 - chgrp
O comando chgrp usado pelo root para alterar o grupo do arquivo.
GNU/LINUX
www.jairo.pro.br
21/33
Por exemplo:
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
shell# chgrp aluno /tmp/mkdir
shell# ls -l /tmp/mkdir
-rwsr-xr-x 1 aluno aluno 43504 Abr 11 14:37 mkdir
8 - COMANDOS DE REDES
Para mostrar o dispositivo de rede [hardware], o comando lspci:
shell$ lspci | grep -i ethernet
00:0f.0 Ethernet controller: nVidia Corporation MCP73 Ethernet (rev a2)
GNU/LINUX
www.jairo.pro.br
22/33
# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
Os comandos, ifconfig, ethtool e route tambm so usados para reconfigurar a rede. Por
exemplo:
# ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
GNU/LINUX
www.jairo.pro.br
23/33
Para traar uma rota at o equipamento, use o comando traceroute [no DOS/Windows
tracert]. Por exemplo:
# traceroute -n 187.73.33.34
GNU/LINUX
www.jairo.pro.br
24/33
;; ANSWER SECTION:
www.jairo.pro.br.
3111 IN
;; AUTHORITY SECTION:
jairo.pro.br.
3111 IN
jairo.pro.br.
3111 IN
;; ADDITIONAL SECTION:
ns1.hostnet.com.br. 2024 IN
A
NS
NS
187.73.33.34
ns1.hostnet.com.br.
ns2.hostnet.com.br.
200.185.109.63
GNU/LINUX
www.jairo.pro.br
25/33
comando netstat:
shell$ netstat -na | more
Conexes Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Local Address
Foreign Address
tcp
0
0
0.0.0.0:22
0.0.0.0:*
tcp
0
0
127.0.0.1:631
0.0.0.0:*
tcp
0
0
192.168.1.10:47311 64.233.163.19:80
tcp
0
0
192.168.1.10:47312 64.233.163.19:80
tcp
0
0
::1:631
:::*
udp
0
0
0.0.0.0:47061
0.0.0.0:*
udp
0
0
0.0.0.0:5353
0.0.0.0:*
udp
0
0
0.0.0.0:631
0.0.0.0:*
udp
0
0
0.0.0.0:68
0.0.0.0:*
Domain sockets UNIX ativos (servidores e estabelecidas)
--Mais--
State
OUA
OUA
ESTABELECIDA
ESTABELECIDA
OUA
Com a opo tp possvel saber o PID [Process Identifier] do processo que abriu a porta.
A opo t indica o PID e p a porta:
Foreign Address
187.73.33.34:80
74.125.234.54:443
State
PID/Program name
TIME_WAIT ESTABELECIDA2364/firefox-bin
CMD
firefox-bin
GNU/LINUX
www.jairo.pro.br
26/33
Para descobrir quais servios determinado host disponibiliza, use o comando nmap, que faz
um scan de portas:
# nmap localhost
Starting Nmap 4.76 ( http://nmap.org ) at 2009-08-23 17:02 BRT
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost (127.0.0.1):
Not shown: 998 closed ports
PORT
STATE
SERVICE
22/tcp
open
ssh
631/tcp
open
ipp
# nmap 192.168.1.20
Starting Nmap 4.76 ( http://nmap.org ) at 2009-08-23 17:02 BRT
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Interesting ports on localhost (127.0.0.1):
Not shown: 998 closed ports
PORT
STATE
SERVICE
22/tcp
open
ssh
25/tcp
open
smtp
80/tcp
open
http
3128/tcp
open
squid-http
O cliente wget acessa o servio web em linha de comando, e faz dowload de arquivos.
Por exemplo, para acessar o servio web no endereo 192.168.1.10, o comando :
shell# cd /tmp
shell# wget 192.168.1.10
--2013-06-27 20:29:57-- http://192.168.1.10/
Conectando-se a 192.168.1.10:80... conectado.
A requisio HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 726 [text/html]
Salvando em: index.html
100%[======================================>] 726
--.-K/s em 0s
GNU/LINUX
www.jairo.pro.br
27/33
No caso, antes de dar o comando wget foi usado o comando cd, isto para baixar o arquivo
index.html de 192.168.10 para o diretrio local /tmp.
Caso haja um proxy no meio do caminho, que o caso de acesso internet a partir dos
laboratrios acadmicos da Uninove, precisa antes passar a instruo de usurio e senha para o
wget, e isso feito com o comando export:
shell#exporthttp_proxy=http://RA:SENHA@186.251.39.196:3128
Onde:
RA:
SENHA:
186.251.39.196:
o RA do aluno;
a senha de acesso do aluno;
o IP do servio proxy, que atende na porta 3128 ( um Squid).
9 - GERENCIAMENTO DE PACOTES
GNU/LINUX
www.jairo.pro.br
28/33
9.1.1 - rpm
Para checar se o pacote j est instalado, comandar:
shell$ rpm -aq | grep nmap
se houvesse algum pacote instalado que contivesse a palavra nmap, seria mostrado.
Depois de baixar o arquivo nmap-5.51-1.i386.rpm, para saber quais arquivos esse pacote
contm, comandar:
shell$ rpm -qlp nmap-5.51-1.i386.rpm
/usr/bin/ndiff
/usr/bin/nmap
/usr/share/doc/nmap-5.51
/usr/share/doc/nmap-5.51/COPYING
/usr/share/doc/nmap-5.51/README
/usr/share/doc/nmap-5.51/nmap.usage.txt
/usr/share/man/de/man1/nmap.1.gz
...
########################################### [100%]
1:nmap
########################################### [100%]
GNU/LINUX
www.jairo.pro.br
29/33
9.1.2 - yum
O yum faz o mesmo gerenciamento de pacotes que o comando rpm, o diferencial que o
yum busca pelo[s] pacote[s] ncessrio[s] para a instalao em algum repositrio de pacotes na
internet. Mais interessante, alguns pacotes para serem instalados necessitam de pr-requisitos, e
nesse caso o prprio yum faz os downloads e instalaes sozinho. Se fosse o comando rpm, ele
pararia a instalao e diria que est faltando algum pacote que pr-requisito para aquela
instalao.
Para instalar algum pacote com o yum, comandar:
root# yum install nmap
Plugins carregados: refresh-packagekit
---> Pacote nmap-5.51-1.i386.rpm definido para ser atualizado
Tamanho total do download: 2.4 M
Correto? [s/N]:s
Baixando pacotes:
nmap-5.51-1.i386.rpm
| 2.4 MB
00:20
Executando o rpm_check_debug
Instalando
: 2: nmap-5.51-1.i386.rpm
1/1
Instalados:
nmap-5.51-1.i386.rpm
O yum tambm poderia ser usado para atualizar um pacote. Por exemplo:
root# yum update nmap
Mas para que o yum funcione a contento, precisa ser definido quais so os endereos de
repositrios de pacotes na internet, que sero usados para download. Essa configurao est no
arquivo "/etc/yum.conf". Normalmente, esse arquivo no precisa ser configurado, pois se for
necessrio adicionar um novo site repositrio basta incluir um arquivo de configurao adicional no
diretrio "/etc/yum.repos.d".
Por exemplo, o arquivo "/etc/yum.repos.d/CentOS-Base.repo" contm, entre outras
coisas, o seguinte contedo:
GNU/LINUX
www.jairo.pro.br
30/33
GNU/LINUX
www.jairo.pro.br
31/33
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
shell# apt-get update
NOTA:
Para instalar pacotes precisa ser root. O jeito simples de adquirir poderes de root com o comando
sudo. Por exemplo:
shell$ id
uid=1000(aluno) gid=1000(users) grupos=1000(users)
shell$ sudo su
[sudo] password for aluno:
shell# id
uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
Aps enviar a senha de aluno, o usurio ganha o shell de root, como pode ser verificado com
o smbolo do shell que agora uma cerquilha "#".
O comando apt-get normalmente instala pacotes disponibilizados em repositrios na
internet, por isso muito prtico.
Porm, pode ser o caso de no haver acesso internet, ento a aplicao poderia ser
instalada direta de um pacote ".deb" no CD-ROM.
Para usar o CD-ROM [ou DVD] como local de repositrio de pacote, usar o comando aptcdrom para declarao o CD-ROM como repositrio:
shell# apt-cdrom add
GNU/LINUX
www.jairo.pro.br
32/33
onde -i a opo para instalar a aplicao nmap do arquivo local nmap-4.76.deb. Para remover
usar a opo -r.
Para saber se determinada aplicao est disponvel para instalao via apt, usar o comando
apt-cache para descobrir:
shell# apt-cache search nmap
que o comando vai oferecer uma seleo de file sets para instalar.
GNU/LINUX
www.jairo.pro.br
33/33