soa cap2 administracao de sistemas2 (slides)
TRANSCRIPT
Sistemas Operativos Avancados
-Administração de Usuários-Shell Scrips
-Tarefas automatizadas (cron)
Jonnathan Guambe
Cap. 2. - Administração de sistemas
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
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.
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";
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".
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.
ShellScript
Supondo que constantemente precise de digitar os seguintes comandos:
[root@localhost root]# date [root@localhost root]# df [root@localhost root]# w
Seria melhor fazer um script chamado "sistema.sh" e colocar estes comandos nele. O conteúdo
do arquivo "sistema.sh" seria o seguinte:
#!/bin/bashdatedfw
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.
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
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
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 "~"
Leitura complementar
• http://www.vivaolinux.com.br/artigo/Introducao-ao-uso-de-Shell-Script?pagina=1• www.pdfqueen.com/pdf/pr/programação-shell-
linux/8/