139166004-curso-red-hat
TRANSCRIPT
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 1/146
Linux System Administration
Sumario
Histórico.....................................................................................................................................................4
Distribuições mais conhecidas:............................................................................................................6
Instalação...................................................................................................................................................7
Passo 1) Boot com o cdrom de instalação............................................................................................8
Passo 2) Escolher o teclado..................................................................................................................8
Passo 4) Particionar o disco rí gido.....................................................................................................10
Motivos para particionamento:......................................................................................................10
Passo 6) Formatando as partições de SWAP......................................................................................15
Passo 7) Formatando as outras partições............................................................................................17Passo 8) Definindo a mí dia que contém os arquivos de instalação....................................................18
Passo 9) Escolhendo os pacotes que serão instalados........................................................................19
Passo 10) Escolha do local do kernel..................................................................................................21
Passo 11) Geração do disco de boot...................................................................................................22
Passo 12) Configuração do modem....................................................................................................22
Passo 14) Configuração do LILO.......................................................................................................23
Passo 15) Configuração do Mouse.....................................................................................................24
Passo 16) Configuração da Rede........................................................................................................25
Passo 17) Confirmação das configurações de Rede...........................................................................26
Passo 19) Configuração prévia de fonte.............................................................................................27Passo 20) Escolha do tipo de atualização do relógio da máquina.....................................................28
Passo 22) Definir a senha do Administrador do sistema (root).........................................................28
Passo 23) Finalizando a instalação.....................................................................................................29
Iniciando o Sistema Operacional.............................................................................................................30
Comandos Básicos..............................................................................................................................30
Mostrar o diretório atual................................................................................................................31
Entrar/Sair de diretórios.................................................................................................................31
Criando Diretórios..........................................................................................................................31
Copiando Arquivos e Diretórios....................................................................................................31
Criando Arquivos Vazios...............................................................................................................32Removendo Diretórios...................................................................................................................32
Removendo Arquivos e Diretórios................................................................................................33
Movendo/Renomeando Arquivos e Diretórios..............................................................................33
Comando tail..................................................................................................................................34
Comando cat..................................................................................................................................34
Comando sort.................................................................................................................................34
Comando grep................................................................................................................................34
Comandos de Paginação................................................................................................................35
Comando more...............................................................................................................................35
Comando less.................................................................................................................................35
Desligando o Sistema Operacional Linux.....................................................................................36
Seja um Profissional Aprendendo com Profissionais 1
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 2/146
Linux System Administration
Reiniciando o Sistema Operacional Linux....................................................................................36
Redirecionamento de Entrada e Saida.....................................................................................................36
Redirecionamento de Saí da................................................................................................................38
Redirecionamento de Entrada.............................................................................................................38
Comando sort ................................................................................................................................39
Pipe......................................................................................................................................................39
Metacaracteres....................................................................................................................................40
Estrutura de Diretórios............................................................................................................................42
Dispositivos.............................................................................................................................................43
Consoles Virtuais.....................................................................................................................................45
Editores de Texto.....................................................................................................................................45
Mtools......................................................................................................................................................47
Paginas de Manuais.................................................................................................................................49
Criando Links..........................................................................................................................................49Comandos de Busca................................................................................................................................50
Compactação de Arquivos.......................................................................................................................51
gzip: ....................................................................................................................................................51
bzip2: ..................................................................................................................................................51
compress: ...........................................................................................................................................52
Empacotamento.......................................................................................................................................52
zip: ......................................................................................................................................................52
tar: ......................................................................................................................................................53
Montagem de Dispositivos......................................................................................................................54
Fdisk.........................................................................................................................................................55Gerenciamento de Contas de Usuários...................................................................................................57
Criar / Alterando Senha De Usuário..................................................................................................57
Deletando Usuários.............................................................................................................................58
Adicionando Grupos No Sistema.......................................................................................................58
Mudando o dono de arquivos e diretórios..........................................................................................59
Mudando o grupo de arquivos e diretórios.........................................................................................59
Mudando dono e grupo ao mesmo tempo..........................................................................................59
Permissões de Arquivos e Diretórios.......................................................................................................61
Padrão De Criação..............................................................................................................................62
Gerenciamento de Pacotes RPM.............................................................................................................67
Pacotes TGZ no Slackware......................................................................................................................71
Gerenciamento de Processos...................................................................................................................73
Processo de Inicialização da Máquina.....................................................................................................76
Instalação e configuração do Gestor de Iní cio LILO..............................................................................78
Passando parâmetros para o kernel através do lilo..................................................................................80
Configurações de Segurança...................................................................................................................80
O processo INIT na inicialização do sistema..........................................................................................83
Ní veis de execução ( Runlevel )..........................................................................................................83
Comunicando com o processo INIT
.............................................................................................................................................................85
Outras funções do INIT......................................................................................................................86
Seja um Profissional Aprendendo com Profissionais 2
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 3/146
Linux System Administration
O Arquivo /etc/inittab.........................................................................................................................86
O diretório /etc/rc.d/............................................................................................................................89
Arquivo /etc/issue....................................................................................................................................90
Arquivo /etc/nologin................................................................................................................................90
Arquivo /etc/motd....................................................................................................................................91
Arquivo /etc/securetty..............................................................................................................................91
Comando su.............................................................................................................................................93
Inicialização de Serviços.........................................................................................................................94
O Arquivo /etc/login.defs........................................................................................................................95
Programação Shell...................................................................................................................................96
Programando no Linux .......................................................................................................96
Tipos de interpretadores.......................................................................................................96
Um Script simples ...............................................................................................................97
Utilizando o comando bash................................................................................................................98Sintaxe................................................................................................................................100
Tipos de Variáveis ............................................................................................................................100
Acessando variáveis..........................................................................................................................101
Comando echo ...................................................................................................................101
Caractere de escape...........................................................................................................................102
Passagem de parâmetros...................................................................................................................103
Parâmetro.................................................................................................................................103
Leitura de teclado e variáveis ..........................................................................................................103
Estruturas de Decisão (if).................................................................................................................104
Comando exit....................................................................................................................................106Operadores de comparação...............................................................................................................106
Condição case...................................................................................................................................108
Gerenciamento de Arquivos de LOG.....................................................................................................111
Formatos de arquivos de logs............................................................................................................111
Gerando LOGs..................................................................................................................................111
O Daemon Syslogd...........................................................................................................................112
O Daemon Klogd..............................................................................................................................112
Os principais diretórios e arquivos de log..........................................................................112
Controle de cotas de disco.....................................................................................................................114
Verificando suporte a cota................................................................................................................114
Habilitando quota em uma partição..................................................................................................115
Configurando quota de disco............................................................................................................115
Gerenciando quotas ..........................................................................................................................118
Definindo quota para usuários..........................................................................................................118
Definindo quotas para grupo............................................................................................................122
Agendador de Tarefas............................................................................................................................124
CRON.....................................................................................................................................................124
Arquivos de configuração ................................................................................................................125
Crontab .............................................................................................................................................127
Controlando o acesso cron................................................................................................................129
Seja um Profissional Aprendendo com Profissionais 3
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 4/146
Linux System Administration
Anacron ( Para RedHat )...................................................................................................................130
Configuração dos Dispositivos de Hardware........................................................................................132
Configurando impressora com CUPS...................................................................................................132
Configuração Básica do Servidor NFS ................................................................................................135
Habilitando o acesso remoto via SSH (passo-a-passo).........................................................................138
Compilação do Kernel...........................................................................................................................140
Módulos.............................................................................................................................................140
Configuração GRUB (Isto é apenas um exemplo):..........................................................................145
Configuração do LILO (Isto é apenas um exemplo):.......................................................................146
Seja um Profissional Aprendendo com Profissionais 4
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 5/146
Linux System Administration
Histórico
Em 1965, algumas empresas se uniram (Laboratórios Bell da AT&T, General Eletric e MIT)
para desenvolver um novo sistema operacional chamado MULTICS, que se propunha a oferecer
serviços de time-sharing (Tempo Compartilhado) para uso geral.
Time-sharing: É quando todo processamento e feito por um computador central, cujo tempo de
processamento é então compartilhado pelos vários usuários.
Devido às dificuldades que se encontraram na construção do MULTICS, que se mostrou um
sistema muito grande, complexo e exigia recursos demais para os computadores da época, a AT&T,
acabou se retirando do projeto, 1969, para que mais tarde alguns membros da empresa, liderado por
Ken Thompson, aproveitando a experiência ganha na construção do MULTICS, começaram a
trabalhar por conta própria num sistema menos robusto, que acabou resultando no UNIX.
A primeira versão do UNIX foi desenvolvida para um computador PDP-7 e foi totalmente
escrita em linguagem assembly, em 1971 foi escrito para um PDP-11 e já em 1973 foi reescrito para
linguagem C pelo criador da linguagem, DENIS RITCHIE.
Devido ao fato do UNIX, de estar escrito numa linguagem de alto ní vel, O uso do UNIXdentro do LAB. BELL foi crescendo tanto, que acabou sendo criado um grupo de suporte interno ao
sistema. Nessa mesma época a AT&T fornecia cópias do código fonte as universidades para fins
educacionais.
Com o fornecimento do código fonte, várias corporações modificaram o UNIX de acordo com
suas necessidades e lançaram sua própria versão.
Em 1980, a Universidade da Calif órnia em Berkely foi financiada pelo Departamento de
Defesa para desenvolver uma versão de UNIX voltada para os novos sistemas de computação
distribuí da que resultou no sistema BSD,nesta época a Microsoft lançou o XENIX, baseada em micro
computadores compatí veis com o IBM PC. A Sun Microsystem desenvolveu o SunOS, que
introduziu o conceito de Network File System, NFS, que possibilita o compartilhamento de arquivos
por máquinas ligadas em rede local.
No iní cio dos anos 90, um aluno de ciência da computação, Linus Torvalds, se propôs a
desenvolver sistema operacional, melhor que o S.O. que ele utilizava na faculdade, MINIX, construí do
por Andew Tanembaum para fins didáticos. Melhor porque o SO proposto por ele utilizaria das
Seja um Profissional Aprendendo com Profissionais 5
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 6/146
Linux System Administration
facilidades do modo protegido (como multitarefa e memória virtual) também o SO proposto não
carregaria todos os seus dispositivos em memória, visto que existe a necessidade apenas quando na
sua utilização.
Esse sistema, batizado de LINUX e evoluiu para uma versão de UNIX sendo distribuí do pela
rede na modalidade free e open source (código aberto), na qual tanto o código executável quanto o
código fonte podem ser baixados e distribuí dos gratuitamente pela internet. Com isso, o LINUX se
disseminou rapidamente e hoje ocupa uma fatia considerável das grandes e médias corporações em
todo mundo além de surgir várias versões do sistema (distribuições).
Existem grupos de pessoas, empresas e organizações que decidem criar sua própria
distribuição. O que é uma distribuição? É o Kernel do Linux junto com outros programas essenciais
(como por exemplo, editores gráficos, planilhas, bancos de dados, ambientes de programação,
formatação de documentos, Jogos, etc).
Cada distribuição tem suas próprias caracterí sticas de: como o sistema é instalado, o seu
objetivo, a localização dos programas, nomes de arquivos de configuração, etc. E cabe o
desenvolvedor da distribuição dizer que ela é ou não open source. Mas pra um sistema ser comercial,
ele tem que sofrer mudanças gigantescas, devido o grande numero de distribuições open sourcedistribuidas pelo mundo.
Distribui ções mais conhecidas:
Slackware – USA
Debian - USA
Suse - EUROPA (distribuição comercializada - voltada para o mercado corporativo)
Mandrake - USA (muito recurso gráfico)
Red Hat -USA (comercializada)
Conectiva - BRASIL
Ocean Pacific - ASIÁTICA
Yellow Dog
Kurumin - (distribuição que roda em CD) Caldeira – USA
Seja um Profissional Aprendendo com Profissionais 6
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 7/146
Linux System Administration
Fedora - (versão do RedHat 9)
Mandriva - ( Conectiva com Mandrake )
Algumas Caracterí sticas do Linux:
É livre, e desenvolvido voluntariamente por programadores com o objetivo de contribuição para a
melhoria e crescimento deste sistema operacional;
Convivem sem nenhum tipo de conflito com outros sistemas operacionais (como o DOS, Windows,
OS/2) no mesmo computador;
Multitarefa Real (Várias tarefas rodando ao mesmo tempo);
Multiusuário (Vários usuários logados simultaneamente no sistema);
Suporte a nomes extensos de arquivos e diretórios (suporta até 255 caracteres);
Não há a necessidade de se reiniciar o sistema após a modificação das configurações;
Não é requerida uma licença para seu uso;
Suporta vários sistemas de arquivos (EXT/2/3, NTFS, FAT/16/32, MINIX, etc...);
Roda aplicações DOS e Windows através de emuladores (DOSEMU, WINE);
Vários servidores (WEB, E-MAIL, FTP, SAMBA, DNS, etc..) podem estar localizados no mesmo
computador.
Seja um Profissional Aprendendo com Profissionais 7
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 8/146
Linux System Administration
Instalação
A instalação pode ser feita de diversas formas
− CDROM;
− HD;
− REDE (utilizando protocolos);
− NFS (Network File System);
− SAMBA (integra maquinas windows);
−
HTTP(faz a transferencia de arquivos pelo browser)− FTP (Faz transferencia de arquivos mais eficiente e mais rápida)
Reiniciar a máquina, entrar no SETUP, mudar o primeiro boot da maquina para CDROM, salvar e
sair.
NOTA: Estes passos de instalaçã o, sã o exclusivos para a distribuiçã o Slackware.
Passo 1) Boot com o cdrom de instala çã o
Ao inserir o disco de boot no cdrom, selecione a opção da BIOS para boot através da unidade
de CDROM. Ao iniciar o sistema, a tela de boot do slackware irá solicitar a forma de inicializar o
sistema. Neste caso basta pressionar <enter> .
Seja um Profissional Aprendendo com Profissionais 8
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 9/146
Linux System Administration
Passo 2) Escolher o teclado
Após pressionar <enter> e definir qual o kernel será inicializado, será disponibilizada uma tela
onde deve-se definir qual o layout de teclado será utilizado. Neste caso basta digitar <1> e pressionar
a tecla <enter>.
Na próxima tela foi escolhido o teclado abnt2 com acentos. Após a escolha do teclado, será
disponibilizada uma janela para teste do teclado. Caso o teclado esteja correto, basta digitar <1> e
pressionar <enter>. Caso o teclado escolhido não seja o ideal, pressione <2> e <enter> e retorne para
a tela de escolha de teclados.
Seja um Profissional Aprendendo com Profissionais 9
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 10/146
Linux System Administration
Passo 3) Logar no sistema
Após a escolha do teclado, será solicitado um login de usuário para continuar a instalação do
sistema operacional. Neste caso basta digitar root e pressionar <enter>.
Passo 4) Particionar o disco rí gido
Motivos para particionamento:
Segurança: Existem opções que determinam os modos de funcionamento do sistema de arquivos, e
conseqüentemente o que é possí vel fazer com os dados lá gravados. Diretórios contendo arquivos do
sistema, podem em grande parte funcionar em um modo que permite apenas leitura, evitando
destruição do sistema até mesmo por usuários privilegiados. Outros diretórios, como o responsável
pela inicialização do sistema, não precisam nem mesmo estar disponí vel aos usuários. A separação
destes diretórios em partições separadas garante este ní vel extra de controle e segurança.
Espaço em disco: O funcionamento normal de um sistema Linux depende de uma certa quantidade
livre de espaço em disco. Imagine que um determinado processo, ou usuário, fora de controle, comece
a preencher o espaço disponí vel em disco. Esta simples ação colocaria a estabilidade do sistema em
Seja um Profissional Aprendendo com Profissionais 10
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 11/146
Linux System Administration
cheque. Ao dedicar uma partição para usuários ou determinados processos (que têem necessidades
legí timas de gravar dados), o sistema permaneceria sem modificações em uma situação igual à
apresentada primeiramente.
Velocidade: Caso seu sistema possua mais de um disco, a distribuição de diferentes áreas do sistema
entre os discos trará melhorias na performance do sistema. Imagine que você está iniciando
automaticamente um aplicativo (instalado em uma partição no primeiro disco) ao clicar sobre o í cone
de um documento (armazenado em uma outra partição, em um outro disco). O sistema consegue
enviar ordens de leitura de dados simultaneamente para os dois discos, que colocam o aplicativo e odocumento em memória em um tempo muito menor.
Proteção contra erros f í sicos: Danos f í sicos ao disco podem causar a corrupção do sistema de
arquivos como um todo, dificultando ou impossibilitando a leitura de todos os dados nele
armazenados. A separação de áreas em partições, e conseqüentemente em sistemas de arquivos
diferentes, diminui o estrago causado por um dano f í sico.
Após o login, devemos criar as partições para a instalação do nosso sistema. Neste servidor serão
criadas 5 partições, seguindo os seguintes passos:
a) acessar o disco
# fdisk /dev/hda
Seja um Profissional Aprendendo com Profissionais 11
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 12/146
Linux System Administration
b)criando novas partições
Command ( m for help ): n
c)definindo se a partição é primaria ou extendida. No nosso caso será primária. Para isto, basta digitar
<p>.
Command action
e extended
p primary partition ( 1-4 ):
Após escolher partição primária, será solicitado o número da partição. Neste caso devemos
digitar <1> para primeira partição.
Partition number ( 1-4 ):
d) definindo o tamanho da partição: logo após a escolha do número da partição, devemos definir qual
será o ponto inicial da partição. Neste caso basta pressionar <enter>.
Nota: Para as nossas instalações, o ponto inicial sempre será definido pressionando a tecla <enter>.
First cylinder (1-4870, default 1):
Devemos definir agora o ponto final da partição.
Last cylinder or +size ou +sizeM or +sizeK (1-4870, default 4870): +75M
e) criando partição extendida.
Command ( m for help ): n
Devemos digitar <e> e logo após <2> para indicar o número da partição extendida.
Command action
e extended
p primary partition ( 1-4 ):
Seja um Profissional Aprendendo com Profissionais 12
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 13/146
Linux System Administration
e
Partition number (1-4) : 2
First cylinder (10-4870, default 10):
Devemos pressionar <enter> para selecionar todo o restante do disco.
Last cylinder or +size ou +sizeM or +sizeK (10-4870, default 4870):
f) criando a segunda partição do sistema.
Command ( m for help ): n
Command action
l logical (1 or over):
p primary partition (1-4):
Devemos escolher <L> de lógica.
First cylinder (11-4870, default 4870):
Last cylinder or +size ou +sizeM or +sizeK (11-4870, default 4870):+256M
g) criando a terceira partição do sistema.
Command ( m for help ): n
Devemos escolher <L> de lógica.
Command action
l logical (2 or over):
p primary partition (1-4):
Devemos escolher <L> de lógica.
First cylinder (43-4870, default 4870):
Last cylinder or +size ou +sizeM or +sizeK (43-4870, default 4870):+256M
h) criando a quarta partição do sistema.
Command ( m for help ): n
Devemos escolher <L> de lógica.
Seja um Profissional Aprendendo com Profissionais 13
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 14/146
Linux System Administration
Command action
l logical (3 or over):
p primary partition (1-4):
Devemos escolher <L> de lógica.
First cylinder (75-4870, default 4870):
Last cylinder or +size ou +sizeM or +sizeK (75-4870, default 4870):+30000M
i) criando a quinta e última partição do sistema.
Command ( m for help ): n
Devemos escolher <L> de lógica.
Command action
l logical (4 or over):
p primary partition (1-4):
Devemos escolher <L> de lógica.
First cylinder (3723-4870, default 4870):
Devemos pressionar <enter> para selecionar todo o restante do disco. Last cylinder or +size ou +sizeM or +sizeK (3722-4870, default 4870):
Após finalizar as partições, devemos escolher tipo do sistema de arquivos. Neste caso iremos
mudar o sistema das partições 5 e 6 para swap.
Definindo o tipo da partição 5.
Command ( m for help ): t
Partition number(1-8): 5
Hex code (type L to list codes): 82
Definindo o tipo da partição 6.
Command ( m for help ): t
Partition number(1-8): 6
Hex code (type L to list codes): 82
Seja um Profissional Aprendendo com Profissionais 14
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 15/146
Linux System Administration
Após todas as configurações podemos visualizar se esta tudo correto através da opção <p>
Command ( m for help ): p
Disk /dev/hda: 40.0 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 10 80293+ 83 Linux
/dev/hda2 11 4870 39037950 5 Extended
/dev/hda5 11 42 257008+ 82 Linux swap
/dev/hda6 43 74 257008+ 82 Linux
swap/dev/hda7 75 3722 29302528+ 83 Linux
/dev/hda8 3723 4870 9221278+ 83 Linux
j) Salvar todas as configurações.
Para salvar todas as configurações devemos escolher a opção <w>.
Command ( m for help ): w
Calling ioctl() to re-read partition table.
Syncing disks.
Passo 5) Iniciando a instala çã o atravé s do software de instala çã o do slackware
Devemos agora digitar <setup>, para iniciar o software de instalação.
Seja um Profissional Aprendendo com Profissionais 15
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 16/146
Linux System Administration
Passo 6) Formatando as parti ções de SWAP
Neste passo, escolha direto a 3ª opção ADDSWAP .
Após feita a escolha da partição confirme com <yes> a formatação das partições de SWAP.
Seja um Profissional Aprendendo com Profissionais 16
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 17/146
Linux System Administration
Passo 7) Formatando as outras parti ções.
Após o término da formatação das partições de SWAP, teremos que indicar em qual partição
devemos instalar a partição raiz ( / ). Neste caso devemos escolher a partição /dev/hda8.
Na próxima tela devemos confirmar se desejamos formatar a partição indicada. Devemos
confirmar pressionando <enter> .
A próxima tela solicita que nós indique-mos qual é o tipo de sistemas de arquivos que iremos
utilizar para esta partição. Neste caso vamos utilizar o sistema de arquivos ext3 .
Seja um Profissional Aprendendo com Profissionais 17
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 18/146
Linux System Administration
Após esta escolha uma tela com o tamanho dos blocos de alocação de arquivos será disponibilizada.
Devemos utilizar a opção de 4096 blocks.
Após a formatação da partição raiz, o software de instalação irá retornar a tela de escolha das
partições. Escolha a partição /dev/hda1 e defina como /boot ; partição /dev/hda7 e defina como /var .
Passo 8) Definindo a mí dia que conté m os arquivos de instala çã o.
Após a formatação de todas as partições o programa de instalação disponibilizada uma tela
onde devemos informar a fonte que contém os arquivos para instalação. Neste caso devemos escolher
a primeira opção.
Seja um Profissional Aprendendo com Profissionais 18
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 19/146
Linux System Administration
Logo após devemos definir se a busca pela mí dia é automática ou manual. Neste caso devemos
definir como manual.
Passo 9) Escolhendo os pacotes que ser ã o instalados
Após o sistema detectar os arquivos de instalação, será disponibilizada uma tela com os
aplicativos que podem ser instalados.
Seja um Profissional Aprendendo com Profissionais 19
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 20/146
Linux System Administration
Devemos escolher todos os pacotes dos grupos:
[A]: base do sistema linux
[D]: pacotes de desenvolvimento
[F]: pacotes com a listas de FAQ's
[K]: pacotes de desenvolvimento do Kernel
[KDE]: pacotes do ambiente gráfico KDE
[L]: pacotes com as bibliotecas
[N]: pacotes dos aplicativos de rede
Após a escolha dos pacotes, será disponibilizada uma tela com o tipo de instalação, escolha a
opção menu, e pressione <enter> nas próximas telas de confirmação e aguardar a cópia dos arquivos.
Seja um Profissional Aprendendo com Profissionais 20
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 21/146
Linux System Administration
Passo 10) Escolha do local do kernel
Após a instalação dos pacotes escolhidos, uma nova tela será disponibilizada para que possa-
mos informar qual a ordem de busca pelo kernel. Neste caso iremos escolher a última opção skip.
Seja um Profissional Aprendendo com Profissionais 21
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 22/146
Linux System Administration
Passo 11) Gera çã o do disco de boot
Nesta tela será questionado se desejamos criar um disco de boot. Neste caso não iremos criar
este disco de boot. Iremos escolher a opção skip.
Passo 12) Configura çã o do modem
Nesta tela é disponibilizada a configuração do modem, caso ele exista na máquina. No nosso
caso iremos marcar a opção no modem, pois não existe modem em nosso servidor.
Passo 13) Habilitar HotPlug
Nesta tela devemos informar se queremos que o sistema linux ao inicializar carregue os
dispositivos HotPlugs (dispositivos USB em geral). Neste caso, vamos marcar a opção <yes>.
Seja um Profissional Aprendendo com Profissionais 22
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 23/146
Linux System Administration
Passo 14) Configura çã o do LILO
A próxima tela de configuração é a do lilo, neste caso vamos marcar a opção simple.
Em seguida, uma tela de comandos especiais para o LILO será mostrada, neste nosso caso
vamos simplesmente confirmar com <enter>
Seja um Profissional Aprendendo com Profissionais 23
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 24/146
Linux System Administration
Após a escolha do lilo, uma nova tela mostra que devemos escolher onde o lilo dever ser
gravado. Iremos gravá-lo na MBR, para isto basta marcar a opção MBR.
Passo 15) Configura çã o do Mouse
Nesta opção devemos escolher o tipo do mouse utilizado. Podemos marcar a primeira opção,
mesmo não tendo um mouse presente em nossa máquina. Basta pressionar <enter> em ps2.
Seja um Profissional Aprendendo com Profissionais 24
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 25/146
Linux System Administration
Na próxima tela devemos configurar se o mouse será inicializado em modo texto. Neste caso
vamos marcar a opção yes.
Passo 16) Configura çã o da Rede
A próxima tela irá permitir que seja realizado a configuração da rede. Neste caso vamos
confirmar marcando a opção <yes>.
a) Na primeira opção iremos definir o nome da máquina. Nosso caso: server.
Seja um Profissional Aprendendo com Profissionais 25
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 26/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 27/146
Linux System Administration
Passo 18) Definindo os servi ç os que dever ã o ser carregados ao iniciar o sistema
Neste caso somente confirme com <enter>
Passo 19) Configura çã o prévia de fonte
Neste caso marque a opção <No>.
Seja um Profissional Aprendendo com Profissionais 27
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 28/146
Linux System Administration
Passo 20) Escolha do tipo de atualiza çã o do rel ó gio da m áquina
Neste caso vamos marcar <No> .
Passo 21) Escolha do Fuso Hor á rio
No nosso caso vamos escolher o América/São_Paulo e confirmar com <enter>
Passo 22) Definir a senha do Administrador do sistema (root)
Basta confirmar com <enter> para definir a senha do root.
Seja um Profissional Aprendendo com Profissionais 28
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 29/146
Linux System Administration
Passo 23) Finalizando a instala çã o
A instalação do Slackware-Linux foi finalizada, basta confirmar com <enter> e reiniciar o
sistema, digitando <ctrl>+<alt>+<del>, ou digitando reboot.
Seja um Profissional Aprendendo com Profissionais 29
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 30/146
Linux System Administration
Iniciando o Sistema Operacional
Para ter acesso ao sistema, entre com:
login: <informar um login do sistema>
password: <informar a senha do login>
Após o logon, o prompt de comandos é iniciado, e ficará aguardando por comandos digitados por nós
usuários, da seguinte forma:
[root@host /root]#Onde:
root: Mostra o usuário que está logado no sistema.
host: Mostra o nome da máquina.
/root: Indica o diretório atual .
#: Indica que é o super-usuário que está logado.
NOTA: Quando qualquer usuário comum está logado no sistema a sua indicação é o caractere “$” (além do nome de usuário) como
alternativa ao caractere ‘#’.
Comandos B á sicos
No linux, todos os comandos terão a seguinte forma:
[COMANDO] -[OPÇÕES] [PARAMETROS]
Listar conteúdo de diretórios
Sintaxe: ls [opção] [arquivo]
# ls -a: lista arquivos ocultos.
# ls -l: lista detalhadamente;
# ls -F: lista mostrando o tipo do arquivo
# ls -la: lista todo conteúdo do diretório no formato longo (detalhando).
Seja um Profissional Aprendendo com Profissionais 30
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 31/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 32/146
Linux System Administration
Sintaxe: cp [opção] <origem> <destino>
# cp /etc/passwd /root : copia o arquivo de senhas passwd para o dir. /root.
# cp /root/passwd /root/passwd.bkp : copia o arquivo passwd para passwd.bkp
# cp /etc/shadow /etc/group /tmp : copia os arquivos shadow e group para o dir.
/tmp.
# cp /etc/*.conf /tmp : copia todos arquivos com extensão .conf para /tmp.
# cp /etc/* /tmp : copia todos arquivos (não diretórios) para /tmp.
# cp -f /etc/* /tmp: copia todos arquivos com extensão .conf para /tmp. -f =
forca a cópia de arquivos. Não copia diretórios.
# cp -rf /etc/* /tmp: copia todo conteudo do diretório /etc para /tmp. -r =
cópia recursiva.
Incluir arquivos e diretórios
Criando Arquivos Vazios
Usado para criar arquivos de log (usado por aplicações), por exemplo.
Sintaxe: touch [arquivo] ou cat > [arquivo]
# touch ~/arquivo.txt
# cat > ~/teste.txt : Pressione Ctrl+D para salva e sair.
Removendo Diretórios
Sintaxe: rmdir [opção] <nome-diretório>
# rmdir 3way : remove a pasta 3way no diretório atual.
# rmdir /etc : Erro! diretório não vazio.
# rmdir p1/p2/p3/p4/ : Erro! é necessário uma opção.
# rmdir -p p1/p2/p3/p4/ : remove a árvores de diretórios na ordem p4/p3/p2/p1
-p: remove as pastas relacionadas.
# rmdir d1 d2 d3 : remove os diretórios d1, d2 e d3 do nível atual.
NOTA: O comando rmdir não é usado na pratica porque remove apenas diretórios vazios. Uma alternativa a este comando é a
utilização do comando rm, mostrado abaixo.
Seja um Profissional Aprendendo com Profissionais 32
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 33/146
Linux System Administration
Removendo Arquivos e Diretórios
Sintaxe: rm [opção] <arquivo/diretório>
# rm /tmp/*.conf : remove todos arquivos com extensão .conf do dir. /tmp.
Solicita confirmação.
# rm -f /tmp/*.conf : força a remoção de todos arquivos .conf do dir. /tmp. Não
solicita confirmação (-f).
# rm -rf /tmp/* : remove recursivamente (-r) todo o conteúdo de /tmp sem
confirmação (f).
CUIDADO! A utiliza çã o do comando rm com a op çã o -rf , pois geralmente é muito dificil realizar
a recupera çã o de arquivos no sistema Linux.
Movendo/Renomeando Arquivos e Diretórios
Sintaxe: mv <opção> <origem> <destino># mv ~/teste.txt /tmp : move o arquivo para o dir. /tmp. (~/ = indica o
diretório pessoal do usuário)
# mv /tmp/teste.txt ~/ : move o arquivo para o dir. pessoal do usuário (~/)
# mv /tmp/shadow . : move o arquivo para o dir. Atual (.)
# mv ~/arquivo.txt ~/arq.txt : renomeia o arquivo.txt para arq.txt
Visualização do conteúdo de arquivos
Comando head
visualiza as primeiras 10 linhas do arquivo, por padrão.
Sintaxe: head <opção> <arquivo>
# head /etc/passwd : mostra as 10 primeiras linhas do arquivo passwd por padrão.
# head -n20 /etc/passwd : mostra as 20 primeiras linhas do arquivo passwd.
Seja um Profissional Aprendendo com Profissionais 33
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 34/146
Linux System Administration
Comando tail
Visualiza as ultimas 10 linhas do arquivo, por padrão.
Sintaxe: tail <opção> <arquivo>
# tail /etc/passwd: mostra as 10 ultimas linhas do arquivo passwd por padrão.
# tail -n20 /etc/passwd: mostra as 20 primeiras linhas do arquivo passwd.
# tail -f /var/log/messages: fica lendo o arquivo ininterruptamente (-f). Usada
para arquivos de log.
Comando cat
Este comando pode ser utilizado para criar arquivos, mas ele também pode ser utilizado para mostrar
conteúdo de arquivos, veja no exemplo:
Sintaxe: cat <opção> <nome do arquivo>
# cat /etc/termcap: mostra o conteúdo do arquivo /etc/termcap.
# cat -n /etc/termcap: mostra o conteúdo e conta as linhas do arquivo incluindo
linhas em branco.
# cat -b /etc/termcap: idem ao anterior. Porém não conta linhas em branco do
arquivo.
Comando sort
Sintaxe: sort <opção> <arquivo>
# sort -d /etc/group : ordena as linhas do arquivo /etc/group na ordem de
dicionário. (a,b,c,d,...,aa,ab,ac...)
# sort -r /etc/group : ordena as linhas do arquivo /etc/group na ordem inversa
de dicionario. (z, x, v...;zz,zx,zv...)
Comando grep
Procura pela ocorrência de uma string no arquivo especificado
Sintaxe: grep <opção> <expressão> <arquivo>
# grep -in go cidades.txt : procura as linhas do arquivo que aparecem à
expressão ‘go’ e indica a linha que estes estão na tela.
-i = ignora a diferença de tamanho dos caracteres (g == G)
-v = mostra as linhas que não aparece a string
Seja um Profissional Aprendendo com Profissionais 34
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 35/146
Linux System Administration
-c = mostra o número de vezes que foi encontrada a expressão -n coloca o número da linha em
que foi encontrada a expressão.
No exemplo acima o arquivo cidades.txt existe e é buscado ocorrências da sí laba go dentro do arquivo.
Comandos de Paginação
Os comandos de paginação são necessários quando desejamos ler um determinado arquivo
pausadamente. São eles: more e less.
Comando more
# more /etc/termcap: mostra o conteúdo do arquivo termcap. O comando é finalizado automaticamente ao seu final.
Este comando possui vários recursos:
[enter]; anda linha a linha no arquivo;
[barra de espaço]: anda página a página no arquivo;
[h] ou [?] : visualiza o help;
[b]: retorna a tela anterior;
[q]: sai do paginador more.
Comando less
# less /etc/termcap : mostra o conteúdo do arquivo termcap. O comando não é
finalizado automaticamente ao seu final, para sair pressione <q>.
Este comando possui vários recursos:
[enter]; anda linha a linha no arquivo;
[barra de espaço]: anda página a página no arquivo;
[h] : visualiza o help;
[b]: retorna a tela anterior;
[q]: sai do paginador more.
/nome : busca a palavra nome no arquivo.
Seja um Profissional Aprendendo com Profissionais 35
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 36/146
Linux System Administration
Desligando o Sistema Operacional Linux
# halt: desliga o sistema imediatamente.
# shutdown -h now: desliga o sistema imediatamente. Envia uma mensagem pra todos
os usuários logados no sistema.
# shutdown -h 30 “Atenção: O Sistema será desligado dentro de 30 minutos!” :
envia a mensagem entre aspas duplas para todos usuários logados.
Reiniciando o Sistema Operacional Linux
# reboot: reinicia imediatamente.
# shutdown -r now: reinicia imediatamente. Envia uma mensagem pra todos os
usuários logados no sistema. (-r == reboot)
# shutdown -r 30 “Atenção: o Sistema será reiniciado dentro de 30 minutos”
# <Ctrl+Alt+Del>: reinicia o sistema. Essa opção pode ser desabilitada no
arquivo /etc/inittab.
Redirecionamento de Entrada e Saida
O computador é formado por diversos componentes, muitas vezes conhecidos como perif éricos, sendo
os seus principais o monitor e o teclado, que sem estes não teria saí da ou entrada, respectivamente,
para o sistema.
Estes dois componentes formam o principal meio de comunicação entre usuário e o computador, com
funções bem distintas entre eles. O teclado fornece a entrada de um determinado dado inicial para o
sistema, e o monitor a saí da da informação.
Existem outros meios de comunicação entre o usuário e o computador, mas estas são as principais,
podem servir de entrada de dados o mouse (em diversos programas, em maioria gráficos), scanner, a
rede, CD-ROM ou disquete, e como saí da (além do monitor) a impressora, a rede, CD-ROM ou
disquete, existem muitos outros tanto para a entrada quanto para a saí da, mas estes são os mais
Seja um Profissional Aprendendo com Profissionais 36
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 37/146
Linux System Administration
conhecidos.
Os sistemas UNIX, incluindo o Linux, lidam com 3 dispositivos básicos:
● Entrada padrão, também conhecido por STDIN
● Saí da padrão, também conhecido por STDOUT
● Saí da de erro padrão, também conhecido por STDERR
Os sistemas UNIX também possuem um conceito interessante, onde “tudo é um arquivo”. Este
conceito permite escrever em dispositivos externos exatamente da mesma maneira que se escreve em
arquivos. Conseqüentemente, os dispositivos básicos mencionados acima são também arquivos.
Programas UNIX, incluindo o shell, lidam com arquivos através de descriptores, números que
representam um determinado arquivo que está aberto para leitura e/ou escrita.
A entrada padrão, a saí da padrão e a saí da de erro padrão, também possuem estes descriptores. Segue
uma tabela com o resumo destes dispositivos, incluindo o número dos descriptores de arquivo.
Dispositivo Apelido Número do Descriptor
de Arquivo
Mapeado por Padrão
Para:
Entrada padrão STDIN 0 Teclado
Saí da padrão STDOUT 1 Monitor
Saí da de erro padrão STDERR 2 Monitor
O uso do redirecionamento é muito simples, enquanto que o monitor é a forma padrão de saí da de
informações, e o teclado a forma padrão de entrada, um outro arquivo ou dispositivo podem assumir o
papel destes dispositivos de entrada e saí da padrão.
Executar determinadas operações e direcionar o resultado para um arquivo pode ser bem mais
conveniente que ter que copiá-las manualmente da tela para um arquivo. O conteúdo destes arquivos
(o resultado gerado por determinado comando), pode então ser manipulado normalmente, sendo
Seja um Profissional Aprendendo com Profissionais 37
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 38/146
Linux System Administration
possí vel, por exemplo, a pesquisa de algum valor.
Redirecionamento de Saí da
Um exemplo de redirecionamento de saí da é utilizando o comando ls -la; este comando, por padrão,
lista todo conteúdo contidos dentro do diretório atual incluindo detalhes sobre cada arquivo ou
diretório e mostra o resultado na tela, certo? Ao invés de utilizarmos a saí da padrão, o monitor, do
comando ls –la, iremos utilizar um arquivo como alternativa. Para isso utilizamos o redirecionador de
saí da que é indicado com um sinal de maior que, >. Veja o exemplo:
# ls –la > saida.txt
Observe que, com a execução deste comando não apareceu nenhuma saí da no monitor, que é a saí da
padrão. Observe também que um arquivo com o nome saida.txt foi criada no diretório atual. Execute o
comando cat saida.txt, a saí da que era para aparecer na tela foi redirecionada para este arquivo.
Redirecionamento de Entrada
Antes de exemplificar um redirecionamento de entrada, vamos fazer o seguinte:
Crie um arquivo com o nome cidades.txt contendo o conteúdo: Goiânia, Anápolis, Damolândia, Nova
Era, Aparecida, Goianésia. Cada cidade em uma linha!
O arquivo deverá ficar da seguinte forma:
Goiânia
Anápolis
Damolândia
Nova Era
Aparecida
Seja um Profissional Aprendendo com Profissionais 38
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 39/146
Linux System Administration
Goianésia
Comando sort
Ordena as linhas do arquivo.
Execute e verifique a saí da do comando.
#sort cidades.txt
Após a visualização do comando acima, vamos ver um exemplo de redirecionamento de entrada. Para
isso, podemos utilizar como entrada o arquivo cidades.txt para a criação de um outro arquivo – de
saí da, por exemplo. O redirecionamento de entrada é indicado com um sinal de menor que, <.
Veja o exemplo:
# sort < cidades.txt > cidadessordenadas.txt
O comando acima recebe o arquivo cidades.txt como entrada e redireciona para um arquivo de saí da,
cidadesordenadas.txt.
Pipe
A idéia principal do uso do comando pipe ("|") é fazer com que os comandos trabalhem em conjunto.
Um comando trabalhando sozinho geralmente é limitado quanto sua funcionalidade, revelando uma
outra caracterí stica dos sistemas operacionais UNIX: “faça apenas uma coisa, mas faça-a bem”.
Os pipes facilitam o trabalho em equipe dos utilitários UNIX. Neste cenário, cada aplicativo executa
determinada operação no arquivo, e passa o resultado para o próximo utilitário. Pense em pipes como
uma linha de produção, onde as determinadas etapas são realizadas por diferentes utilitários UNIX.
Seja um Profissional Aprendendo com Profissionais 39
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 40/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 41/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 42/146
Linux System Administration
Estrutura de Diretórios
A estrutura de diretórios é organizada em forma de uma árvore, para uma melhor organização dos
arquivos de configuração do sistema e facilitar a busca dos mesmos. Cada diretório possui uma
finalidade, são elas:
/ : É o diretório raiz do sistema. Todos os outros diretórios estão abaixo dele. Os mais importantes são:
/bin: diretório que contém todos os comandos do sistema operacional, caso um comando não
funcione, seu arquivo não está no diretório ou o arquivo está corrompido ou ainda o comando só pode
ser executado somente pelo root.
/boot: É o diretório que contém o kernel e todos arquivos necessários para a inicialização.
/dev: diretório que contém todos os arquivos dos dispositivos de hardware do S.O (pl. de rede, ví deo,
hd, floppy, mouse, impressora, etc).
/etc: É o diretório que contém os arquivos de configuração local da máquina. Um administrador de
uma rede 90% do tempo ele estará neste diretório.
/home: É o diretório que contem as pastas de trabalho de todos usuários comuns do sistema.
/lib: diretório que contém as bibliotecas do sistemas operacional linux.
/mnt: diretório recomendado para a montagem dos dispositivos (floppy, cdrom, etc)
/opt: diretório recomendado para instalação de aplicativos. semelhante ao diretórios "Arquivos de
Programas" do Windows.
Seja um Profissional Aprendendo com Profissionais 42
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 43/146
Linux System Administration
/proc: diretório especial do linux. Nele, possui todos os processos em execução do sistema. Este
diretório fica armazenado somente memória volátio (RAM), não fisicamente no disco.
/root: É o diretório de trabalho do administrador do sistema (superusuário).
/sbin: diretório que contém as ferramentas de configuração do sistema. Ex.: fdisk (particionador), fsck
(scandisk), mkbootdisk (cria disco de boot), ifconfig (configura pl. de rede), lilo (gerencia ordem de
boot), lspci (lista os dispositivos de hardware detectados), etc.
/tmp: diretório que possui os arquivos temporários gerados pelas aplicações/utilitários.
/usr: diretório que contém os principais aplicativos do sistema (ambientes gráfico, jogos, etc).
semelhante a pasta "windows" do win98.
/var: possui os arquivos variáveis, que modificam com o passar do tempo (spool de impressão, arq. de
log, etc).
Dispositivos
Já verificamos que no diretório /dev possui todos os arquivos de configuração dos dispositivos de
hardware, mas caso precise configurar uma placa de rede, por exemplo, qual arquivo (dispositivo)
referenciar? Serão citados os principais arquivos de configuração dos dispositivos de hardware. São
eles:
Portas Seriais
Windows Linux
COM1 ttyS0
COM2 ttyS1
COM3 ttyS2
Seja um Profissional Aprendendo com Profissionais 43
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 44/146
Linux System Administration
Portas Paralelas
Windows Linux
LTP1 lp0
LTP2 lp1
Discos Flexí veis
Windows Linux
A: fd0
B: fd1
Hard Disk
Windows Linux
C: hda: master IDE1
D: hdb: slave IDE1
E: hdc: master IDE2
F: hdd: slave IDE2
Placa de Rede
Windows Linux
Ethernet Adapter 1 eth0
Ethernet Adapter 2 eth1
Ethernet Adapter 3 eth2
Seja um Profissional Aprendendo com Profissionais 44
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 45/146
Linux System Administration
Consoles Virtuais
Por ser um Sistema Operacional multiusuário e multitarefa, o linux trabalha com consoles virtuais,
que são nada mais que terminais de trabalho, seja ele gráfico ou texto. Por padrão, existem 6 consoles
texto, e 6 consoles gráficas, como mostra abaixo:
<F1> <F2> <F3> <F4> <F5> <F6> <F7> <F8> <F9> <F10> <F11> <F12>
|---------------------------------------------| |--------------------------------------------------|
Consoles Texto Consoles Gráficas
Para alternar entre as consoles, texto ou gráfica, basta pressionar simultaneamente as teclas
CTRL+ALT+Fx. Onde x é um número de 1 a 12, ou seja, F1 à F12.
Cada ambiente gráfico, possui outros sub-ambientes (4 precisametente), além de diversos shells
(xterm) que funciona como o prompt de comandos do windows. Ou seja, o linux simula o ambiente
texto através de prompt de comandos que se chama xterm (esse nome pode variar entre as
distribuições).
Para carregar um ambiente gráfico digite: startx. Se desejar carregar mais de 1 ambiente gráfico
digite: startx -- :2, caso seja o 2° ambiente gráfico; startx - - :3, caso seja o 3° e assim por diante.
Editores de Texto
No linux há vários editores de texto, entre eles estão:
JoeElvis
Emacs
mcedit
vi
Qual utilizar? Isso, você decide. O mais utilizado é o vi porque ele é mais rápido, eficiente e possui
vários recursos.
Seja um Profissional Aprendendo com Profissionais 45
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 46/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 47/146
Linux System Administration
10yy = copia as 10 primeiras linhas abaixo do cursor.
10dd = deleta as 10 primeiras linhas abaixo do cursor.
/3way = procura as ocorrências da palavra "3way" no texto.
n = procura novas ocorrências da palavra “3way” no texto..
:!comando = executa comandos dentro do vi. Ex.: :! ls /home
:50 = caminha para linha 50.
:1,n s/3way/3WAY = substitui todas as ocorrências da linha 1 a linha n a
palavra 3way por 3WAY.
:%s/Fone/Telefone = substitui todas as ocorrências da palavra Fone por
Telefone.
Mtools
Mtools são ferramentas DOS para UNIX. Só servem para manipulação de discos flexí veis. Para a
utilização dessa ferramenta o disco flexí vel não deve estar montado. Para visualizar os comandos
suportados pela ferramenta digite: mtools.
Os comandos mais utilizados são:
mtools: mostra quais os comandos existentes.
#mtools
mdir : lista o conteúdo do disco.
# mdir a: : lista o conteúdo do disquete.
mcopy : copia um conteúdo.
# mcopy /etc/passwd a: : copia o arquivo passwd para o disquete.
# mcopy a:\teste.txt /tmp/ : copia do disquete o arquivo teste.txt para o /tmp.
mdel : apaga arquivos dentro do disquete.
# mdel a:\teste.txt : apaga do a: o arquivo teste.txt
Seja um Profissional Aprendendo com Profissionais 47
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 48/146
Linux System Administration
mmd <nome-diretório> : cria diretórios dentro do disquete.
# mmd a:\3way : cria o diretório 3way no disquete.
mformat : formata o conteúdo do disquete.
# mformat a:
mdeltree : deleta arvore de diretórios.
# mdeltree 3way : apaga o diretório 3way e todo seu conteúdo.
mmove: move um arquivo do disquete.
# mmove a:\passwd a:\usuarios : move o arquivo “passwd” do disquete para
“usuarios”
mren : renomeia arquivos do disquete.
# mren usuarios passwd
mtype: visualiza o conteúdo de arquivo contidos no disquete.
# mtype a:\passwd : mostra o conteúdo do arquivo a:\passwd
Seja um Profissional Aprendendo com Profissionais 48
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 49/146
Linux System Administration
Paginas de Manuais
Permite obter informações sobre os comandos no linux. Representa uma ajuda importante para os
comandos.
Comando man
Sintaxe: man <comando> : manuais de informações sobre os comandos.
# man cp : mostra o manual do comando cp
Comando info
Sintaxe: info <comando> : mostra o manual eletronico de informações sobre o comando. (É mais
completo que os man's. Possui atualizações mais rescentes).
# info cp
Comando help
help : mostra uma ajuda do comando. Mostra somente as opções para o comando.
Sintaxe: <comando> --help
# cp -- help
Criando Links
Existem dois tipos de links: hard-link e simbolic link.
Hard-link: Ao criar um hard-link de um arquivo, o arquivo é copiado no diretório atual e a cada
modificação que é feita em um dos arquivos (original ou hard-link) será repercutida, também, no
arquivo oposto. Por exemplo: Se temos o arquivo /tmp/teste com o conteúdo “teste de hard-link”, e um
hard-link que aponte pra esse arquivo (que terá o mesmo conteúdo) qualquer modificação que ser
feita, tanto no arquivo teste como no hard-link serão repercutidas no arquivo oposto. Ou seja, se eu
abrir o arquivo /tmp/teste e acrescentar a frase
Seja um Profissional Aprendendo com Profissionais 49
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 50/146
Linux System Administration
“Ola mundo” e salvar, ao abrir o hard-link este terá o mesmo conteúdo que seria “teste de hard-link.
Ola Mundo”.
NOTA: Não é possí vel criar hard-links de diretórios, somente de arquivos!
Sintaxe do comando: ln <arquivo-original> <nome-do-hardlink>
# ln /tmp/teste hardlink-teste
Simbolic Link: Funciona como um atalho para o arquivo.
Sintaxe do comando: ln -s <arquivo-original> <nome-do-link>
# ln -s /tmp/teste atalho-teste-s : indica que é um link simbólico.
Comandos de Busca
Comando find : localiza strings no linux.
Sintaxe: find [diretório onde inicia a busca] <opção> [arquivo/diretório]
# find / -iname “*lilo.conf*” : busca uma string (name) (arquivo/diretório)
lilo.conf apartir do diretório raiz (/) do sistema. Ignorando o tamando
maiusculas e minúsculas (i).
-i : ignora maiusculas e minúsculas
name : indica que será buscado uma string.
# find / -iname “*lilo.conf*” > saida.txt : grava todas as saídas da busca
dentro arquivo “saida.txt”.
# find / -iname “*lilo.conf*” 2> erros.log : grava somente as saídas de erro
dentro do arquivo “erros.log”.
# find / -iname “*lilo.conf*” 1> validas.log : grava somente as saídas válidas
dentro do arquivo “validas.log”.
Comando whereis: localiza strings no linux.
Seja um Profissional Aprendendo com Profissionais 50
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 51/146
Linux System Administration
Sintaxe: whereis <palavra-a-ser-buscada>
# whereis passwd : localiza a string passwd no linux.
Comando locate/updatedb: O comando locate utiliza um banco de dados. Para se utilizar esse
comando é necessário estar atualizando seu banco com os novos arquivos/diretórios que foram
criados. Para isto deve-se executar o comando updatedb (como root)
#updatedb
Sintaxe: locate <palavra-a-ser-buscada>.
# locate passwd : localiza todas as strings que contenha a palavra passwd no
Banco de Dados.
Compactação de Arquivos
O linux possui diversos aplicativos para compressão de aquivos, sendo que cada um deles utiliza um
algoritmo diferente. Entre eles estão:
gzip:
O comando gzip é usado para compactar/descompactar arquivos. O arquivo original é substituí do por
um arquivo compactado com a extensão .gz
Sintaxe: gzip <opções> <arquivos> : compacta
gunzip <opções> <arquivos.gz> : descompacta
# gzip /tmp/termcap : o arquivo termcap será compactado.
# gunzip /tmp/termcap.gz : o arquivo termcap.gz será descompactado.
bzip2:
O comando bzip2 é usado para compactar/descompactar arquivos. O arquivo original é substituí do por
um arquivo compactado com a extensão .bz2
Seja um Profissional Aprendendo com Profissionais 51
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 52/146
Linux System Administration
Sintaxe: bzip2 <opções> <arquivos> : compacta
bunzip2 <opções> <arquivos.bz2> : descompacta
# bzip2 /tmp/termicap : O arquivo termcap será compactado.
# bunzip2 /tmp/termcap.bz2 : O arquivo termcap será descompactado.
compress:
O comando compress é usado para compactar/descompactar arquivos. O arquivo original é substituí do
por um arquivo compactado com a extensão .Z. A ferramenta gzip pode ser usada para descompactar
arquivos com esta extensão.
Sintaxe: compress <opções> <arquivos> : compacta
uncompress <opções> <arquivos.Z> : descompacta
# compress /tmp/shadow : Compacta o arquivo shadow.
# uncompress /tmp/shadow.Z : Descompadta o arquivo shadow.Z
Empacotamento
zip:
O comando zip é usado para compactar e empacotar arquivos. É útil para empacotamento de uma
série de arquivos para distribuição. Não substitui os arquivos originais após o empacotamento.
Sintaxe: zip <opções> <arquivo_zip> <arquivos>
unzip <opções> <arquivo_zip>
# zip arquivo.zip /tmp/* : empacota todos arquivos do /tmp para aquiivo.zip
# unzip arquivo.zip : desempacota o arquivo arquivos.zip
Seja um Profissional Aprendendo com Profissionais 52
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 53/146
Linux System Administration
tar:
Permite copiar arquivos e depois restaura-los, para efeito de backup de segurança e/ou transporte de
dados através de um meio f í sico (CD's, Floppy's, Fitas, etc...).
O comando tar permite que crie, atualize ou recupere backups.
Sintaxe: tar <opção> <arquivos>
# tar -cvf arquivo.tar /tmp/* : empacota os arquivos de /tmp.
c: cria um novo arquivo .tar
v: mostra o que está acontecendo na tela.
f: indica que o nome do aquivo será especificado (arquivo.tar)
# tar -tf arquivo.tar : lista todos os arquivos empacotados no arquivo .tar
t: lista arquivos empacotados
f: indica que será especificado o nome do arquivo.
# tar -rvf arquvo.tar teste.txt : acrescenta o arquivo teste.txt no aquivo
arquivo.tar
r: indica que será acrescentado um novo ao arquivo .tar.
v: mostra o que está acontecendo na tela.
f : indica que o nome do arquivo será indicado
# tar -xvf arquivo.tar : desempacota o arquivo.tar
x: indica que o arquivo será desempacotado.
# tar -cvfz arquivo.tar.gz /tmp/* : empacota e compacta todos os arquivos do
diretório /tmp e cria um arquivo.tar.gz. Utiliza o gzip para a compactação dos
arquivos.
z: compacta o arquivo.tar com gzip (.gz).
# tar -xvfz arquivo.tar.gz : descompacta e desempacota o arquivo.tar.gz
x: indica que o arquivo será desempacotado.
z: Indica que o arquivo está compactado com gzip
# tar -cvfj arquivo.tar.bz2 /tmp/* : empacota e compacta todos os arquivos do
Seja um Profissional Aprendendo com Profissionais 53
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 54/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 55/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 56/146
Linux System Administration
Quando aparecer à linha “comando (m para ajuda):” significa que o comando foi executado com
sucesso e o fdisk está aberto, podendo agora utilizar as funcionalidades do fdisk.
Pressione a tecla <m>, logo após pressione <enter> pra visualizar as opções do fdisk.
comando (m para ajuda): m
Comando A ção
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
a alterna as opções de boot em cada partição.
d deleta uma partição.
l lista os tipos conhecidos de partições
m visualização do help.
n cria uma nova partição.
p = partição prim ária.
e = partição estendida.
l = lógica.
p lista a tabela de partições existentes.q sai do fdisk sem salvar
t muda a identificação de uma partição no sistema.
u modifica a identificação das unidades.
v faz verificação da tabela de partições
w grava as modificações e sai.
Vamos criar algumas partições. Para isso pressione a tela <n> de “new” para criar uma nova partição
no dispositivo fd0.
comando (m para ajuda): n
Comando - ação
e estendida
p partição prim ária (1-4)
p
Número da partição (1-4): 1 (1° partição que estamos criando)
Seja um Profissional Aprendendo com Profissionais 56
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 57/146
Linux System Administration
Escolha o cilindro de inicio (1-80): <enter> seleciona o 1° cilindro.
Escolha o ultimo cilindro (1-80): +100K <enter> (“K” em maiúsculo)
Pressione p de “print” para visualizar as partições criadas.
Para criar outras partições repita o processo acima, lembrando que só podem ser criadas, no máximo,
4 partições no dispositivo se estas forem do tipo primária. Para criar mais de 4 partições, crie uma
partição estendida e dentro dela crie n partições lógicas, sendo n <=12 quando o dispositivo for o HD.
Gerenciamento de Contas de Usuários
O linux é um S.O. Multiusuário, portanto, é necessário que todos os usuários sejam cadastrados no
sistema.
Criando Usuários
Sintaxe: useradd <nome-do-usuário> ou adduser
#useradd aluno
Ao executar o comando, vários arquivos são manipulados ou utilizados. São eles:
1- O usuário é adicionado no arquivo /etc/passwd, /etc/shadow e /etc/group.
2- É criado seu diretório pessoal /home/aluno com suas permissões de acesso (drwx------)
3- São copiados alguns arquivos do /etc/skel/ : .bashrc, .bash_profile, .bash_logout, para
/home/aluno.
Obs.: Ainda o usuário “aluno” não pode logar no sistema. O usuário não possui senha!
Criar / Alterando Senha De Usu á rio
Sintaxe: passwd <nome-do-usuário>
#passwd aluno
Ao executar o comando será pedido para que o usuário entre com a senha 2 vezes. Logo após a senha
é criptografada e inserida no arquivo /etc/shadow.
Para um usuário comum alterar sua senha basta efetuar o logon no sistema e digitar o comando
Seja um Profissional Aprendendo com Profissionais 57
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 58/146
Linux System Administration
passwd, sem nenhum parâmetro.
Apenas o root pode executar o comando passwd <parâmetro>, onde parâmetro é o nome do usuário
que o root deseja alterar a senha.
Deletando Usu á rios
Sintaxe: userdel <opção> <nome-do-usuário>
# userdel aluno
Este comando deleta as entradas nos arquivos /etc/passwd, /etc/shadow e /etc/group. Este comando
não deleta a pasta pessoal do usuário /home/aluno.
# userdel -r aluno
Este comando deleta as entradas nos arquivos /etc/passwd, /etc/shadow e /etc/group também remove
toda seu diretório de trabalho recursivamente. (rm -rf /home/aluno)
Adicionando Grupos No Sistema
Maneira utilizada pelo administrador do sistema para definir perfis semelhantes entre os usuários
cadastrados no sistema.
Sintaxe: groupadd <opção> <nome-do-grupo>
# groupadd cpd :Cria o grupo cpd no sistema, desde que ele não exista.
# groupadd -f cpd :Cria o grupo cpd forçadamente mesmo que ele já exista no
sistema.
Ao executar o comando groupadd este insere a entrada do novo grupo dentro do arquivo /etc/group.
Para visualizar digite: cat /etc/group.
Exemplo do conteúdo deste arquivo:
Seja um Profissional Aprendendo com Profissionais 58
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 59/146
Linux System Administration
...
cpd:x:507:
srh:x:508:...
Para indicar que os usuários pertencem a tal grupo, basta inserir no final da linha relativa ao grupo o
nome dos usuários separados por virgula. Ex:
...
cpd:x:507:fulano, beltrano,maria, joao, rafael
srh:x:508: junior, jorge, claudio, jose
...
Mudando o dono de arquivos e diret ó rios
Sintaxe do comando: chown <opção> <novo-dono> <arquivo/diretório>
#chown fulano arquivo.txt : muda o dono do arquivo para fulano.
#chown beltrano diretorio/ : muda o dono do diretório para beltrano.
#chown -R beltrano diretorio/ : muda o dono da arvore de diretório
(recursivamente) para beltrano.
Mudando o grupo de arquivos e diret ó rios
Sintaxe do comando: chgrp <opção> <arquivo/diretório>
#chgrp cpd arquivo.txt : muda o grupo do arquivo para cpd.
#chgrp srh diretorio-srh/ : muda o grupo da pasta dretório-srh para srh.
#chgrp -R cpd diretorio-cpd/ : muda toda arvore do diretorio-cpd para cpd
recursivamente.
Mudando dono e grupo ao mesmo tempo
Sintaxe do comando: chown <novo-dono> <:novo-grupo> <arquivo/diretório>
# chown fulano:cpd arquivo.txt
# chown beltrano:srh diretorio-srh/
Seja um Profissional Aprendendo com Profissionais 59
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 60/146
Linux System Administration
# chown -R rafael:cpd diretorio-cpd/
Verificando Informa ções dos Usu á rios
Comando id
Sintaxe: id <opção> <nome-do-usuário>
# id aluno : mostra informações do usuário (UID, GID, Grupos que pertence)
Comando fingerSintaxe do comando: finger <opção> <nome-do-usuário>
# finger aluno : mostra informações do usuário (Login, Nome, Diretório Pessoal,
Shell)
Seja um Profissional Aprendendo com Profissionais 60
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 61/146
Linux System Administration
Permissões de Arquivos e Diretórios
A respeito deste assunto, devemos saber que:
• O root tem permissões para acessar/modificar qualquer diretório ou arquivo no linux.
• Cada arquivo ou diretório no linux está associado a um dono e um grupo com suas
respectivas permissões de acesso (r,w,x).
Para visualizar as permissões de um arquivo ou diretório no linux, o melhor comando para se digitar é
o comando ls -l.
# ls -l- rw- r - - r - - L/SD D G T M/D H arquivo/diretório
0123 456 78 9
Onde:
0: Indica o tipo do arquivo. Se “-” é um arquivo comum. Se “d” é um diretório.
123: indica as permissões do dono do arquivo (D)
456: indica as permissões do grupo do arquivo (G).
789: indica as permissões dos outros usuários do sistema.
L/SD: se L indica o número de links que apontam para o arquivo se SD indica o número de
sub-diretórios dentro do diretório.
D: indica o dono do arquivo.
G: indica o grupo do arquivo.
M/D: Indica o Mês e Dia que o arquivo/diretório foi criado/modificado.
H: indica hora de criação do arquivo/diretório.
Arquivo/diretório: nome do arquivo/diretório.
Os modos de acesso de arquivos e diretórios são interpretados de maneira diferente. Veja a tabela
abaixo:
Seja um Profissional Aprendendo com Profissionais 61
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 62/146
Linux System Administration
Modos de Acesso Arquivos Diretórios
r Pode ler o conteúdo do arquivo Pode visualizar o conteúdo do
diretório.
w Pode editar o arquivo Pode modificar o conteúdo do
diretório
x Pode executar o arquivo Pode entrar no diretório
Padr ã o De Cria çã o
Todo arquivo/diretórios no linux possui um padrão de criação, que é chamado de umask. Para saber o
padrão de criação de seus arquivos digite: umask e pressione enter. Veremos que o padrão de criação é
0022 (ignore o primeiro zero). Isso indica que as permissões iniciais serão: -rw-r--r-- para arquivos e
drwx-r-xr-x para diretórios – será tratado mais a frente o padrão de criação umask.
Para termos certeza disso, vamos criar um arquivo e um diretório. Execute os comando:
#touch arquivo.txt
#mkdir diretorio
#ls -l
Veja as permissões. Caso as permissões não forem às mesmas citadas acima, o problema com certeza
está com o padrão de criação dos arquivos. Verifique se o umask é 0022. Se não for digite umask 022
para torna-lo e execute os comandos novamente.
Alterando Permissões de Arquivos e Diretórios
Comando chmod
Sintaxe: chmod <opção> <arquivo/diretorio>
Finalidade: permitir que altere as permissões de um ou mais arquivos ou diretórios.
NOTA: Somente o superusuário ou o dono do arquivo/diretório podem alterar suas permissões.
Crie o arquivo: chmod.txt. Para isso execute o comando:
Seja um Profissional Aprendendo com Profissionais 62
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 63/146
Linux System Administration
# touch chmod.txt; ls -l
Existem duas formas para alterar as permissões de arquivos / diretórios. Uma é utilizando sí mbolos
para referenciar as permissões do dono, grupo e outros usuários. Esses sí mbolos são respectivamente:
u, g, o. Uma outra forma é utilizando valores octais para fazer essas referencias.
Sí mbolo Descrição
u indica permissões do dono do arquivo.
g indica permissões do grupo para o arquivo.
o indica permissões dos outros usuários para o arquivo.
a indica todos ( u, g, o )
Operadores Descrição
+ Concede Permissão
- Remove Permissão
= Atribui Permissão
Permissões Descrição
r Leitura
w Escrita
x Execução
O arquivo chmod.txt criado anteriormente possui as seguintes permissões: -rw-r--r--.Vamos alterar
essas permissões para: -rw-rw---- , ou seja, o dono e o grupo podem ler e escrever (rw) e os outros
não podem fazer nada, pois eles não possuem permissão. Quando se deseja alterar as permissões deum arquivo ou diretórios é importante visualizar as permissões atuais deste (usando o comando ls –l)
para saber o que deve ser acrescentado e/ou retirado.
#ls -l
#chmod g+w,o-r chmod.txt
A 1° opção acima (g+w) significa que a permissão de escrita (w) está sendo acrescentada/concedida
(+) para o grupo (g), então o grupo alem de ler poderá, também, escrever no arquivo chmod.txt.
Seja um Profissional Aprendendo com Profissionais 63
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 64/146
Linux System Administration
A 2° opção (o-r) significa que a permissão de leitura (r), para os outros usuários do sistema (o), está
sendo removida (-) , então estes não terão permissão para executar nenhum tipo de operação no
arquivo chmod.txt.
Agora altere as permissões deste arquivo para: -rw-rw-rw, ou seja, o dono, grupo e outros podem
ler/escrever no arquivo chmod.txt.
Alguns exemplos possí veis:
# chmod o+rw chmod.txt
# chmod u+rw,g+rw,o+rw chmod.txt
# chmod o=u chmod.txt
# chmod a=rw chmod.txt
Exercí cios:
1- crie os seguintes arquivos: modo1, modo2, modo3 e modo4.
2- mude as permissões destes, respectivamente, para:
a) -r--r--rwx
b) -rw-r-x---c) ----rwx--x
d) -rw-rw-rw
2° forma: Utilizando valores octais
Simbolo Valor Equivalente
r 4
w 2
x 1
Por exemplo, temos o arquivo teste.txt com as seguintes permissões: -rw-r--r--. Que valor
representaria essas permissões em octal ? A resposta é 644.
Nas permissões do arquivo texte.txt, sabemos que u=rw, g=r e o=r. Sabemos também que r=4, w=2 e
Seja um Profissional Aprendendo com Profissionais 64
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 65/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 66/146
Linux System Administration
Padr ã o de Cria çã o
umask
022 == -rw-r--r-- == 644. Esses valores indicam as mesmas permissões, mas totalmente diferentes.
Para definir o padrão de criação (umask) indicamos os valores que estão faltando na permissão. Como
por exemplo: -rw-r--r-- nas permissões do dono está faltando o x=1, no grupo faltam w=2 e x=1, e
para outros usuários faltam w=2 e x =1 não é mesmo? Então pegamos os valores que estão faltando
que seria 133. Como não é possí vel, por padrão, definir a permissão de execução (x=1) para arquivos,
então decrementamos o valor 1 de cada permissão, ou seja, 133 -111 que nos dá o resultado igual a
022.
Seja um Profissional Aprendendo com Profissionais 66
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 67/146
Linux System Administration
Gerenciamento de Pacotes RPM
Entendendo os Pacotes
Na maioria dos casos, um aplicativo não é formado apenas por um único arquivo executável, mas sim
por um grande número de arquivos, como arquivos de tradução (potfiles), arquivos auxiliares,
arquivos de documentação e arquivos de configuração. Assim, é bastante complexa a tarefa de
instalação de um aplicativo manualmente; ainda mais dif í cil é a manutenção de seus arquivos. Muitas
vezes uma nova versão do aplicativo torna alguns de seus arquivos obsoletos e então o administrador
do sistema tem de apagar o arquivo antigo para evitar um acúmulo de arquivos inúteis. Um pacote é
um arquivo que, além de conter os arquivos necessários para a instalação de um determinado
aplicativo, contém também as informações necessárias para que o gerenciador de pacotes possa
instalar, manter e remover programas.
Um arquivo tí pico de pacote se parece com o seguinte: emacs-20.7-11cl.i386.rpm
Estes nomes de arquivos seguem um padrão. Os nomes dos arquivos de pacotes RPM contém
informações sobre a versão e a arquitetura às quais se destinam. No caso acima, o arquivo diz que se
trata do pacote do "Emacs", versão 20.7, release 11cl e que ele foi criado para plataforma Intel 386.
Todos os arquivos de pacotes RPM têm o formado NomeDoPacote-versao-release.arquitetura.rpm
para permitir reconhecer visualmente o arquivo. Você poderá encontrar também pacotes com nomes
no formato NomeDoPacote-
versao.src.rpm. Esses pacotes não contêm os binários de um aplicativo para serem instalados mas sim
os seus arquivos fontes e são (na grande maioria dos casos) independentes de arquitetura.
Apesar de várias distribuições de Linux utilizarem pacotes do tipo RPM, isso não significa que eles
sejam iguais e que um pacote feito originalmente para uma distribuição irá funcionar perfeitamente
em outra. Além dos arquivos que compõem um determinado aplicativo, o pacote RPM contém
também informações de como instalar, em que local copiar os arquivos, como configurar, etc. Essas
informações adicionais podem ser diferentes de uma distribuição para outra, então, para evitar
problemas, o administrador deve procurar sempre utilizar pacotes feitos especificamente para a sua
Seja um Profissional Aprendendo com Profissionais 67
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 68/146
Linux System Administration
distribuição.
Utilizando o RPM é possí vel: Instalar, Atualizar, Remover e Consultar pacotes na Base de Dados
RPM.
Instalando um pacote RPM (opção i)
# rpm -ivh emacs-20.7-11cl.i386.rpm
i : Indica que o pacote será instalado.
v : Mostra informações do processo de instalação
h: Indica a porcentagem da instalação utilizando # como indicador.
A instalação de pacotes foi desenvolvida para ser o mais simples possí vel, porém eventualmente
alguns erros podem ocorrer. São eles:
Pacote já instalado: Irá aparecer a mensagem: package pacote.rpm já está instalado! Para ignorar a
mensagem e instalar o pacote novamente você deve indicar essa decisão ao RPM. Para isso acrescente
o parametro --force ao comando, como no exemplo:
# rpm -ivh emacs-20.7-11cl.i386.rpm –force
Arquivos com conflitos: se existir um arquivo já instalado por outro pacote, aparecerá a seguinte
mensagem: Este pacote não pode ser instalado... Para ignorar esta mensagem e instalar o pacote deve
– se acrescentar o parâmetro --replacefiles no comando, como no exemplo:
# rpm -ivh emacs-20.7-11cl.i386.rpm –replacefiles
Dependência: O pacote.rpm que está sendo instalado depende de outro pacote previamente instalado.
Aparecerá a seguinte mensagem: falha de dependência: pacoteXYZ.rpm é necessário para
pacote.rpm. Para ignorar essa mensagem deve-se usar o parametro --nodeps para instalar o pacote.rpm
sem checar as dependências.
Observe o exemplo:
Seja um Profissional Aprendendo com Profissionais 68
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 69/146
Linux System Administration
# rpm -ivh emacs-20.7-11cl.i386.rpm --nodeps
Atualizando um pacote RPM (opção U em maiusculo)
# rpm -Uvh emacs-20.7-11cl.i386.rpm
U: Indica que o pacote será Atualizado.
v : Mostra informações do processo de instalação
h: Indica a porcentagem da instalação utilizando # como indicador.
A atualização de um pacote.rpm normalmente é feita para uma versão posterior da versão que está
instalada, mas pode acontecer que a nova versão não satisfaz suas necessidades, então você sabe que a
versão mais antiga deste pacote possui as funcionalidades de que você precisa, certo? então basta
atualizar a versão atual para a antiga que seu problema é resolvido! ok ? Em partes sim. Veja abaixo.
Para que o RPM concorde em atualizar uma versão mais antiga do pacote, você deve informar ao
RPM que a versão que deseja Atualizar é mais antiga. Para isso você deve usar o parametro --
oldpackage. Como no exemplo:
# rpm -Uvh emacs-20.7-11cl.i386.rpm --oldpackge
Desintalando um pacote RPM (opção e)
# rpm -e emacs
e : indica que o pacote será desinstalado. Observe que para desinstalar um pacote deve ser
informado apenas o NomeDoPadote "emacs". Isso porque o pacote já está instalado. Por isso é
importante conhecer o formato padrão de um arquivo RPM.
Se um outro pacote instalado depender do pacote que está sendo desinstalado, aparecerá o seguinte
erro: a remoção deste pacote quebraria dependência: pacote.rpm é necessário para pacoteXYZ.rpm.
Seja um Profissional Aprendendo com Profissionais 69
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 70/146
Linux System Administration
Para remover assim mesmo, acrescente o parâmetro --nodeps.
# rpm -e emacs --nodeps
Consultando um pacote RPM (opção q)
# rpm -q emacs : mostra apenas o pacote com o nome emacs.
# rpm -qa | grep emacs : mostra todos os pacotes que contenha o nome emacs. Este
é o melhor comando (entre estes) para ser utilizado quando deseja consultar um
pacote já instalado.
Seja um Profissional Aprendendo com Profissionais 70
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 71/146
Linux System Administration
Pacotes TGZ no Slackware
Os pacotes TGZ do Slackware são bem mais simples que os outros tipos de pacotes. Eles são arquivos
empacotados e compactados em formato .tar.gz, com a estrutura de diretórios igual ao do sistema e
alguns scripts adicionais com informações sobre o pacote. Você pode ver o conteúdo do arquivo
justamente descompactando em um diretório qualquer que você tenha criado.
Além disso, nesse tipo de pacote, não há resolução automática de dependências (quer dizer, há
gerenciadores tratados mais a frente que fazem isso, mas não de uma forma perfeita). Vamos aprender
agora como usar algumas coisas essenciais para os pacotes do Slackware.
No Slackware, você pode utilizar um menu centralizado ou utilizar os comandos separados para
manipular os pacotes do sistema. Para acessar o menu centralizado, digite:
# pkgtool
No menu, você poderá fazer determinadas ações dependendo da opção que você escolher:
Opção Ação
Current Instala todos os arquivos pacotes (.tgz) do diretório atual (onde você executou o comando
pkgtool).
Other Instala todos os pacotes contidos em um outro diretório (você irá especificar)
Floppy Instala todos os pacotes contidos em um disquete que você fornecer
Remove Remove um pacote já instalado do sistema (ele lhe dará a lista de pacotes)
View Mostra uma lista dos pacotes do sistema e seus detalhes
Setup Configura alguns pacotes que possuem scripts pra isso
Seja um Profissional Aprendendo com Profissionais 71
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 72/146
Linux System Administration
Opções do comando pkgtool
Ou você pode utilizar os comandos individuais para essas tarefas. Por exemplo, se você quiser instalar
um pacote .tgz, faça:
# installpkg pacote.tgz
O comando installpkg apenas instala um pacote, mesmo tendo uma versão antiga deste mesmo pacote
já instalado. Nesse caso, se você instalar com o installpkg, seu sistema ficará com duas versões do
pacote. Para evitar isso quando for fazer uma atualização de versão de um certo pacote, faça:
# upgradepkg pacote.tgz
Para remover um pacote do sistema, use:
# removepkg pacote
Se por acaso você tiver problemas com o pacote e deseja descompactá-lo de forma correta para
analisar (o que poderá não ser muito comum e necessário fazer), você pode utilizar o comando:
# explodepkg pacote.tgz
E esses são os comandos individuais. Existe também o makepkg, que cria pacotes .tgz de forma
simples.
Seja um Profissional Aprendendo com Profissionais 72
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 73/146
Linux System Administration
Gerenciamento de Processos
Para cada processo existente, o sistema operacional fornece um código (PID) que o identificará. Há
também uma hierarquia de processos, ou seja, um processo pode chamar outro, que por sua vez chama
um terceiro, e assim por diante.
Um processo que executa em segundo plano é chamado de processo "pai", e o novo processo,
chamado de "filho".
Como já foi dito, o Linux é um sistema multitarefa, o que lhe permite executar mais de um processo
ou sistema. Portanto é possí vel ter processos em primeiro plano, chamado de foreground, bem como
em segundo plano, chamado de background.
Serão mostrados aqui, alguns comandos para trabalhar com processos, são eles:
O comando ps: mostra os processos ativos no sistema.
Sintaxe: ps -[opção]
# ps –aux
a: mostra todos os processos;
u: inclui na lista os usuários e hora do inicio do processo;
x: inclui processos não associados a um terminal.
O comando kill: permite que o superusuário ou os donos dos processos possa eliminar processos
ativos no sistema.
Sintaxe: kill [opção] -[sinal] [PID]
# kill -l : exibe os sinais que podem enviar para um processo.
Sinal:
(9) SIGKILL: Quando enviado para um processo, termina a sua execução.
Suponhamos que exista um processo no sistema com o PID igual a 3784, ou seja, o identificador do
Seja um Profissional Aprendendo com Profissionais 73
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 74/146
Linux System Administration
processo é 3784. Para que o processo seja eliminado, deve-se executar o comando kill de forma que o
sinal enviado ao processo elimine-o. Segue exemplo:
# kill - 9 3784
9 : sinal para eliminar um processo;
3784: Identificador de um determinado processo (PID).
Top
O comando top mostra os processos em execução ( tempo real ). O mesmo comando apresenta
informações sobre tempo ativo da máquina, quantidade de ususarios logados, porcentagem de
memória, processador e sistema utilizado.
# top
top - 08:36:38 up 20 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 30 total, 1 running, 29 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.7% user, 0.7% system, 0.0% nice, 97.5% idle
Mem: 482308k total, 46464k used, 435844k free, 4020k buffers
Swap: 1012016k total, 0k used, 1012016k free, 28692k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 9 0 260 260 232 S 0.0 0.1 0:03.77 init
2 root 8 0 0 0 0 S 0.0 0.0 0:00.00 keventd
3 root 19 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd_CPU0
4 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kswapd
5 root 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush
6 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kupdated
7 root 9 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
8 root 9 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1
9 root -1 -20 0 0 0 S 0.0 0.0 0:00.00 mdrecoveryd
10 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
46 root 9 0 0 0 0 S 0.0 0.0 0:00.00 kjournald
72 root 9 0 620 620 532 S 0.0 0.1 0:00.02 syslogd
75 root 9 0 460 460 404 S 0.0 0.1 0:00.03 klogd
318 root 9 0 0 0 0 S 0.0 0.0 0:00.00 khubd
Seja um Profissional Aprendendo com Profissionais 74
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 75/146
Linux System Administration
4665 root 9 0 524 524 464 S 0.0 0.1 0:00.00 inetd
4669 root 10 0 1604 1604 1324 S 0.0 0.3 0:00.03 sshd
4682 root 9 0 600 600 516 S 0.0 0.1 0:00.00 crond 4684 daemon 9 0 688 688 596 S 0.0 0.1 0:00.00 atd
4687 root 9 0 2868 2864 1888 S 0.0 0.6 0:00.01 sendmail
4690 smmsp 9 0 2444 2432 1632 S 0.0 0.5 0:00.00 sendmail
Seja um Profissional Aprendendo com Profissionais 75
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 76/146
Linux System Administration
Processo de Inicialização da Máquina
BIOS MBR(lilo/grub) KERNEL INIT GETTY LOGIN SHELL
Quando ligamos o computador o primeiro programa que é carregado é o que está na BIOS
( SETUP ), este programa testa os dispositivos de hardware presentes (HD, Mem., CPU, Cdrom, etc).
Após estes testes, a BIOS carrega o Gestor de Iní cio que está localizado na MBR (primeiros 1024
bytes) – Master Boot Record ou Setor de Boot Mestre, que tem como objetivo carregar o kernel do
Sistema Operacional escolhido na lista de S.O. mostrados no Gestor de Iní cio. Os Gestores de Iní cio
mais conhecidos são o GRUB e o LILO.
NOTA: Daqui em diante vamos supor que o Gestor de In í cio que encontra-se na MBR é o LILO e o Sistema Operacional escolhido
pelo usuário é o LINUX.
Ao carregar o LILO este passa por duas fases. A primeira é executar o setor de boot para
permitir o multiboot, caso exista vários kernels diferentes; e a segunda é carregar a imagem do
kernel escolhido. No ponto que o KERNEL é carregado, ele assume o controle da inicialização do
sistema. Sua responsabilidade é detectar os dispositivos de hardware suportados por ele e carregar
seus módulos. Após ter feito toda essa tarefa, o kernel passa o controle para o INIT que por sua vez
irá montar os sistemas de arquivos suportados pelo kernel, inicializar os serviços básicos da máquina
(serviços do mouse, rede, teclado, etc. (seria os [OKs ] que aparecem na tela)) outros serviços que
podem ser carregados na inicialização da máquina seria dos servidores: web, e-mail, samba, entre
outros – caso estes estejam instalados e configurados, é claro!
Após o INIT o próximo passo é a execução do GETTY que por sua vez disponibiliza a tela de
LOGIN (mingetty para o modo texto e k dm do kde, gdm do gnome ou xdm do XFree86 para o modo
gráfico) que por sua vez aguarda uma interação do usuário que é a digitação do login e senha. Após
ser passada essas informações é feito a checagem nos arquivos /etc/passwd e /etc/shadow. Caso os
dados informados (login e senha) sejam corretos, alguns outros arquivos são lidos/executados. São
eles:
Seja um Profissional Aprendendo com Profissionais 76
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 77/146
Linux System Administration
/etc/profile - arquivo que indica caminhos de binários-comandos (PATH), manuais das
ferramentas (MANPATH), configuração de permissões, identificação do usuário e do grupo. Ele é
indicado para passar caminhos de ferramentas que são necessárias a mais de um usuário, evitando
assim a configuração personalizada para cada usuário;
~/.bash_profile: arquivo pessoal que tipicamente possui os caminhos dos binários de usuário e ou
ferramentas/scripts que devem ser executados somente por tal usuário;
~/.bashrc: este arquivo armazena as aliases para comandos no linux (aliases são apelidos para os
comandos) que surtem efeito somente para o usuário que possui tal arquivo, ou seja, as aliases do
usuário X não surtem efeito para o usuário Y e vice-versa.
Após a execução destes três arquivos nesta sequencia, é então disponibilizado um SHELL
(interpretador de comandos) para o usuário.
Seja um Profissional Aprendendo com Profissionais 77
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 78/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 79/146
Linux System Administration
2° passo: Criar e editar o arquivo /boot/message
#vi /boot/message
3° passo: Para escrever as opções do arquivo /etc/lilo.conf no setor de boot digite:
# lilo -v
4° passo: Instalar o LILO na MBR:
# lilo
Inserir outros parâmetros no arquivo /etc/lilo.conf :
prompt força a interação do usuário com o lilo.
default=linux indica a S.O. padrão para ser carregado
timeout 1200 tempo em décimo de segundos para poder escolher o S.O
vga=791 resolução 1024x768.
O arquivo ficará da seguinte forma:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
vga=791
default=linuxprompt
timeout=1200
image=/boot/vmlinuz
root=/dev/hdaX
label=linux
read-only
Seja um Profissional Aprendendo com Profissionais 79
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 80/146
Linux System Administration
other=/dev/hdaY
label=windows
table=/dev/hda
Passando parâmetros para o kernel através do lilo
linux single: permite que o Linux seja iniciado no modo monousuário (init 1). Este é o modo de
manutenção do sistema.
linux init=/bin/bash: indica o tipo de interpretador de comandos que deverá ser utilizado.
linux root=/dev/hda9: indica a partição em que encontra-se montado o diretório raiz do sistema.
Neste caso é a partição 9 do HD master que encontra-se na 1° IDE– hda9.
Configurações de Segurança
A utilização do gerenciador lilo pode comprometer a segurança do sistema caso o administrador não
saiba a correta configuração do seu arquivo de configuração /etc/lilo.conf, deixando uma lacuna para
que as pessoas mal intencionadas acessem o sistema. O parâmetro linux single (ou linux -s) permitem
que as pessoas acessem o sistema como monousuário (init 1). Neste modo não é solicitado login e
senha de administrador para logar no sistema como root, basta apenas digitar linux single ou linux -s
para acessar o sistema e ter permissões para fazer o que quiser (mudar a senha do root, deletar os
arquivos de configuração do sistema como os arquivos /etc/passwd e /etc/shadow , entre outros).
Para barrar este acesso é utilizado o parâmetro password=senha (que solicitará uma senha
sempre após a escolha do sistema operacional a ser carregado) – Exemplo1; e o parametro restricted
usado em conjunto com o password=senha (fazendo com que a senha, seja solicitada apenas para o
modo monousuário (linux single)) - Exemplo2.
1 - password=123456 password que será solicitado sempre após a escolha do S.O.
2 - restricted solicita a senha somente para o modo de manutenção (linux single)
Seja um Profissional Aprendendo com Profissionais 80
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 81/146
Linux System Administration
O arquivo ficará da seguinte forma:
Exemplo 01 Exemplo 02
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
vga=791
default=linuxprompt
timeout=1200
password=123456
image=/boot/vmlinuz
root=/dev/hdaX
label=linux
read-only
other=/dev/hdaY
label=windows
table=/dev/hda
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
vga=791
default=linuxprompt
timeout=1200
password=123456
restricted
image=/boot/vmlinuz
root=/dev/hdaX
label=linux
read-only
other=/dev/hdaY
label=windows
table=/dev/hda
Quando é utilizada está configuração (password) outra configuração de segurança é muito
importante para impedir que os outros usuários do sistema tenham acesso de leitura sobre o arquivo
/etc/lilo.conf. Para isso altere as permissões relativas ao grupo e outros usuários do sistema,
executando o comando chmod com os modos 600 (-rw-------). Fazendo assim, com que apenas o root
possa ler e alterar o conteúdo deste arquivo.
#chmod 600 /etc/lilo.conf
Senha para uma partição especí fica
É possí vel setar uma senha para uma partição especí fica ou para um determinado Sistema
Seja um Profissional Aprendendo com Profissionais 81
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 82/146
Linux System Administration
Operacional. Suponhamos que estejam instalados na mesma máquina o Windows e o Linux e o
arquivo /etc/lilo.conf tenha a seguinte configuração:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
prompt
timeout=100
image=/boot/vmlinuz
root=/dev/hda5
label=linux
read-only
other=/dev/hda1
label=windows
table=/dev/hda
É de seu interesse bloquear o acesso ao Sistema Operacional Windows por exemplo, que está
instalado na partição hda1. Então basta acrescentar o parâmetro password=senha dentro da sessão
outros (other), o arquivo /etc/lilo.conf ficará da seguinte forma:
...
...
...
other=/dev/hda1
label=windowspassword=12345
table=/dev/hda
Seja um Profissional Aprendendo com Profissionais 82
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 83/146
Linux System Administration
O processo INIT na inicialização do sistema
Note que após da carga dos módulos do kernel, o controle do sistema passa para o processo
INIT. O init é executado pelo próprio kernel, quando executa o arquivo /sbin/init.
O INIT executa todos os scripts localizados no diretório /etc/rc.d/ que são: rc, rc.local e rc.sysinit
(estes serão detalhados mais a frente), realizando assim a inicialização de todo o sistema.
O init realiza as seguintes funções:
Configuração básica do sistema: carga do mapa de teclado, nome de host, ativação da área
de swap.
Configuração final dos Hardwares: usb, placa de rede, etc; carga de módulos;
Configuração de rede: interfaces de rede, roteadores, firewall;
Inicialização dos serviços: configuração dos servidores;
Executar e disponibilizar as consoles virtuais: que promove a interação dos usuários no
sistema.
N í veis de execu çã o ( Runlevel )
Os runlevels são ní veis ou formas de inicialização do sistema operacional linux.
Cada ní vel de execução possui seus arquivos que serão executados para inicialização da
máquina. Cada ní vel de execução é identificado por um número que vai de 0 a 6 (0-1-2-3-4-5-6).
Ní veis de execução em distro baseadas no Red Hat (Conectiva, Mandrake, Suse, Fedora, Linux)
Ní vel Descrição
0 Desliga o sistema (nunca definir como initdefault)
1 Mono-usuário
2 Multi-usuário sem acesso a rede
3 Multi-usuário com acesso a rede
4 Não é utilizado
Seja um Profissional Aprendendo com Profissionais 83
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 84/146
Linux System Administration
5 Modo gráfico
6 Reinicia o sistema (nunca definir como initdefault)
Os ní veis de 2 a 5 diferem entre as distribuições. Por exemplo: no Debian o nivel 2 por padrão
é multi-usuário com suporte a rede e no Red Hat o ní vel 2 por parão é multi-usuário sem suporte a
rede.
Para saber o ní vel de execução atual, execute:
# runlevel
O INIT sempre será o processo de número 1 do sistema, uma vez que é o primeiro a ser
executado.
Visualize a saí da do comando ps da forma:
# ps aux | grep init
NOTA: Este comando filtra apenas os processos que contém a palavra init na lista de processos do ps aux.
Observe que o PID no processo init [nivel de execução] é igual a 1. ou seja, ele é o primeiro
processo a ser executado no sistema.
O INIT é também um processo “monitorador ”, pois não responde a nenhum sinal de kill:
SIGKILL, executado por kill -9 <PID> ou pelo SIGTERM executado por kill -15 <PID>. Portanto
sempre estará ativo, ele é o pai de todos os processos.
#kill -9 1#kill -15 1
#ps aux | grep init
NOTA: Observe que o processo INIT ainda está ativo!
Seja um Profissional Aprendendo com Profissionais 84
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 85/146
Linux System Administration
Comunicando com o processo INIT
É possí vel comunicar com o processo init através do comando homônimo init ou pelo
comando telinit . Observe que o comando telinit é um link simbólico para o arquivo init que encontra-
se em /sbin. Execute: ls -l /sbin/telinit para visualizar.
Sintaxe do comando:
#init <nível de execução>
De modo que, se desejar carregar outro ní vel de execução, basta digitar o comando init ou telinit da
seguinte forma:
#init 5 carrega o modo grafico
#telinit 3 carrega o mogo texto
#runlevel mostra o ní vel de execução
N 5 3
Observe que o comando mostra o ní vel de execução anterior e o atual. Se o ní vel atual é o que
foi carregado no processo de inicialização, ou seja, não foi alterado com o comando init ou telinit
aparecerá a letra 'N' no lugar do ní vel anterior, da seguinte forma:
# runlevel
N 3 caso o ní vel de execução padrão seja o ní vel 3
Se o ní vel anterior for o ní vel 1 (mono-usuário) aparecerá a letra 'S' indicando que estava como linux
single.
# runlevel
S 3 caso o nível de execução anterior seja 1
Seja um Profissional Aprendendo com Profissionais 85
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 86/146
Linux System Administration
Outras fun ções do INIT
Como foi falado anteriormente o init é o único processo que sempre está “vivo”; estas
caracterí sticas o fazem o único capaz de realizar várias outras tarefas além da inicialização do sistema,
sendo:
− Monitoramento do sistema: alguns processos podem ser marcados como “sempre vivos” mas se
por alguma razão este processo “morre” o init tem a responsabilidade de re-executar o processo
tornando-o “vivo” novamente. Um bom exemplo de processo que não pode morrer são os
terminais, pois eles que dão acesso ao sistema.
− Desligamento automático: quando há uma queda de energia muito prolongada os no-breaks
mandam um sinal SIGPWR (30) ao processo init comunicando que a sua carga de energia é baixa,
fazendo assim com que o init desligue corretamente a máquina, após algum tempo (shutdown -f -h
+2 “Será desligado em 2 minutos”). Caso a energia volte antes que a máquina seja desligada, o no-
break manda essa informação ao processo init para abortar o processo de desligamento enviando o
sinal -c no comando shutdown (shutdown -c “mensagem”) , fazendo assim com que seja abortadoqualquer sinal de shutdown anterior.
O Arquivo /etc/inittab
A configuração deste arquivo é feita através de quatro campos separados por dois pontos (:).
identificação : niveis-de-execução : ação : processo
1) identificação: representa a identificação da linha. O ideal é usar duas letras por questões de
compatibilidade, nas versões mais recentes pode-se utilizar ate 4 caracteres. Este valor é totalmente
arbitrário, podendo ser escolhido qualquer combinação de caracteres, desde que seja único.
2) ní veis de execução: informa o ní vel de execução, caso o campo esteja vazio será executado para
todos os ní veis; se for 'S' indica que deve ser executado somente no ní vel monousuário.
Seja um Profissional Aprendendo com Profissionais 86
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 87/146
Linux System Administration
3) ação: indica o tipo de ação que será executada, as mais utilizadas são:
Ação Descricao
respawn O respawn faz com que o init re-execute o processo caso ele seja morto.
wait O init aguarda por uma decisão anterior para prosseguir
once O processo será executado apenas uma vez, na inicialização do ní vel.
initdefault Indica o ní vel que deve ser inicializado por padrão
sysinit Indica o script de inicialização geral do sistema (/etc/rc.d/rc.sysinit)
powerfail O processo será executado quando o init receber o sinal SIGPWR (30), falha de energia.
powerokwait Indicador de restabelecimento de energia (é chamado somente após um powerfail)
ctrlaltdel Indica o processo ou comando que será executado após pressionar as teclas ctrl+alt+del
• processo: indica o processo ou comando a ser executado.
Segue abaixo o conteúdo do arquivo /etc/inittab:
# Default runlevel. (Do not set to 0 or 6) - Seleciona o tipo do ní vel que deve ser executado por
padrão (initdefault)
id:3:initdefault:
# System initialization (runs when system boots) - Indica que o script rc.S deve ser executado. Este
será sempre executado e somente uma vez (sysinit), e apenas na inicialização, pois possui informações
gerais que devem ser carregadas para qualquer ní vel de execução.
si:S:sysinit:/etc/rc.d/rc.S
# Script to run when going single user (runlevel 1) – Script utilizando quando o lilo envia o sinal de
inicialização no modo monousuário. Este script solicita a senha do usuário durante o processo de
inicialização. Torna-se uma medida de segurança contra ataques de força bruta. ( mais detalhes sobre
segurança no inittab no curso de Segurança em Redes Linux )
su:1S:wait:/etc/rc.d/rc.K
Seja um Profissional Aprendendo com Profissionais 87
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 88/146
Linux System Administration
# Script to run when going multi user – Script utilizado para inicializar os runlevels 2, 3, 4 e 5.
rc:2345:wait:/etc/rc.d/rc.M
# What to do at the "Three Finger Salute" - esta ação é definida para informar qual comando é
executado quando as teclas CTRL+ALT+DEL são acionadas.
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
Vamos substituir a linha atual por:
ca : : ctrlaltdel : echo "nao e possivel reiniciar desta forma digite reboot"
# Runlevel 0 halts the system – Script que é executado quando o ní vel 0 é solicitado. Neste ní vel o
sistema operacional é desligado.
l0:0:wait:/etc/rc.d/rc.0
# Runlevel 6 reboots the system - Script que é executado quando o ní vel 6 é solicitado. Neste ní vel
o sistema operacional é reiniciado.
l6:6:wait:/etc/rc.d/rc.6
# What to do when power fails – quando o init recebe um sinal SIGPWR (30) de um processo que
monitora uma interface serial ligada do computador a um no-break denominado UPS (Uninterrupted
Power Supply – Suprimento Ininterrupito de Energia) ele executa o comando shutdown.
pf::powerfail:/sbin/genpowerfail start
# If power is back, cancel the running shutdown – caso a energia seja reestabelecida o init recebeum sinal SIGPWR alertando que há um arquivo chamado /etc/powerstatus contendo a palavra OK.
Isso significa que a energia elétrica voltou. Então o shutdown anterior deve ser cancelado.
pg::powerokwait:/sbin/genpowerfail stop
# caso a energia seja reestabelecida o init recebe um sinal SIGPWR alertando que há um arquivo
chamado /etc/powerstatus contendo a palavra OK. Isso significa que a energia elétrica voltou. Então o
shutdown anterior deve ser cancelado.
Seja um Profissional Aprendendo com Profissionais 88
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 89/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 90/146
Linux System Administration
Liste o conteúdo do diretório /etc/rc.d/rc3.d/ por exemplo. Observe que existem vários
arquivos e estes começam com a letra 'K' ou com a letra 'S' para indidar se o processo deve ser
parado (kill) ou iniciado (start), respectivamente. Observe também, que após uma dessas letras possue
um número que varia de 00 até 99 que determina a prioridade de execução dos arquivos contidos
neste diretório.
Para estes serviços podem ser utilizadas as ferramentas ntsysv e chkconfig nas distribuições
baseadas em RedHat®
NOTA: o diretório de cada ní vel de execução pode variar de distribuição para distribuição. O exemplo acima retrata o diretório dasdistribuições baseadas em Red Hat®.
Arquivo /etc/issue
Este arquivo contém a mensagem de cabeçalho que é apresentada na tela de login do modo
texto (mingetty). Para visualizar o arquivo digite:
# cat /etc/issue (Este comando irá apresentar a seguinte saida:)Slackware Linux
Entre com Login e Senha.
Altere o conteúdo deste arquivo! Agora abra uma outra console texto (CTRL+ALT+F3 por
exemplo). Observe que a mensagem que você colocou no arquivo /etc/issue aparece na tela de login.
Este arquivo é utilizado para auxiliar os usuários informando o que eles devem fazer nesta tela.
Arquivo /etc/nologin
Este arquivo é utilizado quando o administrador decide fazer uma manutenção no servidor.
Este arquivo impede que os usuários comuns loguem no sistema. Por padrão este arquivo não existe.
Sempre que a existencia dele for necessária, o administrador deve cria-lo manualmente com o
comando touch por exemplo (touch /etc/nologin). Observe que a funcionalidade desse arquivo
é válida apenas dentro do diretório /etc.
Seja um Profissional Aprendendo com Profissionais 90
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 91/146
Linux System Administration
Para testar a funcionalidade deste, execute o comando:
#touch /etc/nologin
Agora tente logar no sistema (com conta de usuário comun). Observe que isso não é possí vel,
porém o usuário não sabe o que está acontecendo, ele apenas não loga. Ele pode pensar que está
digitando a senha errada ou que sua senha foi alterada.
Para eliminar essas possí veis dúvidas por parte dos usuários, o administrador deve digitar um
texto dentro do arquivo /etc/nologin, informando aos usuários a indisponibilidade do sistema por
determinado motivo. Para isso execute:
#vi /etc/nologin (Insira uma mensagem informativa). Por exemplo:
“SERVIDOR EM MANUTENÇÃO! ESTE ESTARÁ DISPONÍVEL AS 15:00 HORAS.
OBRIGADO PELA COMPREENSÃO! CPD/3WAY.”
Dessa forma nenhum usuário irá incomodar.
Observe também que apenas a conta do superusuário, root, pode acessar o sistema com a existência
deste arquivo.
Arquivo /etc/motd
Este arquivo é usado para passar alguma informação após o logon para todos os usuários do
sistema, como por exemplo: “LOGIN EFETUADO COM SUCESSO!”
Altere o conteúdo deste arquivo e visualize sua saí da após o logon.
Arquivo /etc/securetty
Seja um Profissional Aprendendo com Profissionais 91
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 92/146
Linux System Administration
Este arquivo mantém as consoles virtuais que o superusuário (root) pode efetuar logon no
sistema. É uma polí tica de segurança que é feita em servidores para impedir que pessoas que
eventualmente conseguem descobrir a senha de root efetuem logon no sistema.
Para prevenir esta situação, abra o arquivo /etc/securetty , e comente todas as linhas deste
arquivo usando o caractere '#'. Caso optar por deixar a console tty5 (5° console – CTRL+ALT+F5),
por exemplo, descomentada, o root poderá logar apenas nesta.
#vi /etc/securetty
Exemplo do conteúdo, com algumas entradas comentadas:
# tty1
# tty2
# tty3
# tty4
...
# tty12
No exemplo acima o root não conseguirá realizar login nas consoles 1, 2, 3 e 4.
Exercí cio
Se forem comentadas todas as linhas deste arquivo, o que fazer para efetuar o login no sistema
com a conta de root, visto que sua entrada está bloqueada?
Essa resposta é bem simples. Você pode efetuar o logon de sua conta pessoal no sistema, logo
após é executado o comando su - <usuário>. Este comando fará com que a senha do <usuário>seja solicitada.
Vamos fazer um teste. Siga os passos:
7) Efetue logon no sistema com sua conta pessoa;
8) Agora digite $su - root;
9) Agora digite a senha de root. Observe que agora está logado com a senha de root;
10)Execute o comando exit para voltar à conta anterior.
Seja um Profissional Aprendendo com Profissionais 92
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 93/146
Linux System Administration
Comando su
O comando su é utilizado para se promover como sendo outro usuário no linux.
Por exemplo: Você está logado no sistema como fulano e deseja acessar o sistema como beltrano. Não
necessariamente deve ser efetuado logoff de fulano e logon de beltrano, basta utilizar o comando su -
beltrano e logo após digitar a senha para este usuário. Assim que terminar de fazer a tarefa usando o
usuário beltrano, deve ser digitado o comando exit fazendo com que o logon de beltrano seja
encerrado, e é retornado, então, para o logon fulano.
Faça este procedimento. Crie duas contas de usuário uma fulano e outra beltrano com senhas
123. logue como fulano e depois se promova como beltrano. Depois execute o comando exit. Observe
que a conta do beltrano é encerrada e a conta atual é fulano.
Este comando é útil quando são comentadas todas entradas no arquivo /etc/securetty
(apresentado acima) e se deseja efetuar alguma configuração no sistema com a conta de root.
Seja um Profissional Aprendendo com Profissionais 93
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 94/146
Linux System Administration
Inicialização de Serviços
O local dos arquivos scripts para inicialização dos serviços difere de uma distribuição para
outra. Nas distribuições baseadas no Red Hat (Fedora, Conectiva, Suse, etc) os scripts de inicialização
dos serviços se encontram dentro do diretório /etc/rc.d/init.d/ ou /etc/init.d/,
já no Slackware eles ficam dentro de /etc/rc.d/, por exemplo.
Estes serviços são chamados também de daemons. Um serviço ou um daemon é
necessáriamente um processo, podendo ser: serviços de rede - como httpd (servidor de páginas Web),crond (agendador de tarefas), sendmail (servidor para envio de e-mails) ; ou não - como network
(configuração de rede) e keytable (configuração de teclado), gpm (serviço do mouse), etc.
É costume incluir a letra 'd' no final do nome de cada script para indicar os daemons, como
httpd (HTTP daemon - servidor de páginas web), named (name daemon - servidor de nomes internet),
etc.
Todos estes serviços ou daemons são padronizados de forma que suportam as opçõesstart e
stop; e opcionalmente as opções status, restart e reload.
Opção Funcao
start Inicia o daemon / serviço
stop Pára o daemon / serviço
restart Pára e inicializa o daemon / serviço
reload Recarrega o arquivo de configuração sem parar o daemon / serviço
status Exibe se o status do daemon / serviço - parado, rodando, travado, etc...
Nem todos os daemons suportam todas as opções citadas.
Para executar um daemon, basta indicar o camindo completo deste (/etc/rc.d/daemon) e
informar o que você deseja fazer com tal (start, stop, status, restart ou reload).
Por exemplo: Se desejar utilizar o recurso do mouse, a primeira coisa a fazer é identificar o daemon
relativo ao mouse (gpm), depois é so executar o comando. Este fica da seguinte forma
#/etc/rc.d/rc.gpm stop
Seja um Profissional Aprendendo com Profissionais 94
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 95/146
Linux System Administration
#/etc/rc.d/rc.gpm start
#/etc/rc.d/rc.inet1 stop
#/etc/rc.d/rc.inet1 start
O Arquivo /etc/login.defs
Este arquivo armazena as principais configurações para a geração dos usuários (quando se
executa o comando adduser <user>), indo desde o gerenciamento de senha, até a criação do diretório
padrão do usuário.
Exemplo do conteúdo do arquivo:
MAIL_DIR /var/spool/mail local padrão para os e-mail dos usuários.
PASS_MAX_DAYS 99999 número de dias para a utilização da senha
PASS_MIN_DAYS 0 quantidade m ínima de dias que o usuário deverá
ficar com a senha sem altera-la.
PASS_MIN_LEN 5 tamanho m ínimo da senha para usuários comuns qdo
for alterada
PASS_WARN_AGE 7 dias restantes que o usuário será informado da
expiração da senha.
UID_MIN 500 Início do UID para usuários comuns
UID_MAX 60000 Fim do UID para usuários comuns
GID_MIN 500 Início do GID para usuários comuns
GID_MAX 60000 Fim do GID para usuários comuns
CREATE_HOME yes É criado o diretório home no momento da criação do
login
Seja um Profissional Aprendendo com Profissionais 95
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 96/146
Linux System Administration
Programação Shell
Programando no Linux
Todos os sistemas operacionais da famí lia Unix possuem shell (interpretador de comandos)
programáveis; ou seja, permite a criação de scripts interpretados, com funcionalidades próximas de
uma linguagem completa, como C ou Pascal.
Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos
comandos para o seu auxilio, entre outras vantagens. A sua utilização é muito variada, sendo que eleestá presente em todo o sistema, pois a maioria dos arquivos utilizados pelo sistema são scripts, assim
conhecer a sua sintaxe e compreender o que ele pode vir a fazer dentro de um arquivo é fundamental
para o administrador.
Nota: O intuito deste material não é ensinar programação, mas sim apresentar os detalhes de script shell. Portanto, para se ter bom
proveito, é necessário que o leitor conheça os fundamentos de lógica de programação.
Tipos de interpretadores
Existem vários tipos de interpretadores para o sistema Linux, sendo os principais: bash (mais
popular e mais utilizado), sh (o sh não existe mais, foi superado e substituí do pelo bash, por isso,
geralmente sh é um link simbólico para bash), csh (sintaxe parecida com C e é o mais utilizado no
Unix Solaris), tcsh (semelhante ao csh, porém mais completo).
Todos os scripts criados devem começar com uma linha de comando especí fica informando aosistema operacional o tipo de interpretador de comandos a ser utilizado. O mais comum é o bash.
O nome do interpretador atualmente utilizado fica armazenado em uma variável de ambiente
chamada SHELL ou shell (dependerá do interpretador). Para saber qual está sendo utilizado, basta
utilizar o comando abaixo:
# set | grep -i shell
SHELL=/bin/bash
Seja um Profissional Aprendendo com Profissionais 96
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 97/146
Linux System Administration
Neste caso o comando utilizado foi: set para listar as variáveis de ambiente, o pipe (para
concatenar a saí da do último comando com a entrada do próximo), grep para fazer a filtragem de
saí da juntamente com a opção -i (desativa o case sensitive para esta filtragem) e o nome da variável a
ser pesquisada e oomo resultado obtido foi o nome do interpretador utilizado, que neste caso é o bash.
Quando o usuário possui um interpretador de comandos e uma senha válida ele está apto a
fazer login no sistema, porém algumas vezes não é interessante que ele faça acesso, mas que possua
uma conta para acessar outros tipos de serviços do sistema, como internet, SAMBA e outros serviços.
A remoção do acesso ao sistema pode ser feita no arquivo de configuração de usuários /etc/passwd,
devendo ser alterado o valor do último campo de /bin/bash (ou outro interpretador) para /bin/false ou
/bin/nologin.
Para este material será utilizado o interpretador de comandos bash, pois além de ser o mais
comum as distribuíções ele é mais simples para trabalhar.
Um Script simples
Os scripts são arquivos regulares do sistema, não havendo necessidade de extensões
especí ficas ou detalhes a mais, ele funciona simplesmente com a sua permissão de execução ativada.
A extensão seria usada para destacar o arquivo como um script. Um exemplo seria a extensão .sh
representando shell ou bash.
Os comandos dentro de um script podem ser os mesmos utilizados em uma linha de comando,
pois o arquivo é lido de forma sequêncial (de cima para baixo) e lido conforme seria digitado
diretamente pelo usuário. Poderia ser criado um script para escrever uma mensagem na tela para o
usuário quando o script for executado, podemos fazer acesso a banco de dados como o MySQL, filtrar
dados de comandos etc...
Iremos inicialmente gerar um script simples com o comando echo, que permite escrever na
saí da padrão, enviando uma mensagem simples, como: Olá Mundo!
Exemplo:
Seja um Profissional Aprendendo com Profissionais 97
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 98/146
Linux System Administration
Crie e edite um arquivo chamado script1.sh dentro do seu diretório $HOME, com o seguinte
conteúdo:
# vi ~/script1.sh
Conteúdo:
#!/bin/bash
echo "Olá Mundo!”
O cabeçalho #!/bin/bash serve para informar o tipo de interpretador a ser utilizado. Caso não
seja informado o tipo do interpretador não tem problema. A extensão .sh não é necessária, mas ela é
colocada para facilitar sua indentificação pelo usuário, que também pode recorrer ao comando file.
Após a edição basta salvar o arquivo e alterar a sua permissão para executável:
# chmod 755 script1.sh
Para executa-lo, existem várias formas diferentes:
Utilizando o comando bash
# bash script1.sh
Ola Mundo!
Neste caso não é necessário alterar as permissões do arquivo, mas toda veze que é digitado o
comando bash é aberto um processo filho sobre o interpretador utilizado.
Passando todo o caminho desde o raí z até o nome do arquivo com a permissão de execução:
# /tmp/script1.sh
Ola Mundo!
Seja um Profissional Aprendendo com Profissionais 98
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 99/146
Linux System Administration
Utilizando o comando "ponto espaco script"
#. script1.sh
Olá Mundo!
Utilizando o comando “./”
O ponto barra serve para indicar ao sistema que o arquivo está localizado no diretorio corrente,
logo após ele deverá ser executádo, desde que o arquivo esteja com a permissão habilitada para isso.
# ./script1.sh
Olá Mundo!
NOTA: Neste dois últimos casos é obrigatório que o usuário esteja dentro do diretório onde está armazenado o script shell.
Outras opções do interpretador bash
No momento da execução podem ser feitos testes para verificar o funcionamento do script e
saber se ele foi corretamente criado. O teste pode ser feito passando uma das opções conforme a
chamada.
Sintaxe:
# bash [opção] script-shell
opção:
-x é apresentado o comando e depois a sua saí da
-n apenas faz um teste de verificação, não o executa.
-v apresenta todo o script e depois o executa
Exemplo:
#bash -x script1.sh
Seja um Profissional Aprendendo com Profissionais 99
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 100/146
Linux System Administration
echo "Olá Mundo!”
Olá Mundo!
#bash -n script1.sh
#bash -v script1.sh
#!/bin/bash
echo "Olá Mundo!”
Olá Mundo!
Sintaxe
A programação shell é muito simples comparada as linguagens de comparação, mas ela
também possui a sua própria caracterí stica, muito semelhante a linguagemC. Nela é possí vel declarar
variável, escrever mensagens, utilizar estruturas de condição e repetição, uso de funções modulares,
uso de comandos do próprio interpretador, entre outros.
Comentários
Os comentários dentro de scripts são feitos utilizando o caractere #. Do ponto de onde ele
estiver presente até o final da linha será interpretado como comentário. No script shell não existe
declaração para um comentário em várias linhas, devendo o mesmo ser colocado uma por uma,
portanto não existe bloco de comentários, como em algumas linguagens de programação.
Exemplo:#!/bin/bash
# Programa simples de Script Shell
echo "Olá Mundo!" # Imprime Olá Mundo!!
Tipos de Vari áveis
Seja um Profissional Aprendendo com Profissionais 100
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 101/146
Linux System Administration
Variável Simples
A variável dentro do sistema só pode assumir o valor de string. Sua declaração se dá no
momento do recebimento de qualquer valor, de acordo com a estrutura: variável=valor
Não precisa ter ";" ao final da linha e também não pode ter espaços entre a variável e o sinal
de igual, e o sinal de igual e o valor a ser recebido.
As regras para a criação são muito semelhante às outras linguagens de programação, vide os
seguintes pontos:
1. Usar caracteres alfanuméricos e underline;
2. Começar com letra ou underline;
3. Não pode conter espaços em branco ou acento.
4. A variável gerada dentro do script é apagada ao final da execução do mesmo.
Acessando vari áveis
O conteúdo da variável pode ser lido com a inserção do sinal "$" antes da variável: $variável
Exemplo:
Criar um novo arquivo chamado script2.sh com o conteúdo:
#!/bin/bash
Var=“Teste de conteúdo"
echo $Var
Salve o arquivo e o execute, a saí da será o conteúdo da variável Var.
Comando echo
Como visto anteriormente o comando echo permite a escrita na saí da padrão, quando o
mesmo não é redirecionado para um arquivo, dispositivo, etc.
Seja um Profissional Aprendendo com Profissionais 101
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 102/146
Linux System Administration
Abaixo serão mostradas algumas opções do comando echo:
Opção:
-n Não pula a linha após o echo
-e Permite o uso dos caracteres de escape (tabulação, quebra de linha, bip, etc).
Um exemplo do uso das opções acima podem ser feitas na linha de comando:
#echo -n "testando o uso do -n"
testando o uso do -n
NOTA: O uso do -e será melhor visto após o próximo tópico.
Caractere de escape
Os caracteres de escape permitem a utilização de organização (como tabulação), saltar linha,
chamar uma sinalização sonora para o usuário, entre outras funções, assim ela sempre será
acompanhada de uma barra-invertida para indicar o tipo do caractere.
Quadro de funções do caractere de escape:
Comando Função
\a Alerta (sinal)
\b Retorno de espaço (backspace)
\n Nova linha
\r Retorno do carro
\t Tabulação horizontal
\v Tabulação vertical
\\ Apresenta o "\"
\" Apresenta aspas duplas
Exemplo:
Seja um Profissional Aprendendo com Profissionais 102
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 103/146
Linux System Administration
#echo -e "testando o uso \n dos \"caracteres de escape\" \n"
testando o uso dos "caracteres de escape"
Caso o exemplo acima fosse escrito sem a opção -e o resultado seria:
#echo "testando o uso \n dos \"caracteres de escape\" \a \n"
testando o uso \n dos "caracteres de escape \a \n
Passagem de par â metrosNo momento de executar o script é possí vel passar parâmetros, que são informações extras
necessárias para o desenvolvimento do código, por exemplo, capturar uma senha, ela poderia ser
passada como parâmetro e fazer comparações dentro do código.
Os parâmetros podem ser:
Parâmetro Descrição
$0 Nome do script, juntamente com o seu caminho completo
$1 a $9 Valores passados como parametros**
$$ Número do PID do script
$? Valor de retorno do teste do último comando
$# Quantidade de parametros existentes
** Para valores acima de 9 devem estar entre chaves, por exemplo, o parametro 15 seria descrito
assim: ${15}
Leitura de teclado e vari áveis
Durante o andamento da interpretação pode ser solicitado a passagem de informações, para
estes casos existe o comando read que permite fazer a sua leitura e armazenar em uma variável.
Sintaxe:
a. read variável
b. read [opção] "mensagem: " variável
Opção Descricao
Seja um Profissional Aprendendo com Profissionais 103
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 104/146
Linux System Administration
-p Solicita a infirmação e permite a visualização do que está sendo digitado
-s Solicita a informação, mas não permite a sua visualização; utilizado para pedir senhas
-n X Permite informar a quantidade de caracteres a serem lidos, X é a quantidade em inteiro.
Exemplo:
Criar um novo arquivo chamado script3.sh
Conteúdo:
#!/bin/bash
echo -n "Digite algo: "
read resposta
echo "Foi digitado: $resposta ; o primeiro parametro e $1 o segundo parametro é
$2"
Execute o script passando parâmetros para o mesmo:
# ./script3.sh AAA BBB
A saí da será:
Digite algo: ALGO
Foi digitado: ALGO; o primeiro parâmetro e AAA o segundo parâmetro é BBB.
Estruturas de Decis ã o (if)
A estrutura condicional permite definir uma decisão do programa; através de uma condição,
que pode ser uma comparação entre dois valores, por exemplo.
Sintaxe:
if [ condição ]; then
comandos
fi
A estrutura if permite o uso de else para o tratamento de erro na condição sem detalhes para a
programação. Porém existe uma diferença para o uso de um novo tratamento de condição, caso ele
Seja um Profissional Aprendendo com Profissionais 104
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 105/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 106/146
Linux System Administration
Comando exit
Caso fosse necessário para o sistema sair em qualquer ponto do script por falta de alguma
informação ou informação errada pode ser utilizado o comando exit 0. Assim quando o script o ler
sairá automaticamente do código.
O script script4.sh poderia ser reescrito assim:
#!/bin/bash
#Faz a leitura da senha do usuário
echo “Digite a sua senha:”
read -s resposta
senha="12345"
if [ $resposta = $senha ]; then
echo “Senha correta!”
else
echo “Senha Incorreta!”exit 0
fi
Na estrutura acima caso o usuário informe a senha errada o script invocará o exit que serve
para sair do código e retornar o resultado para a saí da de erro padrão (STDERR). A insersão do exit
nesta linha de código, parece não ter serventia. Isso acontece porque o comando está no final do
código. Nos próximos exemplos, a utilização do comando exit será mais clara.
Operadores de compara çã o
As condições podem ser tratadas de acordo com as tabelas:
Entre valores inteiros
Seja um Profissional Aprendendo com Profissionais 106
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 107/146
Linux System Administration
Condição Significado
$a -eq $b $a = $b (igual)
$a -le $b $a <= $b (menor ou igual)$a -ge $b $a >= $b (maior ou igual)
$a -lt $b $a < $b (menor que)
$a -gt $b $a > $b (maior que)
$a -ne $b $a <> $b (diferente)
O uso dos sinais <, >, <=, >=, = e != podem ser usados para inteiros, desde que sejam
executados entre dois parenteses (( )) ou pelo comando let.
O comando let permite o uso de códigos parecidos com a linguagem C, permitindo várias
coisas, como por exemplo à interação de uma variável (++ ou --):
let var++
let var—
Entre strings
Condição Verdadeiro se -z $a Não existir mensagem
-n $a O mensagem existir
$a = $b O conteúdo de ambas as variáveis são iguais
$a != $b O conteúdo das variáveis forem diferentes
Arquivos
Condição Verdadeiro se
-e arquivo é um arquivo regular
-x arquivo arquivo é executável-d arquivo é um diretório
-l arquivo for um link
-s arquivo o arquivo existe e tem tamanho maior que zero
Valores booleanos
Condição Verdadeiro se
exprA -a exprB ambas as expressões são verdadeiras (operador e)
exprA -o expreB uma das expressões for verdadeira (operador ou)
!exprA a expressão for falsa
Seja um Profissional Aprendendo com Profissionais 107
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 108/146
Linux System Administration
Abra o arquivo script4.sh e adicione novas linhas a este, sendo:
# vi ~/script4.sh
#!/bin/bash
#Faz a leitura da senha do usuário
echo “Digite a sua senha:”
read -s resposta
senha="12345"
if [ $resposta = $senha ]; then
echo “Senha correta!”
else
echo “Senha Incorreta!”
exit 0
fi
echo -n "Informe o caminho do diretório para backup:”
read diretorio
if [ -d $diretorio ]; then
echo “Diretório encontrado. Aguarde... fazendo o backup!”
else
echo “Diretório não encontrado!”
exit 0
if
tar cvfz backup.tar.gz $diretorio/*
Condi çã o case
Permite a seleção de comandos especí ficos a partir de uma chave de seleção, ou seja, o usuário
informa o que deseja fazer a partir de uma chave e os comando associados ao mesmo serão
executádos. O seu uso é mais frequente em menus para a indicação de um item e a tomada de
comandos para esta opção.
Sintaxe:
case chave in
Seja um Profissional Aprendendo com Profissionais 108
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 109/146
Linux System Administration
teste1) comandos;;
teste2) comandos;;
*) comandos;;esac
teste1 e teste2 são opções que o conteúdo de chave pode ter, mas caso chave possuia outro conteúdo *
assumirá esta opção, ou seja, * só será utilizado caso o conteúdo de chave não encontre uma opção
existente. Quando for necessário utilizar os mesmos comandos para chaves diferentes pode ser
utilizado o | (pipe) para separa-los. Uma linha das opções ficaria assim:
teste3 | teste4 | teste5) comandos;;
Será inserido ao código do script4.sh um menu para auxiliar o usuário, sendo:• adicionar um diretório;
• fazer um backup;
• descompactar arquivo (tar.bz2);
Abra o arquivo script4.sh para editar seu código:
#vi ~/script4.sh
Seja um Profissional Aprendendo com Profissionais 109
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 110/146
Linux System Administration
#!/bin/bash
echo –e “\nMENU\n”
echo –e “(1) Cria diretório”
echo –e “(2) Cria Back-up”
echo –e “(3) Descompacta arquivo.tar.bz2”
echo –n –e “\nDigite a opção escolhida: ”
read –n1 op
case $op in
1)
echo –n –e “\nInforma o nome do diretório: ”
read nome_dir
if [ -d $nome_dir ];
then
echo –e “\nEste diretório ja existe...”
else
mkdir $nome_dir
echo –e “\nDiretório criado com sucesso...”
fi;;
2)
echo –n –e “\nInforme o diretório para back-up: ”
read dir_bkp
if [ -d $dir_bkp ];
then
tar cvfj $dir_bkp.tar.bz2 $dir_bkp
echo –e “\nBack-up criado com sucesso!”
else
echo –e “\nDiretódio não encontrado!”
fi;;
3)
echo –n –e “\nInforme o arquivo .tar.bz2: ”
read arq_tar.bz2
if [ -d $arq_tar.bz2 ];
then
tar xvfj $arq_tar.bz2
echo –e “\nArquivo descompactado em `pwd`”
else
echo –e “\nArquivo não encontrado!”
fi;;
Seja um Profissional Aprendendo com Profissionais 110
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 111/146
Linux System Administration
Gerenciamento de Arquivos de LOG
O que sao Logs?
Logs são registros de eventos que têm como objetivo fornecer informação do comportamento
do sistema. Os eventos registrados podem ser normais, como: login de usuário, acesso à uma página
Internet, execução de um comando, etc. Também podem ser de eventos anormais, como: falta de
espaço em disco, travamento de um aplicativo, invasão do sistema, etc. Assim, através da análise dos
logs, o técnico pode orientar suas ações para corrigir ou melhorar a configuração do sistema.
Formatos de arquivos de logs
O diretório padrão dos logs é /var/log/ e geralmente utiliza dois formatos de arquivos:
texto - por exemplo, /var/log/messages ou /var/log/syslog que são visualizados com comandos como
tail.
#tail -f /var/log/messages
-f : fica lendo o arquivo repetidamente, ou seja, qdo o arquivo é modificado a tela é
atualizada.
binário - por exemplo, /var/log/wtmp. que é visualizado com o comando especí fico last
#last -f /var/log/wtmp
Gerando LOGs
A geração de logs pode ser feita por qualquer daemon ou programa instalado no sistema. Os
daemons mais comuns para a geração de logs são o syslogd e o klogd.
Seja um Profissional Aprendendo com Profissionais 111
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 112/146
Linux System Administration
O Daemon Syslogd
O syslogd é responsável pelas mensagens de log do sistema. Uma das principais vantagens de
possuir daemon de logs é a centralização das informações geradas, evitando assim a leitura de dezenas
ou centenas de arquivos.
O Daemon Klogd
O klogd monitora as mensagens de log do kernel. Ele realiza o monitoramento e envia as
informações por padrão para o syslogd.
O klogd registra as mensagens dentro do arquivo /proc/kmsg.
Os principais diretórios e arquivos de log
Nas tabelas a seguir serão apresentados os principais arquivos e diretórios de log com uma breve
apresentação sobre os mesmos:
Diretórios
Diretório Descrição
/var/log/ Armazena a maioria dos logs gerados no sistema.
/proc/ Armazena alguns arquivos de log gerados pelo kernel.
Arquivos do /var/log
Arquivo Descrição
messages Armazena as principais mensagens do kernel.
dmesg Armazena a mensagem de inicialização dos dispositivos do sistema
secure Armazena mensagem a ní vel do usuário, login, alteração, tipos de acessos.
boot.log Armazena mensagens de inicialização de ferramentas do sistema.
kdm.log Armazena mensagens de abertura do ambiente gráfico
lastlog Armazena informações de acesso do usuário. Arquivo binário.
Arquivos do /proc
Seja um Profissional Aprendendo com Profissionais 112
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 113/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 114/146
Linux System Administration
Controle de cotas de disco
É importante que o administrador de uma rede linux, tenha controle do espaço que é utilizado
no servidor para garantir uma melhor performance e consistência do mesmo. A criação de quotas de
disco especifica o tamanho que cada usuário ou grupo poderá utilizar, garantindo assim que um
usuário não ocupe todo o espaço do servidor com arquivos pessoais (mp3, filmes, jogos, etc).
O controle de espaço pode ser especificado tanto para cada usuário como para grupo. Se o
limite é ultrapassado o usuário perde a atribuição de criação de novos recursos (neste caso, arquivos e
diretórios) dentro do sistema, ou seja, nada que ocupe espaço.
Existem duas formas de controle do armazenamento de dados no Linux:
• Controle de espaço em disco; e/ou
• Quantidades de arquivos (ou diretórios) criados.
A primeira forma de controle, é importante para a manutenção do disco, pois o recurso de
armazenamento possui um determinado espaço f í sico, não permitindo assim a gravação de nenhum
bit a mais da capacidade.
A segunda, auxilia no controle da quantidade de arquivos presentes no sistema, embora não
pareça ser útil, serve para forçar o usuário manter seus arquivos sempre atualizados, e os que não
forem mais utilizados sejam deletados.
Verificando suporte a cota
Para utilizarmos o recurso de cotas de disco, o kernel do S.O. a ser utilizado dever á ter a opção para
quota de disco habilitada. Para isso, digite:
# less /lib/modules/{versão_kernel}/build/configs/{versão_kernel}-i386.config
Seja um Profissional Aprendendo com Profissionais 114
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 115/146
Linux System Administration
Digite: uname -r para saber a versão do kernel.
Verifique se a linha CONFIG_QUOTA está descomentada e marcada com a opção 'y'.
Exemplo:
CONFIG_QUOTA=y
Se esta linha estiver comentada (#) e/ou estiver marcada com a opção 'n'. O kernel não está dando
suporte a quotas de disco, sendo necessário a re-compilação deste.
Verificando a instalação da ferramenta para quota de disco
Habilitando quota em uma parti çã o
As quotas são aplicadas sobre as partições, devendo estas estarem habilidadas para usuário ou grupos,
nas seguintes entradas:
usrquota: quota para usuários;
grpquota: quota para grupos;
Configurando quota de disco
Abrir o arquivo /etc/fstab e marcar as partições que receberão quota com o seu tipo (usuário e/ou
grupos). Como no exemplo:
<dispositivo> <pto_montagem> <tipo> <opção> <outras>
Seja um Profissional Aprendendo com Profissionais 115
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 116/146
Linux System Administration
/dev/hda2 /boot ext3 defaults 0 0
/de/hda7 / ext3 defaults,usrquota,grpquota 0 0
Neste exemplo é marcado o dispositivo /dev/hda7, raiz do sistema, como o receptor de quota de disco
tanto para usuários quanto para grupos.
Criar dois arquivos dentro do dispositivo marcado para utilização de quota (/dev/hda7). Neste caso é a
raiz do sistema. Os arquivos deverão ter os nomes quota.user e quota.group para usuários e grupos
respectivamente.
# cd /
# touch quota.user quota.group
É recomandado mudar as permissões destes arquivos, afim de não serem alterados por outros
usuários.
# chmod 600 quota.*
# ls -l quota.*-rw------- 1 root root 0 Jul 15 14:14 quota.group
-rw------- 1 root root 0 Jul 15 14:14 quota.user
Agora devemos refazer a leitura do sistema de arquivo que irá receber a quota de disco, ou seja,
remontar o dispositivo /dev/hda7, /, com as novas alterações que foram feitas no arquivo /etc/fstab.
Para isso digite:
# mount -o remount /
Digite mount para visualizar as novas alterações:
# mount
/dev/hda7 on / type ext3 (rw,usrquota,grpquota)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
Seja um Profissional Aprendendo com Profissionais 116
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 117/146
Linux System Administration
Execute o comando quotacheck na partição selecionada, /, gerando assim a leitura do mesmo e
marcando dentro dos arquivos quota.user e quota.group.
#quotacheck -augvm
Onde:
a: checa todos os sistemas de arquivos registrados no /etc/fstab como dispositivo de quota;
u: checa os arquivos e diretórios dos usuários;
g: checa os arquivos e diretórios dos grupos;
v: apresenta o andamento da verificação;
m: força a checagem.
Depois de terminar a varredura do dispositivo, iremos ativar as quotas de disco. Para isso execute:
# quotaon -augv
/dev/hda6 [/]: group quotas turned on
/dev/hda6 [/]: user quotas turned on
Após esses passos o sistema estará com as quotas ativas, mas isso ainda não implica em
limites de utilização para os usuários, sendo necessário realizar estas configurações manualmente,
conforme próxima seção.
Para desativar as quotas de disco basta usar o comando quotaoff com as mesmas opções utilizadas
para ativá-las:
# quotaoff -augv
/dev/hda6 [/]: group quotas turned off
/dev/hda6 [/]: user quotas turned off
Seja um Profissional Aprendendo com Profissionais 117
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 118/146
Linux System Administration
Gerenciando quotas
Para habilitar o controle de cota de disco o administrador da rede deve definir, antes de mais
nada, o tamanho que será disponibilizado para cada usuário. A regra geral é que todos os usuários
tenham uma quota definida, de maneira que a soma dos limites de espaço de todos os usuários não
ultrapasse o espaço disponí vel da partição que está com o sistema de quotas ativado.
Definindo quota para usu á rios
Uma vez ativado as quotas será necessário o gerenciamento delas, definindo o tamanho de
quota para cada usuário, tanto para o espaço em disco quanto para a quantidade de arquivos.
Por segurança, as quotas só podem ser editadas pelo root, com o seguinte comando:
# edquota [opção] [usuário/grupo]
opção:
-g: define quota para um determinado grupo;
-u: define quota para um determinado usuário.
#edquota -u pedrohenrique
Exemplo do conteúdo deste arquivo:
Disk quotas for user pedrohenrique (uid 505):
Filesystem blocks soft hard inodes soft hard
/dev/hda6 44 0 0 12 0 0
O seu conteúdo apresenta as seguintes colunas:
Seja um Profissional Aprendendo com Profissionais 118
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 119/146
Linux System Administration
Filesystems: especifica a partição que é possí vel ativar quotas.
Blocks: especifica a soma em kilobytes de todos os arquivos do usuário na partição em questão (neste
caso, o usuário rafael possui atualmente 44 KB de dados em /dev/hda6).
Soft: é o limite lógico do usuário, ou seja, a partir do momento que o usuário ultrapassa esse limite,
ele será alertado pela ferramenta quota para que diminua a quantidade de dados (por um perí odo
“Grace Period” – explicado mais abaixo) porém ainda conseguirá gravar dados no disco, até o limite
hard.
Hard: é o limite f í sico, o limite pelo qual o usuário não consegue passar.
Inodes: é a quantidade atual de arquivos do usuário (o usuário rafael possui 12 arquivos em
/dev/hda6).
NOTA: Se os valores para a coluna soft e hard estiverem com o valor igual a zero, 0, isso indica que nã o est ã o
definidos o tamanho má ximo para utilizaçã o do usuário e que este pode gravar o que quiser do tanto que
quiser.
Edite o arquivo. Exemplo:
#edquota -u pedrohenrique
Disk quotas for user pedrohenrique (uid 505):
Filesystem blocks soft hard inodes soft hard
/dev/hda6 44 2048 3072 12 0 0
Agora o usuário rafael possui as seguintes configurações de quota:
Em disco:
Seja um Profissional Aprendendo com Profissionais 119
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 120/146
Linux System Administration
Limite lógico: 2.048Kb = 2Mb
Limite f í sico: 3.072Kb = 3Mb
Número de Arquivos:
Ilimitado. Até atingir sua quota máxima, é claro!
Definindo quota para outros usuários
Para definir quotas de disco para outros usuários, não necessariamente, deve ser executado ocomando edquota -u <user> para cada usuário cadastrado no sistema, até porque, isso leva um tempo
considerável, caso o número de usuários seja grande.
Uma maneira f ácil e rápida para definir quotas para os outros usuários é executando o seguinte
comando: edquota -p <usuario_model> <lista_de_usuários>. Para isso deve existir um usuário
com as quotas definidas para servir de modelo. Ou seja, todos os outros usuários terão as mesmas
configurações de quota que está sendo usada pelo usuário_modelo.
# edquota -p pedrohenrique leandro rubia angela jose maria ...
-p: indica que a lista_de_usuários deve possuir as mesmas configurações que o usuário_modelo
Após a execução do comando acima execute:
# edquota -u leandro
# edquota -u rubia
# edquota -u angela
# edquota -u jose
# edquota -u maria
Observe que as mesmas configurações de quotas definidas para o usuário rafael, agora estão
Seja um Profissional Aprendendo com Profissionais 120
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 121/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 122/146
Linux System Administration
mais nenhum arquivo, mesmo que o limite f í sico (hard) ainda não estiver se esgotado.
Se isso acontecer o usuário terá que eliminar alguns arquivos até ficar com o espaço menor
que o espaço lógico, definido pela coluna soft.
Definindo quotas para grupo
A quota de grupo é útil quando se trabalha em determinados setores dentro da empresa e por
sua vez dentro do sistema. Por exemplo, em uma empresa que possui um grupo chamado financeiro e
um outro grupo chamado programação, ambos os grupos devem ter direitos de gravação dentro do
sistema, mas é interessante repassar uma quota para ambos os grupos, pois senão cada usuário
presente dentro dos grupos irá aproveitar a quota de grupo para armazenar seus arquivos pessoais,
para não ocupar seu espaço no disco.
Para editar quotas de grupos, basta executar:
#edquota -g <grupo>
#edquota -g cpd
As configurações de quotas para grupos são feitas da mesma forma que são definidas para os
usuários.
Suponhamos que a configuração do arquivo seja a seguinte:
Disk quotas for group cpd (gid 505):
Filesystem blocks soft hard inodes soft hard
/dev/hda6 5000 19000 20000 30 0 0
No exemplo os grupo possui 5.000kb em disco, seu limite lógico (soft) é 19.000kb e seu limite
f í sico (hard) é 20.000kb.
Seja um Profissional Aprendendo com Profissionais 122
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 123/146
Linux System Administration
O ponto mais importante de se frizar é que a quota de grupo é um limite de utilização para
todos os usuários do grupo. Ou seja, vamos supor o seguinte caso:
cpd:x:507:pedrohenrique, fulano, beltrano, ciclano
Utilizando o exemplo acima, os usuários do grupo cpd (pedrohenrique, fulano, beltrano,
ciclano) podem utilizar juntos no máximo 20.000kb. Ou seja, se o usuário pedrohenrique utilizar
19500kb os outros usuários (fulano, beltrano, ciclano) poderão usar no máximo 500kb.A confuração “Grace Period” é válida tanto para usuários quanto para grupos.
Seja um Profissional Aprendendo com Profissionais 123
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 124/146
Linux System Administration
Agendador de Tarefas
A administração de um servidor exige executar tarefas periódicas, como: realizar backup no
final do turno de trabalho, checagem e atualização de banco de dados, leitura de informações em e-
mail, entre outras tarefas. Neste sentido, foi criada# ls /var/log/packages/ uma ferramenta de
agendamento de tarefas denominado cron.
O agendador cron, que é o agendador padrão do UNIX, vem no pacote crontabs. A
configuração pode ser feita por várias ferramentas e arquivos de várias autorias, neste material será
abordada a ferramenta de autoria de Paul Vixie, que é a mais popular entre os administradores de
sistemas, o nome deste pacote é vixie-cron.
Consulta na Base de Dados packages .
#ls /var/log/packages/
CRON
Essa ferramenta possui como daemon o serviço crond, responsável pela verificação dos
arquivos de configuração do agendador. Ele verifica a cada minuto se houve mudança na data de seu
diretório de serviços (ou na data do arquivo em /etc/crontab). Se tiver ocorrido mudança, o cron irá
examinar a data de todos os arquivos crontab e recarregar aqueles que foram alterados. Por isso o
serviço crond não precisa ser reativado quando houver alteração em qualquer um de seus arquivos de
configuração.
Pode se usar a consulta aos processos para saber se o serviço crond está rodando, como
apresentado a baixo:
#ps ax | grep crond
crond (pid 8478) está rodando...
NOTA: para não ter que inicializar o crond toda vez que for necessário reiniciar o sistema, utilize a ferramenta ntsysv.
Seja um Profissional Aprendendo com Profissionais 124
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 125/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 126/146
Linux System Administration
HOME é usado como o diretório padrão quando se executa comandos ou scripts.
NOTA: Se o campo da variável MAILTO estiver definido como uma string vazia (MAILTO=""), o e-mail nã o ser á enviado.
Cada linha do arquivo /etc/crontab representa a tarefa e tem o formato:
<minuto> <hora> <dia> <mês> <dia_da_semana> <comando>
Os campos são descritos da seguinte maneira:
Cam o Valores Validos minuto ual uer inteiro de 0 a 59
hora ual uer inteiro de 0 a 23
dia ual uer inteiro de 1 a 31
mês ual uer inteiro de 1 a 12
dia da semana ual uer inteiro de 0 a 7
Se um campo tiver indicado com asterisco (*) , significa que aceitará toda a faixa de valores válidos.
Pode-se usar intervalos de números. O intervalo é um par de números separado por hí fen. Por
exemplo, no intervalo 15-19 em uma entrada “horas” especifica execução as 15 , 16 , 17 , 18 e 19horas.
Listas são válidas também. Listas são números separados por ví rgulas. Exemplo: “1-5,8,12”. Ou sena,
1, 2, 3, 4, 5, 8, 12.
Também existe a possibilidade de se usar frações de tempo, por exemplo de 10 em 10 minutos, o
formato da fração é */tempo, assim para o caso apresentado seria */10 no campo de minutos.
Nomes (em inglês) também podem ser usados nos campos “mês” e “ dia_da_semana”. Deve-se usar
as três primeiras letras do dia ou mês. (Segunda = mon = 1)
O sexto campo (o restante da linha) determina o comando a ser executado. Deve-se utilizar
todo o caminho até o comando. Para saber onde está o comando a ferramenta whereis pode auxiliar.
As distribuições baseadas na Red Hat utilizam o arquivo /etc/crontab para organizar diretórios
de tarefas, como em dias, horas, semanas e meses. O arquivo /etc/crontab pode utilizar o script run-
parts para executar os scripts nos diretórios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, e
/etc/cron.monthly. Os arquivos nesses diretórios devem estar escritos em shell script. Para adicionar
Seja um Profissional Aprendendo com Profissionais 126
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 127/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 128/146
Linux System Administration
# crontab -e
O comando acima irá abrir um arquivo com o editor padrão do usuário. Acrescentar à linha a ser
executada:
0 18 * * * /bin/cp -rf /var/log/* /root/logs
<minuto> <hora> <dia> <mês> <dia_da_semana> <comando>
Acima foi passado para que às 18 horas de todos os dias ele faça uma cópia do diretório
/var/log. A utilidade de se fazer a cópia deste diretório é porque dentro dele ficam armazenadas
informações do sistema e acessos ao mesmo, além de outras informações.
Fazer a cópia ajuda, porém não é interessante apenas fazer a cópia, pois um dia que se esqueça
de realiza-la, todas as informações do dia anterior serão perdidas. Assim é aconselhável criar um
script shell para fazer a cópia, empacotar e compactar os arquivos. Portanto deverá ser criado um
arquivo com o nome de script.sh dentro do diretório do root, além de um diretório chamado logs. O
código do script pode ser:
#vi /root/script.sh
#!/bin/bash
cd /var/log
tar cvfz backup`date + %m%d`.tar.gz *
mv backup* /root/logs
O script acima irá executar os seguintes comandos:
• entrar no diretório /var/log (após a finalização do script ele retornará para o diretório antes da sua
chamada).
• empacotar e compactar todo o conteúdo do diretório /var/log com o nome de backup e
complementada pela data do dia.
• mover o backup gerado para dentro do diretório /root/logs.
Seja um Profissional Aprendendo com Profissionais 128
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 129/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 130/146
Linux System Administration
Anacron ( Para RedHat )
O anacron é um executor de tarefas agendadas que por algum motivo não foram executadas.
Quando o computador necessita ser desligado e já existe alguma tarefa agendada justamente no
horário que ela está desligado, ao inicializar o sistema o anacron verifica a tabela do /etc/anacrontab, e
caso alguma não tenha sido executada ele o fará imediatamente.
O seu uso é recomendado quando o sistema pode não estar executando no momento de tarefas
agendadas, mas se o sistema permanece ligado 24 horas por dia e 7 dias na semana é melhor utilizar o
cron.
Sintaxe:
anacron [opções] [jobs]
opções:
-f força a utilização do anacron, ignorando o horário de execução
-u apenas atualiza a data de execução para a data corrente, porém sem realizar nada
-n executa o comando imediatamente após a sua chamada
-d não lança o anacron para executar em backgroud, retorna também a versão, o horário de
ativação e a quantidade de jobs para serem executados
-h chama o help do comando. Exemplo: agendar uma tarefa com o cron para ser executado às
2:00 da manhã todos os dias.
Chamar o agendador do cron:
#crontab -e
Acrescentar a tarefa para o anacron, neste caso será uma cópia do arquivo /var/log/messages
para dentro do diretório do root:
0 2 * * * /bin/cp -Rf /var/log/messages /root/anacron_log
Seja um Profissional Aprendendo com Profissionais 130
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 131/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 132/146
Linux System Administration
Configuração dos Dispositivos de Hardware
Para efetuar configurações de hardware é necessário e importante fazer uma pesquisa sobre o tipo de
cada um deles e verificar as ferramentas que auxiliam na sua configuração. Cada distribuição linux
possui suas ferramentas especí ficas.
Neste material serão abordados configurações de hardware para distribuição Slackware 10.2.
Ferramentas: Alem dessas, existe a ferramenta PKGTOOL, para auxiliar a configuração de alguns dispositivos em
modo texto. Para visualizá-la execute o comando:
Configurando impressora com CUPS
1) Passo: Habilitar servidor de impressao
# /etc/rc.d/rc.cups stop# /etc/rc.d/rc.cups start
2) Passo: Logar no servidor CUPS através do browser
Seja um Profissional Aprendendo com Profissionais 132
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 133/146
Linux System Administration
Existem vários comandos afins de gerenciar a fila de impressão, alguns deles serão comentados
abaixo:
#lpq -a
Rank Owner Job File(s) Total Size
active root 6 testpage.asc 1024 bytes
1st root 7 testpage-a4.ps 18432 bytes
Este comando é usado para mostrar a fila de impressão de todas as impressoras que estão em atividade
na máquina local.
#lpstat
hp840-6 root 1024 Ter 03 Ago 2004 19:32:11 BRT
hp840-7 root 18432 Ter 03 Ago 2004 19:32:21 BRT
Este comando mostra com menos detalhes a fila de impressão.
#lpq –a lista a fila de impressão
Rank Owner Job File(s) Total Size
active root 6 testpage.asc 1024 bytes
1st root 7 testpage-a4.ps 18432 bytes
# lprm 7 remove da fila a impressão de job 7
# lpq –a mostra a nova fila de impressão
Rank Owner Job File(s) Total Size
active root 6 testpage.asc 1024 bytes
Este comando, lprm <job>, remove um arquivo identificado por <job> da fila de impressão. É
interessante visualizar-mos o identificador (job) do arquivo para removê-lo. Entretanto a execução
desse comando sem o job, lprm, fará com que o próximo da fila seja removido.
# lpr /etc/passwd
Seja um Profissional Aprendendo com Profissionais 133
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 134/146
Linux System Administration
O comando acima envia um job (arquivo para impressão) para fila de impressão. Verifique com o
comando lpq -a.
# lpq -a
Rank Owner Job File(s) Total Size
active root 6 testpage.asc 1024 bytes
1st root 8 passwd 2048 bytes
É possí vel remover vários arquivos da fila de impressão. Para isso usamos o comando lprm
identificando todos os jobs que devem ser removidos da fila. Observe os comandos:
# lprm 6 8
# lpq -a
no entries
O primeiro comando remove os arquivo de job 6 e 8 respectivamente; o segundo lista a fila de
impressão com nenhum job em atividade.
Seja um Profissional Aprendendo com Profissionais 134
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 135/146
Linux System Administration
Configuração Básica do Servidor NFS
Lado Servidor
1° passo: Verificar se alguns pacotes estão instalados no sistema: portmap e nfs.
# ls /var/log/packages | grep portmap
portmap-5.0
# ls /var/log/packages | grep nfs
nfs-utils
2° passo: Verifique se o daemon portmap está rodando. Para isso execute:
# ps ax | grep portmap
portmap (pid 1515) está rodando...
Caso esteja parado, inicie-o.
# /etc/rc.d/portmap start
3° passo: Editar o arquivo /etc/exports de forma a identificar os diretórios/arquivos que deverão ser
compartilhados publicamente ou não. Ele é configurado identificando duas colunas, a primeira deve
possuir o caminho absoluto do diretório/arquivo que será compartilhado; a segunda deve possuir
informações sobre as máquinas que poderão utilizar este compartilhamento (IP/MASCARA) e suas
devidas permissões.
Seja um Profissional Aprendendo com Profissionais 135
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 136/146
Linux System Administration
#vi /etc/exports
Exemplo de conteúdo deste arquivo:
/publico 10.62.0.0/255.255.0.0(rw,no_root_squash)
Neste exemplo o diretório que está sendo compartilhado é publico que encontra-se no / . Este está
disponí vel para rede 10.62.0.0 de mascara casse B, 255.255.0.0, ou seja, todos computados, com
permissões de leitura e escrita (rw) e que o root das máquinas cliente terão privilégios de root no
diretório compartilhado do servidor que está definido pela opção no_root_squash. Se desejar que
isso não seja possí vel, substitua no_root_squash por root_squash, o mesmo vale para a opção rw
podendo ser substituí da por ro (read-only – somente leitura).
4° passo: reiniciar o daemon do nfs
# /etc/rc.d/nfs stop
5° passo: Verifique os compartilhamentos existentes
#exportfs -v
/publico 10.62.0.0/255.255.0.0(rw,wdelay,no_root_squash)
Lado Cliente
1° passo: Efetuar a montagem do compartilhamento indicando o IP do Servidor. Por exemplo;
# mount -t nfs 10.62.0.104:/publico /opt
Sintaxe do comando acima:
Seja um Profissional Aprendendo com Profissionais 136
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 137/146
Linux System Administration
# mount -t nfs IP_Server:Caminho_do_copartilhamento ponto_de_montagem
2° passo: Digite o comando mount para verificar todos dispositivos montados atualmente.
# mount
/dev/hda5 on / type ext3 (rw,usrquota,grpquota)
/dev/hda2 on /boot type ext3 (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
...
10.62.0.102:/publico on /opt type nfs (rw,addr=10.62.0.102)
login: <entre com login>
Password: <entre com a senha>
$ um Shell é disponibilizado.
NOTA: deve previamente existir um usuário cadastrado no servidor que saiba login e senha para acessa-lo via telnet.
OBS.: O root não loga via telnet por padrão. Deve-se editar o arquivo /etc/securetty para que essa opção seja habilitada,
adicionando consoles virtuais do tipo pts/x.
#vi /etc/securetty
Exemplo de conteúdo deste arquivo:
console
vc/1
...
vc/11
tty1
...
tty11
Seja um Profissional Aprendendo com Profissionais 137
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 138/146
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 139/146
Linux System Administration
Are you sure you want to continue connecting (yes/no)?
3° passo: Digite yes para efetivar a conexão e logo depois a senha para o usuário informado.
Warning: Permanently added '10.62.0.102' (RSA) to the list of known hosts.
[email protected]'s password:
Se a senha informada estiver correta um shell será exibido.
$
Seja um Profissional Aprendendo com Profissionais 139
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 140/146
Linux System Administration
Compilação do Kernel
Por que recompilar o kernel ? A primeira intenção é otimizar o kernel para o seu hardware a fim de
melhorar a performance e suportar todos os dispositivos.
Você também pode querer atualizar o sistema obtendo suporte a novos resursos e dispositivos de
hardware.
Ou você pode querer se livrar de BUG's.
O que é o kernel? O kernel Linux é o centro do sistema operacional. A parte do sistema responsável
pelo gerenciamento de baixo ní vel do hardware e software.
Quais são os requerimentos mí nimos de hardware? Isso varia muito de acordo com a arquitetura e
a versão do kernel. Mas tenha em mente o seguinte para ter um sistema mí nimo funcional:
16MB de RAM (memória f í sica), 100MHz de clock de processamento e 100MB de espaço em disco
(memória virtual).
#Verificando o clock e a arquitetura
#cat /proc/cpuinfo
M ó dulos
Módulos são os drivers disponiveis junto ao kernel do sistema operacional. No sistema Linux
podemos manipular estes drivers da seguinte forma:
Listar os módulos carregados em memória
#lsmod
Module Size Used by Not tainted
cls_route 4344 0 (unused)
cls_u32 4892 1
cls_fw 2584 0 (unused)
Seja um Profissional Aprendendo com Profissionais 140
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 141/146
Linux System Administration
sch_prio 2816 0 (unused)
sch_sfq 3360 0 (unused)
sch_tbf 2880 5sch_cbq 12640 1
via-rhine 12464 1
mii 2272 0 [8139too via-rhine]
crc32 2880 0 [8139too via-rhine]
pcmcia_core 39972 0
ide-scsi 9328 0
Descarregar os módulos carregados em memória
# rmmod <nome_m ódulo>
# rmmod via-rhine
Carregar módulos em memória
# insmod < nome_m ódulo>
# insmod vfat
# insmod fat
Carregar módulos e suas dependências
#modprobe <sintaxe>
#modprobe vfat
Compilando o kernel
1) Passo: Baixe o pacote que contém o código fonte mais atualizado do kernel Linux da série 2.6 em
http://www.kernel.org
Abrindo a página no navegador web, clique no link F para fazer o download do pacote que contém os
fontes.
Você também poderá fazer o download com o comando wget como no exemplo abaixo:
Seja um Profissional Aprendendo com Profissionais 141
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 142/146
Linux System Administration
$wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2
2) Passo: Instalar o kernel - Como superusuário (faça o login no sistema com o usuário root),
descompacte e desempacote o arquivo assim:
# tar xjvf linux-2.6.7.tar.bz2 -C /usr/src
3) Passo: Crie o link simbólico /usr/src/linux apontando para /usr/src/linux-2.6.7 assim:
# ln -sf /usr/src/linux-2.6.7 /usr/src/linux
4) Passo: Diretório Fonte - Este será o diretório raiz de compilação, ou seja, o diretório base para os
passos seguintes.
# cd /usr/src/linux
O arquivo /usr/src/linux/.config armazena a configuração do kernel. Basicamente, este arquivo
descreve o que deverá ser incorporado ao kernel (y) e o que deverá ser criado como módulo (m).
Incorpore ao kernel apenas o necessário. O restante necessário, configure como módulo. O que não
for necessário, retire. Por exemplo, se você não tem dispositivos pcmcia em sua máquina, retire da
configuração o suporte a pcmcia. Isto possibilita uma maior performance por parte do sistema.
O kernel Linux pode ser modular, ou seja, o suporte básico fica incorporado ao kernel constantemente
e o suporte a outros dispositivos, como por exemplo, uma placa de som, pode ser configurado como
módulo. Assim sendo, este módulo da placa de som é carregado na memória e plugado ao kernel
apenas quando for necessário, ou seja, apenas quando o usuário estiver utilizando som no sistema.
Isto otimiza o sistema, utilizando seus recursos sabiamente.
Existe uma configuração padrão para cada tipo de arquitetura de harware no diretório
/usr/src/linux/arch. O nome do arquivo é defconfig. Supondo que sua arquitetura de harware seja i386,
Seja um Profissional Aprendendo com Profissionais 142
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 143/146
Linux System Administration
a mais comum, faça uma cópia do arquivo defconfig para o diretório raiz de compilação com o nome
.config assim:
6) Passo: Copiar arquivo de configuração
# cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config
Em alguns casos de arquitetura, pode existir um diretório configs contendo configurações especí ficas
e testadas para cada modelo de máquina.
Sendo assim, ao iniciar a ferramenta de configuração, você já terá alguns itens marcados. Não será
necessário iniciar do zero uma configuração.
7) Passo: Ferramenta de configuração
# make menuconfig
ou
# make xconfig (modo gráfico)
Perceba a existência de uma configuração já pré-definida. Isto se deve ao fato de você ter copiado o
arquivo defconfig para o
diretório raiz de compilação com o nome de .config.
Algumas dicas:
1) Marque com * itens que serão incorporados ao arquivo do kernel como por exemplo,
sistemas de arquivos que você utiliza ou
vai utilizar em suas partições.
2) Marque com m itens que serão criados como módulo, ou seja, serão plugados ao kernel
apenas quando houver necessidade de uso.
Seja um Profissional Aprendendo com Profissionais 143
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 144/146
Linux System Administration
Este é um passo demorado e deve ser feito com atenção. Acompanhe o help de cada
item para saber o que está incluindo ou não.
8) Passo: Após a configuração do kernel, vamos compilá-lo realmente. Para isto, execute o comando:
# make
Este passo pode levar minutos ou de um dia para o outro. Depende do poder da máquina onda você
vai compilar.
9) Passo: Após a compilação do kernel, vamos instalar os módulos com o seguinte comando:
# make modules_install
10) Passo : Agora vamos copiar o kernel (bzImage) para o diretório /boot. O arquivo está no diretório
de acordo com a arquitetura que você
estiver utilizando. Se você compilou o kernel em um PC, o que é mais comum, então o comando para
copiar é o seguinte:
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.7-i386-1
Nomeie os arquivos de acordo com a versão do kernel que está compilando e de acordo com a
arquitetura de hardware.
Agora vamos copiar o arquivo System.map para /boot:
# cp /usr/src/linux/System.map /boot/System.map-2.6.7-i386-1
Criando um link simbólico para System.map:
Seja um Profissional Aprendendo com Profissionais 144
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 145/146
Linux System Administration
# ln -sf /boot/System.map-2.6.7-i386-1 /boot/System.map
Agora vamos copiar o .config para /boot:
# cp /usr/src/linux/.config /boot/config-2.6.7-i386-1
11) Passo: Vamos criar um arquivo initrd assim:
# mkinitrd -o /boot/initrd-2.6.7-i386-1.img 2.6.7-i386-1
A opção (-o arquivo) diz onde salvar o arquivo initrd gerado.
A próxima opção de parâmetro é a versão do kernel que você compilou.
Na verdade, o initrd não é necessário caso você tenha incorporado ao kernel todo a hardware
necessário para sua inicialização
e o restante que não é necessário para a inicialização como módulo. Ou seja, você não deve configurar
como módulo o chipset da sua
placa mãe, suporte a IDE e todos os sistemas de arquivos que estiver utilizando, como ext3, jfs, xfs e
reiserfs.
11) Passo: Vamos configurar o gerenciador de boot, GRUB ou LILO, qual você utiliza?
Configura çã o GRUB (Isto é apenas um exemplo):
# Note que você não precisa regravar o GRUB no MBR ou partição especí fica após feitas as alterações.
boot=/dev/hda
default=0
timeout=10
title Debian GNU/Linux (2.4.25-i386-c4)
root (hd0,1)
kernel /boot/vmlinuz-2.4.25-i386-c4 ro root=LABEL=/
Seja um Profissional Aprendendo com Profissionais 145
8/12/2019 139166004-Curso-Red-Hat
http://slidepdf.com/reader/full/139166004-curso-red-hat 146/146
Linux System Administration
initrd /boot/initrd-2.4.25-i386-c4.img
title Debian GNU/Linux (2.6.7-i386-1)
root (hd0,1)kernel /boot/vmlinuz-2.6.7-i386-1 ro root=LABEL=/
initrd /boot/initrd-2.6.7-i386-1.img
Configura çã o do LILO (Isto é apenas um exemplo):
# Note que você precisa regravar o LILO no MBR ou partição especí fica após feitas as alterações.
boot=/dev/hda
map=/boot/mapinstall=/boot/boot.b
default=2.6.7
lba32
prompt
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/vmlinuz
label=2.4.25