Soa cap2 admin-sistemas - manual

Preview:

DESCRIPTION

 

Citation preview

UNIVERSIDADE SÃO TOMÁS DE MOÇAMBIQUE

CURSO DE: TECNOLOGIAS E SISTEMAS DE INFORMAÇÃO

SISTEMAS OPERATIVOS AVANÇADOS

Administração de Sistemas

DOCENTE: dr. Jonnathan Guambe

dr. Jonnathan Guambe Administração de Sistemas

Índice1. Ficheiros e directórios .......................................................................................4

1.1. Árvore de directórios ..................................................................................4

1.2. Identificação de um ficheiro .......................................................................4

1.3. Atributos de um ficheiro .............................................................................4

1.3.1. Nome ...................................................................................................4

1.3.2. Tipo .....................................................................................................4

1.3.3. Dono, grupo e permissões de acesso ..................................................5

1.3.4. Timestamps de criação, acesso e modificação ....................................5

1.4. Acesso a um ficheiro ..............................................................................5

1.5. Exercicios....................................................................................................7

2. Administração de usuários ................................................................................8

2.1. Verificando informações do usuário ...........................................................8

2.1.1. Exemplos..............................................................................................9

2.2. Tornando-se outro usuário – Comando su e sudo........................................9

2.3. Adicionando usuários – Comando useradd .................................................9

2.3.1. Exemplos..................................................................................................9

2.4. Alterando a senha do usuário – comando passwd ....................................10

2.4.1. Exemplos............................................................................................10

2.5. Eliminando usuários – Comando userdel ..................................................11

2.5.1. Exemplos............................................................................................11

2.6. Modificando o perfil de um usuário – comando usermod .........................11

2.6.1. Exemplo.............................................................................................11

2.7. Adicionando grupos – comando groupadd ................................................12

dr. Jonnathan Guambe Administração de Sistemas

2.7.1. Exemplos............................................................................................12

2.8. Eliminando grupos – Comando groupdel ..................................................12

2.9. Exercicios..................................................................................................12

3. Shell Script.......................................................................................................13

3.1. O que é Shell.............................................................................................13

3.2. Shell script.................................................................................................13

3.2.1. Passos para criacao de um shell script ..............................................14

3.2.1.1. Problemas na execução do script................................................15

3.3. Exercícios .................................................................................................16

4. Tarefas automatizadas.....................................................................................16

4.1. Exemplos:..................................................................................................17

4.2. Exercicios..................................................................................................18

5. Bibliografia.......................................................................................................18

dr. Jonnathan Guambe Administração de Sistemas

1. Ficheiros e directórios

Os ficheiros são objectos fundamentais nos sistemas operativos UNIX, mais que noutros sistemas

operativos. A forma como se opera sobre um ficheiro é extensível a quase tudo o que interage com o

sistema operativo.

1.1. Árvore de directórios

Do ponto de vista do utilizador, todos os ficheiros estão localizados na árvore de directórios do sistema. E

todos são acessíveis a partir da directório raiz, cujo nome é “/”. A estrutura em árvore assenta no conceito

de directório. Uma directório é um ficheiro que contém uma lista de ficheiros (que podem ser de qualquer

tipo, incluindo o tipo directório).

1.2. Identificação de um ficheiro

Um caminho (path) é uma string que identifica um ficheiro (de qualquer tipo, ou seja, pode identificar um

ficheiro regular, uma directório, um dispositivo...) na árvore de directórios do sistema. Um caminho é

absoluto se começa com o carácter '/ ' (/home/linux/teste.txt); caso contrário é relativo (teste.txt).

1.3. Atributos de um ficheiro

Os ficheiros têm vários atributos, a frente veremos a lista completa desses atributos, de momento segue

uma descrição dos mais relevantes no âmbito da parte prática da disciplina.

1.3.1. Nome

Qualquer ficheiro tem um nome. O nome de um ficheiro é uma string que não pode conter nem caracter

'\0' nem o caracter '/'. O caracter '/' é o separador de nomes de ficheiros e directórios no nome dum

caminho; o caracter '\0' é o caracter terminador duma string. O nome de um ficheiro obtém-se a partir de

um caminho que identifica o ficheiro, sendo a substring do caminho composta por todos os seus últimos

caracteres a partir da última ocorrência do caracter ‘/’.

1.3.2. Tipo

• Ficheiro regular [-] - é o tipo mais comum de ficheiro; pode conter dados de qualquer tipo (texto

legível por humanos, instruções executáveis pelo processador, comandos interpretáveis por uma

shell, etc.).

• Directório [d] – uma directório é um tipo de ficheiro que contém uma listagem de outros ficheiros

ou directórios.

dr. Jonnathan Guambe Administração de Sistemas

• Ficheiro especial [c] – este tipo de ficheiro é usado por dispositivos para input e output, tal como

os ficheiros no directório /dev.

• Fifo (ou named Pipe) [p]– é um tipo de ficheiro utilizado para comunicação entre processos.

• Symbolic Link (atalho ou shortcut) [l] - é um ficheiro que representa um caminho para outro

ficheiro.

• Socket [s] – é um ficheiro especial utilizado para comunicação entre processos tipicamente em

execução em máquinas diferentes interligadas por uma rede de dados.

1.3.3. Dono, grupo e permissões de acesso

Todos os ficheiros têm um dono, um grupo e permissões de acesso. Estes três atributos em conjunto,

permitem decidir que tipo de acesso ao ficheiro pode ser feito por um determinado utilizador do sistema.

1.3.4. Timestamps de criação, acesso e modificação

Os ficheiros têm associados timestamps de acesso, modificação de estado e modificação de atributos e

modificação de conteúdo.

1.4. Acesso a um ficheiro

Para cada ficheiro são definidas permissões para três tipos de acesso: leitura, escrita e execução. Estes três

tipos de acesso são, por sua vez, permitidos ou negados a três conjuntos de utilizadores: o dono do

ficheiro, os utilizadores que pertencem ao grupo do ficheiro e os restantes.

Experimente executar o comando ls com a opção –l. O output é de uma linha por cada ficheiro na

directório actual. Cada linha tem a forma:

Os nove caracteres de cada linha (entre o segundo e o décimo, inclusive), mostram

o estado dos três tipos de acesso, permitido ou negado (um hifen ‘-‘ significa acesso negado, a letra r, w

ou x significa acesso permitido) para cada um dos três grupos de utilizadores (dono, grupo e outros).

dr. Jonnathan Guambe Administração de Sistemas

Cada tipo de acesso tem um significado óbvio para os ficheiros de qualquer tipo que não seja directório.

Neste caso, por ser eventualmente menos intuitivo o significado de cada tipo de permissão, e por ser um

tipo de ficheiro muito comum e importante segue o seu significado na tabela abaixo.

Outra questão importante é como é que o sistema decide para um determinado utilizador, para

um dado ficheiro, qual o grupo de utilizadores (owner, group ou others) cujas permissões de

acesso se aplicam. A regra é simples mas tem alguns efeitos inesperados. Se um utilizador é

dono do ficheiro então aplicam-se as permissões do owner. Se um utilizador não é dono mas

pertence ao grupo do ficheiro, aplicam-se as permissões do group. Só nos restantes casos é que

se aplicam as permissões de others.

Veja as páginas de manual dos comandos chmod e chown. Experimente tirar todos os tipos de

permissão ao dono de um ficheiro e mantê-las para o grupo e outros utilizadores. Tente ver o

conteúdo do ficheiro e verifique o que acontece.

1.5. Exercicios1. Considere a estrutura de directórios representado na figura abaixo:

a) Crie um ficheiro carta.doc no directorio farrusco.

dr. Jonnathan Guambe Administração de Sistemas

b) Liste todos os ficheiros cujos nomes começam pela letra "c", localizados no directorio farrusco.

c) Crie um subdirectorio aves na seu directorio pessoal.

d) Mova para o directorio aves o ficheiro comida.txt, localizado no directorio farrusco.

e) Posicione-se no directorio criado na operação c) deste grupo de exercícios, e confirme a sua localização.

f) Liste todos os utilizadores que tenham sessões abertas no mesmo sistema que você.

g) Guarde a informação dos utilizadores com sessões abertas no sistema num ficheiro chamado alunos.txt, que deverá ser criado no directorio gatos (Obs: Deve utilizar apenas um comando para realizar esta tarefa).

h) Copie o ficheiro alunos.txt para o directorio boby.

i) Crie, dentro da directoria miau, um ficheiro com o nome de fic1.txt, cujo conteúdo deverá ser: "Ola, bom dia!". Deverá usar apenas a linha de comando (não deverá usar nenhum processador de texto).

j) Altere o nome do ficheiro fic1.txt para fic3.txt

k) Acrescente ao ficheiro fic3.txt a palavra "Mais".

l) Visualize o numero total de palavras, linhas e caracteres do ficheiro fic3.txt.

m) Copie o ficheiro fic3.txt para o directorio mickey com o nome mmouse.txt.

n) Remova as permissões de escrita sobre todos ficheiros e directorios localizados em ratos.

o) Tente remover o ficheiro mmouse.txt.

p) Volte a atribuir as permissões de escrita ao directorio ratos.

q) Apague o ficheiro mmouse.txt.

r) Altere o nome do ficheiro .bash_history, localizado na seu directorio pessoal, para historicocomandos.txt.

dr. Jonnathan Guambe Administração de Sistemas

2. Administração de usuários

O Unix e Linux são sistemas operacionais multi-usuários, portanto é necessário que todos os usuários

sejam cadastrados e tenham permissões de acesso diferenciadas. É possível também cadastra-los em

grupos para facilitar a gestão.

A criação e administração de contas de usuários no sistema são exclusive do super-usuário (root). É uma

tarefa que demanda responsabilidade e deve ser acompanhada com muita atenção.

2.1. Verificando informações do usuário

Todo usuário possui um número chamado user ID com o qual o sistema Unix/Linux identifica-o no

sistema. Além do user ID, os usuários possuem o group ID. Toda vez que um processo for ativado será

atribuído ao processo um User ID e um Group ID. Estes ID's são chamados de identificação efetiva do

processo.

id [ opções ] [ nome ]

2.1.1. Exemplos

• id - Sem parâmetros, lista as informações do usuário actual.

uid=1094(laureano) gid=500(prof) grupos=500(prof)

• id bin - Sem parâmetros, lista as informações do usuário bin.

uid=1(bin) gid=1(bin) grupos=1(bin),2(daemon),3(sys)

• id -u - Lista somente o user id do usuário actual.

1094

2.2. Tornando-se outro usuário – Comando su e sudo

Permite o usuário mudar sua identidade para outro usuário sem fazer o logout. Útil para executar um

programa ou comando como super-usuário sem ter que abandonar a sessão actual.

su [usuário] – onde [usuário] é o nome do usuário que deseja usar para aceder o sistema. Se não

digitado, é assumido o usuário root.

sudo su – comando usado para mudar de sessão para super-usuário ou usuário root. Este comando

somente funciona caso o usuário que esteja a digita-lo pertencer tenha permissões para tal.

Digite exit quando desejar retornar a identificação de usuário anterior.

sudo – executa determinado comando com o ID de root sem mudar a sessão para root.

dr. Jonnathan Guambe Administração de Sistemas

Utilize o manual on-line (man) para ver outras opções de utilização dos comandos su e sudo.

2.3. Adicionando usuários – Comando useradd

O comando useradd permite que se criem usuários conforme especificado em opções. Somente o super-

usuário poderá utilizar este comando.

useradd [ opções ] usuário

Este comando irá alterar os arquivos:

• /etc/passwd – informações de contas de usuários;

• /etc/shadow – senhas criptografadas;

• /etc/group – informações de grupos.

2.3.1. Exemplos

• useradd malcolmx - Cria o usuário malcolmx.

• usermod –d /home/malcolmx malcolmx- Cria o usuário malcolmx e designa o directório

/home/malcolmx como o directório pessoal deste.

• usermod –s /bin/sh malcolmx - Cria o usuário malcolmx com o shell sh.

• usermod –g root malcolmx - Cria o usuário malcolmx com o grupo root.

• useradd –d /home/luiscossa –g users –c “Luis Octávio Cossa” luis - Cria o usuário luis com

com várias informações.

O comando useradd tem alguns inconvenientes tais como, não criar o directório home do usuário, não

copiar os ficheiros para inicialização do shell do directório /etc/skel para o directório home do usuário

automaticamente, entre outros. Outra alternativa para adição de usuários e o comando adduser, que é mais

iterativo e efectua certas operações como criação do directório home, criação do grupo, relacionamento

do usuário ao grupo, copia de ficheiros do /etc/skel entre outros, automaticamente.

Utilize o manual on-line (man) para ver outras opções de utilização dos comandos adduser e useradd.

2.4. Alterando a senha do usuário – comando passwd

O comando passwd permite que se troque a senha de determinado usuário. O super-usuário pode trocar a

senha de qualquer outro. O usuário comum, porém, pode trocar somente a sua senha. As senhas são

armazenadas no arquivo /etc/passwd ou /etc/shadow. No arquivo /etc/passwd também é armazenado as

informações relativas aos usuários.

dr. Jonnathan Guambe Administração de Sistemas

Em algumas distribuições após a criação do usuário será necessário criar uma senha para este, caso

contrário, não será permitido que este usuário faça login no sistema.

passwd [ usuário ]

2.4.1. Exemplos

• passwd jparc - Alterando a senha de outro usuário (é preciso ser o super-usuário)

• passwd - Alterando a própria senha (usuário comum pode utilizar este comando)

Para sua segurança, deve-se configurar o sistema para que:

• A senha deva ter no mínimo 6 caracteres;

• A senha deva ter no mínimo duas letras maiúsculas e/ou duas letras minúsculas e pelo menos um

dígito ou caractere especial;

• São aceites somente os caracteres ASCII padrão de códigos 0 a 127;

• A senha deve diferenciar do nome da conta (obrigatório);

• A nova senha deve diferenciar da senha velha em pelo menos três caracteres.

As regras acima não se aplicam ao super-usuário.

2.5. Eliminando usuários – Comando userdel

O comando userdel permite que se eliminem usuários do sistema. Somente o super-usuário poderá utilizar

este comando.

userdel [opções] usuário

2.5.1. Exemplos

• userdel jparc - Eliminando a conta do usuário jparc

• userdel –r jparc - Eliminando a conta do usuário jparc e apagando o seu directório home.

2.6. Modificando o perfil de um usuário – comando usermod

Este comando tem a mesma sintaxe e os mesmos parâmetros (existem algumas opções a mais) do

comando useradd, a diferença é que ele modifica ou adiciona informações relativas a um usuário já

cadastrado.

usermod [ opções ] usuário

dr. Jonnathan Guambe Administração de Sistemas

2.6.1. Exemplo

• useradd -d /home/luizotavio –g users –c “Luiz Otávio Laureano” luiz

• tail /etc/passwd

kaminenko:x:1226:1100:Rafael Kaminenko:/home/cc2002-1s/kaminenko:/bin/bash

crazyeye:x:1227:1100::/home/cc2002-1s/crazyeye:/bin/bash

luiz:x:1228:100:Luiz Otávio Laureano:/home/luizotavio:/bin/bash

• usermod –m –d /home/luiz luiz

• tail /etc/passwd

kaminenko:x:1226:1100:Rafael Kaminenko:/home/cc2002-1s/kaminenko:/bin/bash

crazyeye:x:1227:1100::/home/cc2002-1s/crazyeye:/bin/bash

luiz:x:1228:100:Luiz Otávio Laureano:/home/luiz:/bin/bash

Atenção: Ao modificar o directório home de um usuário do sistema, utilize sempre a opção –m para

mover o directório anterior para o novo directório especificado.

2.7. Adicionando grupos – comando groupadd

Para facilitar a administração do sistema, pode-se usar o conceito de grupos de usuários com perfis

semelhantes. Por exemplo, definir grupos conforme os departamentos de uma empresa.

groupadd [ opções ] grupo

Este comando irá alterar os arquivos:

• /etc/group – informações de grupos.

• /etc/gshadow – informações de grupos armazenadas de forma segura (senhas de grupo).

2.7.1. Exemplos

• groupadd vendas - Criando o grupo vendas

• groupadd –g 750 vendas - Criando o grupo vendas com GID 750

2.8. Eliminando grupos – Comando groupdel

O comando groupdel permite que se eliminem grupos do sistema. Somente o superusuário poderá utilizar

este comando.

dr. Jonnathan Guambe Administração de Sistemas

groupdel grupo

Atenção: Ao eliminar um grupo do sistema, se existir algum usuário ligado a este grupo, ele ficará

“órfão”.

2.9. Exercicios

1. Informe os comandos e anote o conteúdo dos arquivos /etc/group e do /etc/passwd após cada passo

(utilize o comando tail para visualizar o final do arquivo) e o resultado do comando id.

* Adicionar o usuário aluno01 com ID 600;

* Modificar o shell para o /bin/bash;

* Acrescentar o comentário “Conta de teste do aluno”;

* Criar o grupo alunos;

* Ligar o usuário aluno01 ao grupo alunos.

dr. Jonnathan Guambe Administração de Sistemas

3. Shell Script

3.1. O que é Shell

Antes de saber o que é um script em shell, é importante saber o que é um Shell. O Shell nada

mais é, que o responsável entre a comunicação do usuário com o Kernel do sistema. Para isso,

basta que o usuário conheça os comando e sintaxes apropriadas há este Shell.

O kernel é quem acessa os equipamentos (hardware) da máquina, como disco rígido, placa de

vídeo e modem. Por exemplo, para o usuário ler um arquivo qualquer, toda esta hierarquia é

seguida:

USUÁRIO --> SHELL --> KERNEL --> DISCO RÍGIDO

Para os usuários do Windows, é fácil pensar no shell como um MSDOS melhorado. Ao invés do

C:\> aparece um [root@localhost root]#, mas o funcionamento é similar. Basta digitar um

comando, suas opções e apertar a ENTER que ele será executado.

O shell é muito mais poderoso que MSDOS. Além dos comandos básicos para navegar entre

directórios e manipular arquivos, ele também possui todas as estruturas de uma linguagem de

programação, como IF, FOR, WHILE, variáveis e funções. Com isso, também é possível usar o

shell para fazer scripts e automatizar tarefas.

3.2. Shell script

Um script é um arquivo que guarda vários comandos e pode ser executado sempre que preciso.

Os comandos de um script são exactamente os mesmos que se digita no prompt, é tudo shell.

Por exemplo, se de tempos em tempos você quer saber informações do sistema como horário,

ocupação do disco e os usuários que estão logados, é preciso digitar três comandos:

[root@localhost root]# date

[root@localhost root]# df

[root@localhost root]# w

É melhor fazer um script chamado "aloscript" e colocar estes comandos nele. O conteúdo do

arquivo "aloscript" seria o seguinte:

dr. Jonnathan Guambe Administração de Sistemas

#!/bin/bash

date

df

w

E para chamar este script, basta agora executar apenas um comando:

[root@localhost root]# aloscript

Isso é um shell script. Um arquivo de texto que contém comandos do sistema e pode ser

executado pelo usuário.

3.2.1. Passos para criacao de um shell script

O primeiro shell script a fazer será o "aloscript" do exemplo anterior, de simplesmente juntar

três comandos em um mesmo script. A seguir estão os passos:

1. Escolher um nome para o script

Já temos um nome: aloscript.

Use apenas letras minúsculas e evite acentos, símbolos e espaço em branco

2. Escolher o directório onde colocar o script

Para que o script possa ser executado de qualquer parte do sistema, mova-o para um

directório que esteja no seu PATH. Para ver quais são estes directórios, use o comando:

echo $PATH

Se não tiver permissão de mover para um directório do PATH, deixe-o dentro de seu

directório pessoal ($HOME).

3. Criar o arquivo e colocar nele os comandos

Use o nano, VI ou outro editor de textos de sua preferência para colocar todos os

comandos dentro do arquivo.

4. Colocar a chamada do shell na primeira linha

#!/bin/bash

dr. Jonnathan Guambe Administração de Sistemas

Isto possibilita que a script ao ser executada, o sistema saiba que o bash é quem irá

interpretar estes comandos.

5. Tornar o script um arquivo executável

Use o seguinte comando para que seu script seja reconhecido pelo sistema como um

comando executável:

chmod +x aloscript

3.2.1.1. Problemas na execução do script

• "command not found"

Significa que o shell não encontrou o seu script, verifique se o comando que você está

chamando tem exactamente o mesmo nome do seu script. Lembre-se que o Unix/Linux é

case sensitive, então o comando "ALOSCRIPT" é diferente do comando "aloscript".

Caso o nome esteja correto, verifique se ele está no PATH do sistema. O comando "echo

$PATH" mostra quais são os directórios conhecidos, mova seu script para dentro de um

deles, ou chame-o passando o caminho completo.

Se o script estiver no directório corrente, chame-o com um "./" na frente, assim:

./aloscript Caso contrário, especifique o caminho completo desde o directório raiz:, por

exemplo: /home/aulas/aloscript

• "Permission Denied"

Significa que o shell encontrou seu script, mas ele não é executável.

Use o comando "chmod +x seu-script" para torná-lo um arquivo executável.

• "Sintax Error"

Significa que o shell encontrou e executou seu script, porém ele tem erros.

Um script só é executado quando sua sintaxe está 100% correta. Verifique os seus

comandos, geralmente o erro é algum IF ou aspas que foram abertos e não foram

fechados. A própria mensagem informa o número da linha onde o erro foi encontrado.

dr. Jonnathan Guambe Administração de Sistemas

3.3. Exercícios

1. Escreva um script chamado clean para limpar seu directório $HOME, removendo todos

os arquivos com extensão "bak" ou "~" que não tenham sido acessados há pelo menos 3

dias. Dica: use os comandos find e rm e a avaliação por aspas inversas.

2. Escreva um script para criar directórios com nome DirX, onde X varia de 1 a 99, usando

a instrucao “for”.

4. Tarefas automatizadas

Suponha que você seja dono de um serviço de hospedagem de sites e diariamente precisa disponibilizar,

numa pasta acessível por FTP, o arquivo de log de acessos de um cliente. Seria trabalhoso fazer isso

manualmente e na pior das hipóteses, você poderia esquecer. O Linux contem um o serviço cron, que

permite a realização de tarefas periodicamente e em determinadas datas ou dias especificadas por você,

ou seja, cron é uma ferramenta que permite programar a execução de comandos e processos de maneira

repetitiva ou apenas uma única vez.

Para executar as tarefas, o cron usa uma espécie de tabela conhecida como crontab. O arquivo crontab

geralmente fica localizado em /etc/crontab, mas também pode estar em um directório que cria um crontab

para cada usuário do sistema, geralmente em /var/spool/cron/.

Nos ficheiros de configuração existem algumas linhas que são usadas como variáveis para configurar o

ambiente no qual as actividades do cron são executadas. O valor da variável SHELL diz ao sistema qual

ambiente shell deve usar (neste exemplo, a shell bash), e a variável PATH define a localidade usada para

executar comandos. O output das tarefas do cron é enviado por e-mail ao nome do usuário definido na

variável MAILTO. Se a variável MAILTO for definida com um campo vazio (MAILTO="") ou omitida,

o e-mail não será enviado. Pode-se usar a variável HOME para definir o directório raiz a ser usado ao

executar comandos ou scripts.

O primeiro passo é abrir o crontab. Para isso, você pode usar editores de textos como vi e o emacs.

Também é possível digitar o comando "crontab -e" para editar o arquivo exclusivo de seu usuário. Em

alguns, a edição é feita como se você estivesse usando o nano.

O crontab tem o seguinte formato:

[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]

dr. Jonnathan Guambe Administração de Sistemas

O preenchimento de cada campo é feito da seguinte maneira:

• Minutos: informe números de 0 a 59;

• Horas: informe números de 0 a 23;

• Dias do mês: informe números de 1 a 31;

• Mês: informe números de 1 a 12;

• Dias da semana: informe números de 0 a 6;

• Usuário: é o usuário que vai executar o comando (não é necessário especifica-lo se o arquivo do

próprio usuário for usado);

• Comando: a tarefa que deve ser executada.

Repare que a ordem desses valores indica o nome correspondente do campo. Por exemplo, no campo mês,

1 a 12 quer dizer de "Janeiro a Dezembro". No caso de dias da semana, 0 a 6 quer dizer de "Domingo a

Sábado". Note que o número 7 também pode ser usado. Neste caso, assim como o número 0, o 7 equivale

ao dia de "Domingo".

No lugar desses valores, você pode informar * (asterisco) para especificar uma execução constante. Por

exemplo, se o campo dias do mês conter *, o comando relacionado será executado todos os dias.

Você também pode informar intervalos no preenchimento, separando os números de início e fim através

de - (hífen). Por exemplo, se no campo horas for informado 2-5, o comando relacionado será executado às

2, 3, 4 e 5 horas. E se o comando tiver que ser executado às 2 horas, entre 15 e 18 horas e às 22 horas?

Basta informar 2,15-18,22. Nestes casos, você separa os parâmetros por vírgula.

Na configuração de tarefas automatizadas por vezes e útil usar comentários para inserir descrições quando

se tem várias tarefas a serem executadas, para tal devera inserir # e tudo o que for digitado na linha não

será considerado pelo cron.

4.1. Exemplos:

#Executa a script a cada 7 minutos

*/7 * * * * /home/user/test.pl

# Regista o consumo de memoria todas as segundas feiras as 3:30AM no ficheiro /tmp/meminfo

30 3 * * mon cat /proc/meminfo >> /tmp/meminfo

# Executa determinada script no dia 1 de todos os meses as 4:10AM

dr. Jonnathan Guambe Administração de Sistemas

10 4 1 * * /root/scripts/backup.sh

4.2. Exercicios

1. Crie um cron que a 1:0AM de todas as terças-feiras grava o historico de comandos no ficheiro

/tmp/cmdhistory.

2. Crie um cron remove todos os ficheiros e directórios do directório home do usuario aluno01

(use /home/aluno01 com directório home) as 18 horas do dia 1 de Junho.

3. Crie um cron que a cada 5 minutos grava historico dos usuarios logados no ficheiro

/tmp/loggedinusers (Dica: use o comando who).

5. Bibliografia

• http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html

• http://www.gnu.org/manual/bash-2.02/bashref.html

• http://sh.underlinux.com.br

• Hudson, A. & Hudson, P.,”Ubuntu Unleashed”, Sams.

• Hagen W. V.(2007), “Ubuntu® Linux® Bible”, Wiley Publishing, Inc.

dr. Jonnathan Guambe Administração de Sistemas