Este documento discute administração de sistemas em sistemas operacionais avançados. Ele aborda administração de usuários usando comandos como useradd e passwd, scripts de shell para automatizar tarefas, e o uso do cron para agendar tarefas para execução repetida.
1. Sistemas Operativos Avancados
Cap. 2. - Administração de sistemas
-Administração de Usuários
-Shell Scrips
-Tarefas automatizadas (cron)
Jonnathan Guambe
2. Administracao 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.
A criação e administração de contas de usuários no sistema são
exclusive do super-usuário (root).
Comandos para administração:
– useradd (adduser)
– userdel (deluser)
– passwd
– usermod
– groupadd
– groudel
3. ShellScript
Um script é um arquivo que guarda vários
comandos e pode ser executado sempre que
preciso.
Os comandos de um script são exatamente os
mesmos que se digita no prompt, é tudo shell.
4. Tipos de shell
• Bourne Shell: é o shell padrão 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
evoluído, portando todos os comandos que
funcionavam no Bourne Shell funcionarão
neste com a vantagem de ter mais opções. É
representado por "ksh";
5. Tipos de shell
• C Shell: é o shell mais utilizado em BSD, e
possui uma sintaxe muito parecida com a
linguagem C;
• Bourne Again Shell: é o shell desenvolvido
para o projeto GNU usado pelo GNU/Linux, é
muito usado pois o sistema que o porta evolui
e é adoptado rapidamente. Possui uma boa
portabilidade, pois possui características do
Korn Shell e C Shell. É representado por
"bash".
6. Funções do shell
• Analisar dados a partir do prompt (dados de
entrada);
• Interpretar comandos;
• Controlar ambiente Unix-like (console);
• Fazer redirecionamento de entrada e saída;
• Execução de programas;
• Linguagem de programação interpretada.
7. ShellScript
Supondo que constantemente precise de digitar
os seguintes comandos:
[root@localhost root]# date
[root@localhost root]# df
[root@localhost root]# w
8.
Seria melhor fazer um script chamado
"sistema.sh" e colocar estes comandos nele. O
conteúdo
do arquivo "sistema.sh" seria o seguinte:
#!/bin/bash
date
df
w
9. Tarefas automatizadas (cron)
Cron pode ser considerado como um serviço do Linux que
e carregado durante o boot do sistema que permite
programar ou calendarizar a execução de comandos e
processos de forma repetitiva ou apenas uma única vez.
A cada minuto o cron é accionado para verificar se há
tarefas a serem realizadas.
Para executar as tarefas, o cron usa uma espécie de tabela
conhecida como crontab. O ficheiro crontab geralmente
fica localizado no directório /etc, mas também pode estar
num directório que cria um crontab para cada usuário do
sistema (geralmente em /var/spool/cron), dependendo das
configurações do sistema operativo usado.
10. Tarefas automatizadas (cron)
Para usar o cron deve-se abrir o crontab e para isso pode
usar editores de textos como vi, nano, emacs entre outros.
Pode-se criar um cron usando o comando “crontab -e” para
editar o ficheiro exclusivo de seu usuário.
Comandos do crontab:
Crontab -e : Edita ou cria o ficheiro actual do crontab
Crontab -l : Visualiza o conteúdo actual do crontab
Crontab -r : Remove o ficheiro actual do crontab
11. Tarefas automatizadas (cron)
Formato do crontab:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
O preenchimento de cada campo é feito da seguinte
forma:
Minutos: informe números de 0 a 59;
Horas: informe números de 0 a 23;
Dias do mês: informe números de 0 a 31;
Mês: informe números de 1 a 12;
Dias da semana: informe números de 0 a 7;
Usuário: o usuário que vai executar o comando
Comando: a tarefa a ser executada
12. Exercícios
1. Escreva um script com nome clean.sh para limpar seu directório
$HOME, removendo todos os arquivos com extensão "bak" ou "~"