Beruflich Dokumente
Kultur Dokumente
2
2
2
3
2
11
11
3
2
1
1
1
root
root
root
root
root
root
root
root
root
root
killer
hugo
root
root
root
root
root
root
root
root
root
root
users
visits
1024
1024
1024
8192
1024
2048
2048
1024
12288
57
2342
23412
Dec
Dec
Dec
Mar
Feb
Mar
Feb
Feb
Nov
Mar
Mar
Mar
23
31
6
11
27
11
23
23
2
10
10
09
15:22
05:48
15:51
10:17
13:52
10:19
19:08
19:13
11:25
03:44
03:12
22:22
bin
boot
cdrom
dev
dosa
etc
home
lib
lost+found
make-backup
teste.txt
teste2.txt
Com estes parmetros, especifiquei que o usurio hugo ter como diretrio home o
/var/usuarios/hugo e como shell o /dev/null (ou seja, no ter shell). Sem estes
parmetros, o diretrio home seria /home/hugo e o shell seria /bin/bash.
Vamos entender agora como este comando funciona, pois uma coisa essencial que
todos deveriam saber em relao ao sistema Linux. Cada um desses programas
escrevem o usurio no arquivo de configurao do Linux referente aos usurios do
sistema. Este arquivo o /etc/passwd. Cada linha deste arquivo um usurio
cadastrado no sistema. Com as informaes que vou lhe dar aqui, voc pode muito bem
criar uma conta sem usar estes programas/scripts citados acima.
O arquivo /etc/passwd formado por linhas onde cada linha um usurio, como falei
acima, ento vamos aprender a montar cada linha desta. Vou pegar um exemplo para
vocs:
hugo:x:1001:100:Hugo Cisneiros:/home/hugo:/bin/bash
Descrio
hugo
Login do Usurio, aqui voc pode colocar o nome que quiser com at 8
caracteres.
1001
100
Hugo
Cisneiros
/home/hugo
/bin/bash
Combine com a opo -r para remover junto o diretrio HOME do usurio. Lembre-se
dos backups :P
Para:
hugo:x:0:0:Hugo Cisneiros:/home/hugo:/bin/bash
^ ^
Pronto, o usurio hugo vai ser tambm o root do sistema, o administrador do sistema, o
deus do sistema, etc.
Aviso
No muito bom ficar usando o usurio root. Este usurio somente para a
administrao do sistema, ento eu recomendo voc a usar sempre um usurio
normal: ser da plebe :) E se for precisar usar o root, basta apenas logar como ele ou
utilizar o comando:
$ su -
E depois que voc fornecer a senha de root, se tornar o prprio deus! A razo para
este tipo de prtica que a chance de voc fazer besteira ou executar algum
programa que faz besteira pra voc diminui bastante. Alm disso, se algum
programa tiver algum bug, o risco dele ser explorado para estragar seu sistema
diminui bastante quando no se usa root. Por isso vrios servios do Linux rodam
com usurios especficos.
Isso ir criar o grupo metal com o nmero GID 666. Para adicionar os usurios, voc
ter que editar o arquivo e adicionar l na linha criada :-)
No exemplo acima todos os arquivos tem como dono o root e como grupo-dono
tambm o root, com exceo do teste.txt que o dono killer e o grupo users e
tambm teste2.doc, no qual hugo o dono e o grupo visits tambm dono. Como
voc pode ver do lado esquerdo de cada arquivo/diretrio existe um srie de letras r, w,
x ou d! Vamos ver o que representa cada uma delas:
drwxrwxrwx
0111222333
Tambm h casos em que no lugar do d, aparecem outras letras que indicam outros tipos
de arquivos. A letra l significa que um link simblico, as letras c e b correspondem
dispositivos (/dev). Veja alguns exemplos abaixo:
crw-rw---brw-rw---lrwxrwxrwx
/dev/hdd
1 hugo
2 hugo
1 root
audio
cdrom
root
14,
22,
Finalmente, temos a quarta coluna (composto pelos nmeros 3), essa coluna se refere s
permisses para todos os outros usurios do sistema, sem ser os donos e grupos-donos
dos mesmos, exemplo:
-r--r--rwx
1 fernando visits
1231 Mar 03 12:42 exemplo2.doc
||\--> Todos os usurios (exceto fernando e usurios do grupo
visits)
||
tem permisso para acessar o arquivo!
|\---> Todos os usurios (exceto fernando e usurios do grupo
visits)
|
tem permisso para gravar no arquivo!
\----> Todos os usurios (exceto fernando e usurios do grupo
visits)
tem permisso para ler o arquivo!
Caso voc queira desfazer o comando, voc faria: chmod u-rw arquivo1.txt. Como
se v, o + ou - define se as flags sero ativadas ou desativadas! Outros exemplos:
$ chmod a+r arquivo2.txt
Neste caso outros usurios (o=others) sem ser o dono e o grupo dono do arquivo,
podem gravar no arquivo3.txt. Outro exemplo:
$ chmod g+x netscape
Significado
Nenhuma permisso
Como exemplo, vamos definir que um arquivo teste4.txt ter como dono killer e
como grupo users:
$ chown killer.users teste4.txt
Outros exemplos:
$ chown mrdvs.visits teste5.txt
$ chown hugo.users teste6.txt
Funo
Se voc quiser verificar os arquivos crontab dos usurios, voc precisar ser root. O
comando crontab coloca os arquivos dos usurios no diretrio
/var/spool/cron/usuario, onde usuario corresponde ao usurio dono do arquivo
crontab.
Agora se voc quiser editar o crontab global, este fica no arquivo /etc/crontab e s
pode ser manipulado pelo root. E agora que j sabemos onde ficam os arquivos de
configurao, vamos estudar o formato da linha do crontab, que quem vai dizer o que
executar e quando. Vamos ver um exemplo:
0 4 * * * who
Funo
1o.
Minuto
2o.
Hora
3o.
Dia do ms
4o.
Ms
5o.
Dia da semana
6o.
Funo
Minuto
0-59
Hora
0-23
Dia do ms
1-31
Ms
1-12
root
run-parts
*
*
*
0
root
root
run-parts /etc/cron.daily
run-parts
root
run-parts
Diretrio
Perodo
/etc/cron.hourly
De hora em hora
/etc/cron.daily
Diariamente
/etc/cron.weekly Semanalmente
/etc/cron.monthly Mensalmente
Tabela 4.7. Diretrios para o programa runparts do crontab
Ento todos os arquivos executveis dentro de cada diretrio sero executados no seu
correspondente perodo. Ou seja, posso colocar um certo contedo no arquivo
/etc/cron.daily/teste, depois torn-lo executvel atravs do comando chmod
+x /etc/cron.daily/teste e ento ele ser executado todo dia as 4:02 da manh.
Bem isso! Agora voc j pode programar suas tarefas para serem automaticamente
executadas e te poupar muito trabalho manual :)
Essa linha diz ao interpretador de comandos para que quando o usurio executar o
arquivo, ele execute atravs do programa /bin/bash, significando ento que um script
shell! :)
Depois de colocada a linha, basta apenas tornar o arquivo executvel, utilizando o
comando chmod. Vamos seguir com um pequeno exemplo de um script shell que mostre
na tela: "Nossa, estou vivo!":
#!/bin/bash
echo 'Nossa! Estou vivo! Levantei da tumba! Yikes!'
O "valor" ser atribudo "varivel". "Valor" pode ser uma frase, nmeros e at outras
variveis e comandos. O valor pode ser expressado entre as aspas (""), apstrofos ('') ou
crases (``). As aspas vo interpretar as variveis que estiverem dentro do valor, os
apstrofos lero o valor literalmente, sem interpretar nada e as crases vo interpretar um
comando e retornar a sua sada para a varivel. Vejamos exemplos para entender
melhor:
$ variavel="Eu estou logado como usurio $user"
$ echo $variavel
Eu estou logado como usurio cla
$ variavel='Eu estou logado como usurio $user'
$ echo $variavel
Se voc quiser criar um script em que o usurio deve interagir com ele, possvel que
voc queira que o prprio usurio defina uma varivel e para isso usamos o comando
read, que dar uma pausa no script e ficarar esperando o usurio digitar algum valor e
teclar Enter. Exemplo:
$ echo "Entre com o valor para a varivel: " ; read variavel
O usurio digita e tecla Enter, vamos supor que ele digitou a frase "o batima eh um
frutinha":
$ echo $variavel
o batima eh um frutinha