1 gestão de redes corporativas: tecnologias e segurança administração de sistemas operacionais...

35
1 Gestão de Redes Corporativas: Gestão de Redes Corporativas: Tecnologias e Segurança Tecnologias e Segurança Administração de Sistemas Administração de Sistemas Operacionais Operacionais Vera Schuhmacher [email protected]

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

1

Gestão de Redes Corporativas: Gestão de Redes Corporativas: Tecnologias e Segurança Tecnologias e Segurança

Administração de Sistemas Administração de Sistemas OperacionaisOperacionais

Vera Schuhmacher – [email protected]

Page 2: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

2

GERENCIAMENTO DE PROCESSOS

Um processo pode ser considerado um programa em execução. Um processo é formado por três partes, conhecidas como contexto de software, contexto de hardware e espaço de endereçamento, que juntas mantêm todas as informações necessárias à execução de um programa

____________-----------

Contexto de Software Contexto de

Hardware

Espaço de Endereçamento

Page 3: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

3

GERENCIAMENTO DE PROCESSOS

•O processo é criado por meio da system call fork()•O processo é formado por duas estruturas de dados:

•Proc structure ( identificaçao, estado do processo, prioridade, área do usuário, endereço da área do usuáriom máscara de sinais, ponteiros para tabela de páginas)•User área (registradores, tabela de descritores de arquivos, contabilidade, informações sobre system call corrente, tratadores de sinais)

•Existem vários tipos de processos no Linux:•processos interativos •processos em lote (batch) •Daemons

Page 4: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

4

GERENCIAMENTO DE PROCESSOS

Page 5: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

5

GERÊNCIA DO PROCESSADOR•O UNIX utiliza 2 tipos de política de escalonamento:

•Circular com prioridades•Por prioridades

•Prioridades de 0 a 127•Processos em modo usuário – 50 a 127•Processos em modo kernel – 0 a 49•O processo fica no processador no máximo uma fatia de tempo (10 a 100 milissegundos)•Finalizado seu quantum retorna ao final da fila associada a sua prioridade•O escalonador recalcula a prioridade de todos os processos no estado de pronto periodicamente - Prioridade =p_cpu+p_nice+base

•P_cpu (permite contabilizar o tempo de uso do processador, m´ximo de 127)•P_nice (assume valores de 0 a 39, default 20. Quanto maior o valor menor a prioridde)•Base (associada ao tipo de evento que colocou o processo em estado de espera)

Page 6: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

6

GERÊNCIA DO PROCESSADOR• Políticas do escalonador linux:

•SCHED_FIFO – processos em tempo real. O descritor do processo é inserido no final da fila correspondente a sua prioridade. Executa até que:

•Um processo em tempo real de prioridade superior torne-se apto a executar•O process kibera espontaneamente o processador para processos de prioridade igual a sua•O processo termina ou bloqueia-se (E?S ou sincronização).

•SCHED_RR – O descritor do processo é inserido no final da fila correspondente a sua prioridade. Executa até que:

• seu quantum tenha se esgotado• Processo de orioridade superior torna-se apto• O process kibera espontaneamente o processador para processos de prioridade igual a sua•O processo termina ou bloqueia-se (E?S ou sincronização).

Page 7: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

7

GERÊNCIA DO PROCESSADOR• Políticas do escalonador linux:

•SCHED_OTHER – corresponde a um esquema de filas multinível de prioridades dinâmicas com timesharing. Nesta categoria recaem processo iterativos e batch.

Page 8: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

8

GERENCIAMENTO DE THREAD

• Podemos definir um thread como uma sub-rotina de um programa que

pode ser executado de forma assíncrona, paralelamente ao programa

chamador

• O processo neste ambiente tem no mínimo um thread de execução

mas pode compartilhar seu espaço de endereçamento com inúmeros

threads

• Em um ambiente multithread cada processo pode responder a várias

solicitações concorrentemente ou simultaneamente

• Cada thread possui seu contexto de hardware independente

• Entre threads não existe a preocupação de proteger o acesso a

memória, permitindo a alteração de dados entre threads

Page 9: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

9

GERENCIAMENTO DE THREAD

• Thread modo Usuário – TMU : são implementados pela aplicação e

não pelo S.O. Deve existir uma biblioteca de rotinas que possibilite

criação, termino, troca de mensagens e a política de escalonamento.

•Thread Modo kernel – TMK : são implementados direto pelo núcleo do

S.O. Por meio de chamdas a rotinas do sistema que oferecem todas as

operações de sincronização e gerenciamento.

•Threads em modo híbrido : combina as vantagen de threads

implementados em TMU e TMK Um processo pode ter vários TMK, e um

TMK pode ter vários TMU. O TMK pode ser escalonado individualmente,

o TMU pode ser executado por diferentes TMK´s.

Page 10: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

10

GERENCIAMENTO DE THREAD

Implementação Operação 1(ms) Operação 2(ms)

Subprocessos 11.300 1.840Threads modo kernel 948 441Threads modo usuário 34 37

Comparação tempos de latência (Anderson et al 1992)

AMbiente ArquiteturaCompaq Unix 5 Modo híbridoIBM AIX Modo kernelHP UX Modo usuárioLinux 2 Modo kernelSUn SOlaris Modo híbridoSUn OS Modo usuário

Arquitetura threads (Machado et al 2002)

Page 11: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

11

Tipos de Execução de processos

Primeiro Plano - Também chamado de foreground. Quando você deve esperar o término da execução de um programa para executar um novo comando. Segundo Plano - Também chamado de background. Quando você não precisa esperar o término da execução de um programa para executar um novo comando. Para iniciar um programa em primeiro plano, basta digitar seu nome normalmente. Para iniciar um programa em segundo plano, acrescente o caracter "&" após o final do comando.

$ find / -name boot.b &

Page 12: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

12

O comando ps permite visualizar os processos em execução.

ps [-opções]

COMANDO PS

$ ps$ ps -aux

a: Mostra os processos criados pelos usuários do sistema. x : Mostra processos que não são controlados pelo terminal. u: Mostra o nome de usuário que iniciou o processo e hora em que o processo foi iniciado. m: Mostra a memória ocupada por cada processo em execução. f: Mostra a árvore de execução de comandos e: Mostra variáveis de ambiente no momento da inicialização do processo.

Page 13: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

13

Mostra os programas em execução ativos, parados, tempo usado na CPU, detalhes sobre o uso da memória RAM, Swap, disponibilidade para execução de programas no sistema, etc.

top [opções]

COMANDO TOP

$ top

q - Sai do programa. k - Finaliza um processo -

Page 14: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

14

•Para parar a execução de um processo rodando em primeiro plano, basta pressionar as teclas CTRL+Z. O programa em execução será pausado e será mostrado o número de seu job e o aviso de comando. •Para retornar a execução de um comando pausado, use fg, ou bg. •O programa permanece na memória no ponto de processamento em que parou quando ele é interrompido.

fg - Permite fazer um programa rodando em segundo plano ou parado, rodar em

primeiro plano. fg [número] bg - Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Primeiro interrompa a execução do comando com CTRL+ Z, será mostrado o número da tarefa interrompida, use este número com o comando bg para iniciar a execução do comando em segundo plano.

bg [número]

COMANDO BG e FG

$ fg 1$ bg 1

Page 15: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

15

•O comando jobs mostra os processos que estão parados ou rodando em segundo plano. Processos em segundo plano são iniciados usando o símbolo "&" no final da linha de comandoPara retornar a execução de um comando pausado, use fg, ou bg.

jobs

COMANDO JOBS

$ jobs

Page 16: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

16

Permite enviar um sinal a um comando/programa. Caso seja usado sem parâmetros, o kill enviará um sinal de término ao processo sendo executado.

kill [opções] [sinal] [número]

Número - número de identificação do processo Sinal - sinal que será enviado ao processo. Se omitido usa -15 como padrão. Opções - -9 : Envia um sinal de destruição ao processo ou programa. Ele é terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporários criados por ele.

COMANDO KILL

$ kill 500$ kill -9 500$ kill %1.

Killall – mata processos pelo nomeKillall5 - Envia um sinal de finalização para todos os processos sendo executados.

Page 17: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

17

SINAIS DO SISTEMA

Sinal Valor Ação Comentário -------------------------------------------------------------------- HUP 1 A Travamento detectado no terminal de controle ou finalização do processo controlado INT 2 A Interrupção através do teclado QUIT 3 C Sair através do teclado ILL 4 C Instrução Ilegal ABRT 6 C Sinal de abortar enviado pela função abort FPE 8 C Exceção de ponto Flutuante KILL 9 AEF Sinal de destruição do processo SEGV 11 C Referência Inválida de memória PIPE 13 A Pipe Quebrado: escreveu para o pipe sem leitores ALRM 14 A Sinal do Temporizador da chamada do sistema alarm TERM 15 A Sinal de Término USR1 30,10,16 A Sinal definido pelo usuário 1 USR2 31,12,17 A Sinal definido pelo usuário 2 CHLD 20,17,18 B Processo filho parado ou terminado CONT 19,18,25 Continuar a execução, se interrompido STOP 17,19,23 DEF Interromper processo TSTP 18,20,24 D Interromper digitação no terminal TTIN 21,21,26 D Entrada do terminal para o processo em segundo plano TTOU 22,22,27 D Saída do terminal para o processo em segundo plano

A - A ação padrão é terminar o processo. B - A ação padrão é ignorar o sinal. C - A ação padrão é terminar o processo e mostrar o core. D - A ação padrão é parar o processo. E - O sinal não pode ser pego. F - O sinal não pode ser ignorado.

Page 18: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

18

Configura a prioridade da execução de um comando/programa.

nice [opções] [comando/programa]

-n :Configura a prioridade que o programa será executado. A prioridade de execução de um programa/comando pode ser ajustada de -19 (a mais alta) até 19 (a mais baixa).

COMANDO NICE

$ nice -n -19 find / -name apropos..

Page 19: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

19

Mostra estatísticas sobre o uso da memória virtual do sistema.

vmstat [intervalo] [contagem] Intervalo - Número especificado em segundos entre atualizações. Contagem - Número de vezes que será mostrado.

COMANDO VMSTAT

Page 20: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

20

Processosr - Número de processos aguardando execução. b - Número de processos em espera não interrompíveis. w - Número de processos extraídos do arquivo de troca ou caso contrário em execução. MemóriaSwpd - A quantidade de memória virtual usada em Kb. Free - Quantidade de memória livre em Kb. Buff - Quantidade de memória usada como buffer em Kb. Memória VirtualSi - Quantidade de memória gravada para o disco Kb/s. So- Quantidade de memória retirada do disco em Kb/s. Entrada/SaídaBi - Blocos enviados para um dispositivo de bloco (medido em blocos por segundo). Bo- Blocos recebidos de um dispositivo de bloco (em blocos por segundo). SistemaIn-Número de interrupções por segundo, incluindo o clock. cs-Número de mudanças de contexto por segundo. Porcentagem do total de tempo da CPUUs-Tempo do usuário sy*-Tempo do sistema Id-Tempo ocioso

COMANDO VMSTAT

Page 21: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

21

Mostra a estrutura de processos em execução no sistema em forma de árvore.

pstree [opções] [pid]

Pid - Número do processo que terá sua árvore listada. Se omitido, lista todos os processos.

COMANDO PSTREE

-c:Mostra toda a estrutura (inclusive sub-processos do processo pai). -G:Usa caracteres gráficos no desenho da árvore de processos. -h:Destaca o processo atual e seus antecessores. -H [pid]:Destaca o processo especificado. -u:Mostra também o dono do processo.

Page 22: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

22

Comandos utilizados na Gerência de Contas

Page 23: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

23

Adiciona um usuário ou grupo no sistema. Por padrão, quando um novo usuário é adicionado, é criado um grupo com o mesmo nome do usuário. Será criado um diretório home com o nome do usuário A identificação do usuário (UID) escolhida será a primeira disponível no sistema especificada de acordo com a faixa de UIDS de usuários permitidas no arquivo de configuração /etc/adduser.conf.

adduser [opções] [usuário/grupo]

COMANDO ADDUSER

-uid [num]:Cria um novo usuário com a identificação [num] ao invés de procurar o próximo UID disponível. -gid [num]:Faz com que o usuário seja parte do grupo [gid] ao invés de pertencer a um novo grupo que será criado com seu nome. Isto é útil caso deseje permitir que grupos de usuários possam ter acesso a arquivos comuns. -home [dir]:Usa o diretório [dir] para a criação do diretório home do usuário ao invés de usar o especificado no arquivo de configuração /etc/adduser.conf.

•Os dados do usuário são colocados no arquivo /etc/passwd após sua criação . Caso senhas ocultas (shadow passwords), serão colocadas no arquivo /etc/shadow e as senhas dos grupos no arquivo /etc/gshadow.

Page 24: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

24

Adiciona um novo grupo de usuários no sistema.

addgroup [usuário/grupo] [opções]

COMANDO ADDGROUP

Page 25: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

25

Muda a senha do usuário ou grupo.

passwd [usuário/grupo] [opções]

COMANDO PASSWD

-g:Se especificada, a senha do grupo será alterada. Somente o root ou o administrador do grupo pode alterar sua senha. A opção -r pode ser usada com esta para remover a senha do grupo. A opção -R pode ser usada para restringir o acesso do grupo para outros usuários. -x [dias]:Especifica o número máximo de dias que a senha poderá ser usada. Após terminar o prazo, a senha deverá ser modificada. -i:Desativa a conta caso o usuário não tenha alterado sua senha após o tempo especificado por -x. -w [num]:Número de dias antecedentes que o usuário receberá o alerta para mudar sua senha. O alerta ocorre [num] dias antes do limite da opção -x, avisando ao usuários quantos dias restam para a troca de sua senha. -l [nome]:Bloqueia a conta do usuário [nome]. Deve ser usada pelo root. O bloqueio da conta é feito acrescentando um caracter a senha para que não confira com a senha original. -u [nome]:Desbloqueia a conta de um usuário bloqueada com a opção -l. -S [nome]:Mostra o status da conta do usuário [nome]. A primeira parte é o nome do usuário seguido de L(conta bloqueada), NP(sem senha), ou P (com senha), a terceira parte é a data da última modificação da senha, a quarta parte é a período mínimo, máximo, alerta e o período de inatividade para a senha.

Page 26: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

26

Newgrp - Altera a identificação de grupo do usuário.

newgrp - [grupo]

Userdel - Apaga um usuário do sistema.

userdel [-r] [usuário]

-r - Apaga também o diretório HOME do usuário. Groupdel - Apaga um grupo do sistema.

groupdel [grupo]

COMANDO newgrp, userdel, groupdel

Page 27: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

27

Para incluir um novo grupo a um usuário:• Logar como root• editar o arquivo /etc/group. •Formato do arquivo: NomedoGrupo:senha:GID:usuários • para acrescentar o usuário "joao" ao grupo audio para ter acesso aos dispositivos de som do Linux, acrescente o nome no final da linha: "audio:x:100:joao".

audio:x:100:joaoestoque:x:101:ana,pauloFolha:x:102:carlos,palo,ana

NomedoGrupo:É o nome daquele grupo de usuários. Senha:Senha para ter acesso ao grupo. Caso esteja utilizando senhas ocultas para grupos, as senhas estarão em /etc/gshadow. GID:Identificação numérica do grupo de usuário. Usuarios:Lista de usuários que também fazem parte daquele grupo. Caso exista mais de um nome de usuário, eles devem estar separados por vírgula.

Novo Grupo a um Usuário

$ more /etc/groupaudio:x:100:joaoestoque:x:101:ana,pauloFolha:x:102:carlos,palo,ana

Page 28: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

28

Mostra o último login dos usuários cadastrados no sistema. Estes dados são obtidos através da pesquisa e formatação do arquivo /var/log/lastlog.

lastlog [opções]

COMANDO LASTLOG

-t [dias] - Mostra somente os usuários que se conectaram ao sistema nos últimos [dias]. -u [nome]-Mostra somente detalhes sobre o usuário [nome].

Page 29: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

29

Mostra uma listagem de entrada e saída de usuários no sistema.

•Nome do usuário •Terminal onde ocorreu a conexão/desconexão •O hostname (caso a conexão tenha ocorrido remotamente) ou console (caso tenha ocorrido localmente). •A data do login/logout, a hora do login/down se estiver fora do sistema/ still logged in se ainda estiver usando o sistema •Tempo (em Horas:Minutos) que esteve conectado ao sistema. •A listagem é mostrada em ordem inversa, ou seja, da data mais atual para a mais antiga. /var/log/wtmp.

COMANDO last

-a: Mostra o hostname na última coluna. Será muito útil se combinada com a opção -d. -d: Usa o DNS para resolver o IP de sistemas remotos para nomes DNS. -x: Mostra as entradas de desligamento do sistema e alterações do nível de execução do sistema. . O arquivo /var/log/wtmp somente é usado caso existir. Você pode cria-lo com o comando "echo -n >/var/log/wtmp" ou touch /var/log/wtmp.

Page 30: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

30

Page 31: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

31

IT GOES TO IT GOES TO CONTINUE ... CONTINUE ...

Page 32: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

32

Dicas

Os três sítios principais de Linux são:

• ftp.funet.fi (Finland, 128.214.6.100) : /pub/OS/Linux• sunsite.unc.edu (US, 152.2.22.81) : /pub/Linux• tsx-11.mit.edu (US, 18.172.1.2) : /pub/linux

• O melhor lugar para se pegar versões novas de kernels é ftp.cs.helsinki.fi

• em /pub/Software/Linux/Kernel Linus Torvalds disponibiliza as versões mais recentes do kernel.

• A distribuição Debian é disponível em ftp.debian.org e a distribuição Red Hat em ftp.redhat.com

Page 33: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

33

Listas recomendadas

Page 34: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

34

Webgrafia• Softpanorama Virtual Library - http://www.softpanorama.org/Scripting/shells.shtml • Unix System Administrator's Resources - http://www.stokely.com/unix.sysadm.resources/index.

html • Heiner's SHELLdorado - http://www.oase-shareware.org/shell/ • Metalab, UNC - http://metalab.unc.edu/ • Window Managers for X - http://www.PLiG.org/xwinman/ • TCL WWW Info - http://www.tnt.uni-hannover.de/soft/case/lang/tcl-tk/Tcl.html • The World-Wide Web Virtual Library: Tcl and Tk - http://cuiwww.unige.ch/eao/www/TclTk.html • The Perl Language Home Page - http://www.perl.com/perl/ • LinuxWorld - Putting Linux to Work - http://www.linuxworld.com/ • Linux Weekly News - http://lwn.net/ • Linux Gazette Front Page - http://www.ssc.com/lg/ • Slashdot:News for Nerds. Stuff that Matters. - http://cachedot.slashdot.org/ • Da Linux French Page! - http://linuxfr.org/news/ • Linux Today - http://linuxtoday.com/ • Freshmeat - http://freshmeat.net/ • linux.unicamp.br -- Traduções de Documentos para o Linux -

http://linux.unicamp.br/docs/index.html • LinUSP - Linux @ Universidade de São Paulo - http://linusp.usp.br/ • Linuxberg World Wide Affiliate Site Locations! - http://www.linuxberg.com/

Page 35: 1 Gestão de Redes Corporativas: Tecnologias e Segurança Administração de Sistemas Operacionais Vera Schuhmacher – shummy@unisul.br

35

O shell é o nome genérico de uma classe de programas que funcionam como interpretador de comandos e linguagem de scripting no Unix. Os shells mais populares são o bash, csh, tcsh, ksh, zsh.  Alguns shells

mais exóticos possuem interpretação de linguagem natural, emulação do command.com (MsDos) como o lsh, ou são formas simplificadas do bash para uso em discos de salvamento (rescue), como é o caso do

ash. curses e slang são bibliotecas que controlam posicionamento de cursor, desenho de gráficos com caracteres especiais, cores ou outros atributos

de caracteres nos terminais.