0% acharam este documento útil (0 voto)
32 visualizações14 páginas

Inicialização e Gerenciamento do Sistema Linux

Enviado por

Marcelo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
32 visualizações14 páginas

Inicialização e Gerenciamento do Sistema Linux

Enviado por

Marcelo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

Tópicos

• Inicialização do sistema
• Serviços do Kernel
• Serviços do Sistema
• Gerenciamento de pacotes
• Gerenciamento do Sistema de arquivos
• Administração de usuários
Aula 1-2
Inicialização do Sistema
Objetivos
•Sequência de boot
•Gerenciador de boot
•Scripts init
•Serviços da inicialização
•Controle de serviços
Sequência de Boot
• Inicialização da BIOS
• Bootloader
• Inicialização do Kernel
• init executa runlevel desejado e as configurações iniciais:
– /etc/rc.d/[Link]
– /etc/rc.d/rc and /etc/rc.d/rc?.d/
– /etc/rc.d/[Link]
– Virtual consoles
– X Display Manager (se for o caso)
Inicialização da BIOS
• POST (power on self test)
• Detecta dispositivos
• Determina o dispositivo de boot
• Primeiro setor de boot é lido e executado
MBR

Gerenciador de Boot
Componentes do Grub

• O MBR contém o estágio 1 do GRUB. Dado o pequeno tamanho deste estágio, ele
apenas carrega o próximo estágio do GRUB (que pode residir em qualquer locação do
disco). O estágio 1 pode carregar o estágio 1.5 ou o estágio 2 diretamente.

• O estágio 1.5 é localizado nos 30 primeiros Kb do disco imediatamente após o


MBR. O estágio 1.5 carrega o estágio 2.

• O estágio 2 recebe o controle, e mostra ao usuário o menu com as opções de


sistemas operacionais instalados no sistema
Gerenciador de Boot cont.
O GRUB carrega na memória o núcleo do SO escolhido (ou o padrão) e passa o controle
a este núcleo. (Para sistemas operacionais não suportados totalmente pelo GRUB, o
controle é passado para outro carregador que continua o processo até carregar o
núcleo em memória).

Atualmente o GRUB é o gerenciador de boot mais utilizado no ambiente Linux, sendo


seu antecessor (LILO) pouco a pouco sendo descontinuado.
Gerenciador de Boot cont.
Conteúdo do Menu

Especificações mínimas para Linux:


• Título, localização do kernel, OS root filesystem e ramdisk inicial (initrd)
Especificação mínima para os outros SO:
• Título, dispositivo de boot
Grub e [Link]
Grub
• Disponibiliza uma interface interativa
• Suporta ext2/ext3, ReiseerFS, JFS, Fat, etc.
• Proteção com senha MD5 (impede alterações na inicialização do sistema)
/boot/grub/[Link]
• Não é necessário reinstalar o GRUB após mudanças
• Em caso de falhas na MBR , é possivel reinstalar o stage1

[Link] cont.
• Criação da senha
– Utilitário grub-md5-password
• Configuração da senha
– Opção do [Link]
– password --md5 $1$ggJbr$XdIaHTo
• Reinstalação do stage1 (MBR)
– /sbin/grub-install /dev/hda
• Reinstalação do grub
– find /boot/grub/stage1
– root (hd?,?)
– setup (hd0)
– quit
Exemplo [Link]
default=0 timeout=10
splashimage=(hd0,0)/grub/[Link] hiddenmenu
title Red Hat Enterprise Linux (2.6.8-1.523) root (hd0,0)
kernel /vmlinuz-2.6.8-1.523 ro root=/dev/
VolGroup00/LogVol00 rhgb quiet initrd /[Link]

# section to load Windows title Windows chainloader +1


Inicialização do Kernel
• Funções de inicialização do sistema
– Detecta de dispositivos
– Carrega Drivers
– Monta partição root (ro)
– Inicia o processo init

• Log
– Arquivo /var/log/dmesg
Inicialização do init
• Init lê as configurações em /etc/inittab
– Inicia o run level
– Scripts de inicialização
– Executa o scripts no diretório do run level especificado
– Abre os terminais (consoles virtuais)
– Inicia o modo gráfico X no runlevel 5
Run Levels
• Nível de execução (Runlevel)
– Define serviços que serão iniciados
• Níveis de execução normais
– 2 => Modo texto multi-usuário sem NFS
– 3 => Modo texto multi-usuário
– 4 => Não utilizado
– 5 => Modo gráfico multi-usuário
Run Levels cont.
• Níveis de execução para finalizar a máquina
– 0 => Desliga o sistema
– 6 => Reinicia o sistema
• Níveis de execução para recuperação
– 1 => Modo mono-usuário
– s,S,single => Modo mono-usuário alternativo
– emergency => Não executa script [Link]
Utilitários
• Nível de execução atual
– /sbin/runlevel

• Alterar nível de execução (sem a necessidade de um reboot no sistema)


– init [novo_runlevel]
/etc/rc.d/[Link]
• Ativa gerenciador de dispositivos udev e selinux
• Configura parâmetros do kernel /etc/[Link]
• Configura o relógio do sistema
• Carrega configuração do teclado
• Habilita partições de swap
• Configura hostname
• Verifica e remonta sistemas de arquivos
• Ativa o RAID e LVM
• Ativas cotas de disco
/etc/rc.d/rc
• /etc/rc.d/rc define quais serviços que devem ser iniciados
– l5:5:wait:/etc/rc.d/rc 5
• Cada runlevel tem um diretório correspondente
– /etc/rc.d/rc[0123456].d
• System V init scripts:
– /etc/rc.d/init.d
• Links simbólicos dos diretórios dos run levels são chamados de init.d scripts
/etc/rc.d/[Link]
• É Executado após carregar o runlevel especificado
• Neste arquivo geralmente são colocados comandos adicionais
• Em muitos casos (necessidade de start e stop) é recomendado que seja criado
um System V init script em /etc/rc/d/init.d
Controlando serviços
• Ferramentas para gerenciamento dos serviços
– system-config-services
– ntsysv
– chkconfig

• Para iniciar, reiniciar ou parar serviços imediatamente. – service


LABS

Sistemas Operacionais
Open Source III
Prof. Ricardo Mercês
[Link]@[Link]
Aula 3
Serviços do Kernel
Objetivos
• Compreender a finalidade e a organização do kernel
• Entender como a carregar e configurar os módulos do kernel
• Saber como configurar o kernel usando /proc e sysctl
• Analisar os dispositivos de hardware disponíveis no sistema
Kernel
O kernel é o núcleo do sistema operacional Linux
O Linux é o sistema operacional, muitos confundem isto e chamam a distribuição de
sistema operacional
Kernel - funções
• Sistema de inicialização: detecta recursos de hardware e inicializa o sistema
• Gerenciamento de processos: determina quais processos devem executar e sua
respectiva duração
• Gestão de memória: aloca memória para execução dos processos
• Segurança: verifica constantemente as permissões do filesystem, SELinux
contextos e regras de firewall
• Fornece buffers e caches para acelerar o acesso ao hardware
• Implementa protocolos de rede padrão e formatos de filesystens
Imagens do Kernel
• Arquiteturas suportadas:
– X86;
– X86_64;
– IA64/Itanium;
– Power;
– System Z
• Kernel sempre é instalado em /boot/vmlinuz- *
Módulos do Kernel
• Os módulos do kernel são pequenas extensões que podem ser carregadas e
descarregadas da memória
• Podem ser controladores, arquivos, firewall, e muito mais
• Estão localizados em /lib/modules/$(uname-r)/
• Módulos de terceiros podem ser acrescentados
Utilitários
• lsmod fornece uma lista dos módulos carregados
• modprobe carrega e descarrega os módulos
• modinfo exibe informações sobre os módulos disponíveis
• /etc/[Link] contém as seguintes configurações:
– Parâmetros a serem passados na hora do carregamento do
módulo
– Aliases (apelidos)
– Comandos a serem executados quando um módulo é carregado ou descarregado
/proc
• utilizado para obter ou definir configurações do kernel
• É um sistema de arquivos virtual (os arq. não ficam armazenados em disco)
• Entradas não são persistentes
• Usado para exibir informações: recursos de memória, dispositivos de hardware,
memória kernel, etc
• Modificações são aplicadas imediatamente
/proc Exemplos
• Arquivos Read-only:
– /proc/cpuinfo
– /proc/1/*
– /proc/partitions
– /proc/meminfo
• Arquivos Read-Write /proc/sys/: – /proc/sys/kernel/hostname
– /proc/sys/net/ipv4/ip_forward
– /proc/sys/vm/drop_caches
– /proc/sys/vm/swappiness
Processos e recursos
• Informações lidas diretamente de /proc/ podem ser difíceis de compreender
• Interfaces estão disponíveis para formatar os dados e torná-los mais
amigáveis:
– Memória: free, vmstat, swapon -s, pmap
– Processos: ps, top, gnome-system-monitor
– Kernel estado: uname, uptime, tload
sysctl
• sysctl configura de modo persistente /proc/sys
• As entradas em /etc/[Link] são processadas automaticamente durante a
inicialização
Opções:
• Lista todas as configurações atuais: sysctl -a
• Recarrega as definições do [Link]: sysctl -p
• Configura diretamente a entrada /proc/ ex: sysctl -w net.ipv4.ip_forward = 1
Acessando /dev
• Os arquivos sob /dev são usados para acessar dispositivos
• Operações de leitura e escrita são permitidas. Ex: – Ler apartir da porta
serial: cat /dev/ttyS0 – Escrever na porta serial:
echo "mensagem"> /dev/ttyS0
• Três atributos determinam qual o dispositivo a ser acessado:
– Dispositivo tipo (caractere ou bloco)
– Maior número
– Menor número
Exemplos
• Dispositivos de Bloco
– /dev/hda, /dev/hdc - IDE hard disk, CDROM
– /dev/sda, /dev/sdb - SCSI, SATA, or USB Storage
– /dev/md0, /dev/md1 - Software RAID
• Dispositivos de caracter
– /dev/tty[0-6] - virtual consoles
– /dev/null, /dev/zero - software Devices
– /dev/random, /dev/urandom - random Numbers
udev
• udev gerencia os dispositivos armazenados em /dev
• Os arquivos só são criados se o dispositivo estiver plugado
• Os arquivos são automaticamente removidos quando dispositivo está
desconectado
• Configurações estão em /etc/udev/rules.d/
– Nomes dos arquivos
– Permissões
– Proprietários e grupos
– Comandos para executar quando um novo dispositivo conectar-se
Adicionando dispositivos
• Para adicionar dispositivos cria-se um arquivo com as respectivas entradas em
/etc/udev/rules.d
• Dispositivos também podem ser criados manualmente com mknod
mknod /dev/usbdevice b 8 0
mknod não cria entradas persistentes
Explorando dispositivos de hw
• Um snapshot de todos os dispositivos conectados são mantidos pelo HAL:
Hardware Abstraction Layer
• hal-device enumera todos os dispositivos em modo texto
• hal-device-manager exibe todos os dispositivos em uma janela gráfica
• lspci e lsusb lista os dispositivos conectados aos barramentos PCI e USB

Sistemas Operacionais
Open Source III

Prof. Ricardo Mercês


[Link]@[Link]
Aula 4-5
Gerenciamento de pacotes
Objetivos
• Código fonte
• Instalar e remover pacotes RPM
• Administrar pacotes usando yum
• Queries
• Configurações de repositório yum
• Atualização do RPM do Kernel
• Red Hat Network (overview)
• Extra: Gerenciamentode pacotes Debian
Formatos dos pacotes
• Muitos programas são desenvolvidos sob um paradigma livre, ou seja, com o
código fonte disponível para estudo e melhoria;
• As aplicações são distribuídas nos formatos:
– Código fonte: toda a estrutura de diretório com os arquivos fonte é
fornecida. A aplicação deve ser compilada.
– Pacote binário: A aplicação é fornecida já compilada, com uma forma simples
de instalação.
Processo de compilação
Obter os fontes
Descompactação dos fontes
Consultar os arquivos install e readme, eles contém informações importantes
sobre a instalação  ./configure – este script coleta informações, variáveis e
dependentes do sistema e cria o arquivo Makefile;
make – lê as informações contidas no arquivo Makefile e Compila os arquivos
make install – instala o programa no sistema
Processo de compilação cont.
• Descompactar o arquivo [Link] (tarball)
$ tar –xzf [Link]
• Localizar o arquivo Makefile ou gerá-lo através do script configure:
$ cd programa/
$ ./configure
• Compilar os arquivos a partir das especificações do arquivo Makefile
$ make
• Instalar o programa compilado
$ make install
RPM
• O sistema de pacotes RPM – RedHat Package Manager – permite gerenciar pacotes
de aplicativos com eficiência e simplicidade;
• Os pacotes são distribuídos já compilados contendo arquivos de configuração,
documentação e relação de dependência;
• Os programas instalados são organizados em uma base de dados local
(/var/lib/rpm);
• Os pacotes RPM agilizam o processo de instalação e atualização de aplicações
desonerando o administrador de penosos processos de compilação.
Pacotes .rpm
• Os pacotes .rpm são distribuídos em arquivos com o formato:
1.10 - 4
sendmail -
i386 . rpm
-
Nome Versão
release Arquitetura

• Os pacotes podem ser obtidos nos sites do fabricante ou através de alguns


repositórios como:
; [Link]

Instalação e remoção
• Opções básicas
– Instalar: rpm -i, - install
– Atualizar ou Instalar: rpm -U, - upgrade
– Remoção: rpm -e, - erase
• Opções de saida : -v,-h
• Outras opções para resolver casos especiais: -nodeps, --force, --
replacefiles, --oldpackage, etc
• Suporte para URL: ftp:// e http://
Queries
• Opções básicas:
– rpm -q package_name
– rpm -qa all packages

• Tipos de informação a consulta:


– -qi informações gerais sobre o pacote
– -ql lista dos arquivos contidos no pacote
– -qf informa qual o pacote contém o arquivo
– -q --whatrequires informações de dependência
Verificação
• Verificação pacotes instalados:
– rpm -V <package_name>
– rpm -Vp <package_file>. [Link]
– rpm -Va
• Verificação de assinatura ANTES de instalar o pacote:
– rpm - import RPM-GPG-KEY-redhat-release
– rpm -K <package_file>. [Link]
yum
• Nascido do Yellow Dog Updater (YUP), o YUM é o gerenciador de pacotes dos
sistemas baseados no Red Hat e no Fedora, e usa pacotes .rpm.
• O comando yum é capaz de buscar o programa que será instalado e instalar
também suas dependências.
• Pode localizar pacotes em múltiplos repositórios.
• É o atual sistema de gerenciamento da Red Hat, substituindo o up2date.
Instalação e remoção
• yum install package...
• yum localinstall rpmfile...
• yum groupinstall packagegroup...
– yum grouplist • yum remove package... • yum update [package...
Queries
• Procurando Pacotes
– yum search searchterm
– yum list all
– yum list
(available|extras|installed|recent|updates
[package_glob])
– yum info package
– yum groupinfo packagegroup
• Procurando arquivos
– yum provides filename

Repositórios YUM
• Os arquivos referentes aos repositórios (.repo) são armazenados em:
/etc/[Link].d
• Informações mínimas necessárias
– [Nome-do_repositório]
– name=Meu Repositorio
– baseurl=[Link]
– enabled=1
– gpgcheck=1
• Informações sobre o repositório são guardadas em cache. yum clean dbcache|all
limpa o cache
Atualizando o RPM do Kernel
• Atualizações do kernel
– yum manipula de forma transparente a atualização
– Não use rpm -U ou rpm -F! Utilize rpm-i !
• Atualizando um kernel
– yum update kernel
– Boot com o novo kernel para teste
– Reverter para o kernel antigo em caso de falha
– yum remove kernel-oldversion se não houver problemas
Red Hat Network - rhn
• Plataforma centralizada para gestão de sistemas
– Fornece pacotes de software,
– Mostra se estão disponíveis atualizações para os sistemas
– Pode gerenciar vários sistemas de uma só vez
– Permite a gestão do ciclo de vida completo
• Interface de gestão baseada na Web
• Usa HTTPS para todas as transações
RHN server
[Link] or local Satellite/Proxy

• Web based management of machines


• RHN Proxy caches RHN traffic
• RHN Satellite provides an autonomous RHN systems
RHN - cont.

RHN - cont.

LABS
Gerenciamento de pacotes Debian
Dpkg
• O sistema de pacotes DPKG (Debian Package) permite gerenciar pacotes de
aplicativos Debian com eficiência e simplicidade;
• Os pacotes são distribuídos já compilados contendo arquivos de configuração,
documentação e relação de dependência;
• Os programas instalados são organizados em uma base de dados
Pacotes .deb
• Os pacotes .deb são distribuídos em arquivos com o formato:

ntp - 4.2.2 - 2
x86 . deb
-
Nome Versão
release Arquitetura

• Os pacotes são obtidos à partir dos repositórios das distribuições ou através


de sites
Instalação de pacotes
• Utilize comando: dpkg -i [NomedoPacote] (ou -install) para instalar um pacote em
seu sistema.
Sintaxe de instalacao
dpkg –i [opcoes] <arquivo_deb>
Exemplo
[root@[Link] /]# dpkg –i [Link]
Remoção de pacotes
• Para desinstalar um pacote utilize o parâmetro -r.
• A instalação pode falhar caso o pacote seja usado por outros pacotes.
• Para remoção completa do pacote e arquivos de configuração utiliza-se a opção
–P
Sintaxe de desinstalação
dpkg –e <pacote> dpkg –P <pacote>
Consultas de pacotes
• dpkg -q faz consultas à base de dados de pacotes instalados no sistema

Opções:
-I : Exibe descrição do pacote.
-l : Exibe lista de arquivos existentes no pacote deb especificado, e lista pacotes
instalados.
-s : Verifica status do pacote no sistema, se está instalado ou não.
-S : Pocura o pacote origem do arquivo especificado.
-C : Procura por pacotes com problemas de instalação.
Apt
• O sistema APT (Advanced Packaging Tool) , criado pelo Debian, permite
instalar um programa e suas dependências.
• O comando apt-get é capaz de buscar o programa que será instalado e instalar
também suas dependências.
• Inicialmente o sistema só trabalhava com os pacotes do Debian (.deb), mas
atualmente é capaz de instalar arquivos rpm.
• Todos os derivados do Debian usam o APT por padrão
Configuração do apt
• As configurações residem basicamente sobre o arquivo de “fontes” localizados
em /etc/apt/ [Link]
• Os arquivos de “fonte” contém um lista dos hosts que irão prover os pacotes
que serão instalados.
• A primeira palavra em cada linha, deb ou debsrc, indica o tipo de
repositório: ou seja, os précompilados que normalmente usamos, ou os pacotes fontes
(deb-src)
Exemplos configuração
Debian
Exemplo
deb [Link] etch non-free main deb-src
[Link] etch non-free main deb [Link]
etch/updates non-free main

RedHat
Exemplo
rpm [Link] fedora/2/i386 os rpm-src
[Link] fedora/2/i386 os
apt-get
• O comando apt-get é a principal ferramenta do sistema APT.
• A primeira tarefa para utilização do APT é sincronizar os arquivos de índices
que contém os arquivos dos repositórios.
Sintaxe de atualização
apt-get update
Instalação de pacotes
• Para instalar um pacote utilize a ferramenta apt-get com a ação install.
Sintaxe de instalacao
apt-get install <pacote>
Exemplo
[root@[Link] /]# apt-get install php-manual apt-get install php-manual Reading
Package Lists... Done Building Dependency Tree... Done
The following NEW packages will be installed: php-manual
...
Localizando pacotes
• O sistema APT disponibiliza uma ferramenta (apt-cache) que permite fazer buscas
de pacotes.
Sintaxe
apt-cache search <palavra>
Exemplo
[root@[Link] /]# apt-cache search postgresql postgresql-libs - The shared
libraries required for any postgresql - PostgreSQL client programs and libraries.
postgresql-server - The programs needed to create and postgresql-contrib -
Contributed source and binaries postgresql-devel - PostgreSQL development header
files postgresql-jdbc - Files needed for Java programs to
Removendo um pacote
• A ação remove permite desinstalar um pacote.
• Se outro pacote depender do programa que se deseja remover, o apt irá
perguntar ao usuário se deseja remover o outro programa também.
Sintaxe de instalacao
apt-get remove pacote
Exemplo
[root@[Link] /]# apt-get remove php-manual
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED: php-manual
Atualizando o sistema
• Para atualizações de todos os pacotes do sistema, o apt-get disponibiliza a ação
upgrade.
Sintaxe de instalacao
apt-get upgrade
Exemplo
[root@[Link] /]# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
0 packages upgraded, 0 newly installed, 0 removed and 0 not upgraded.
LABS

Sistemas Operacionais
Open Source III

Prof. Ricardo Mercês


[Link]@[Link]
Aula 7
Serviços do Sistema
Objetivos
• Sistema de Janelas X
• Administração Remota
• Logs do Sistema
• Sincronização de Tempo
Acesso à Máquina
• Modo texto
– Console físico
– Console serial
– Console virtual
– Pseudo-terminais
• Modo gráfico
– Interface gráfica
Modo Gráfico
• Sistema de janelas X (X Window System)
– Base da interface gráfica
– Arquitetura cliente/servidor
• Servidor
– Gerencia acesso ao display
– Interface com hardware
• Cliente
– Aplicativos da interface gráfica
– Maioria das distribuições usa o XOrg
Configuração do servidor X
• Configurado automaticamente na instalação
• Configuração manual
– Comando system-config-display
– Arquivo de configuração em /etc/X11/[Link]
• Iniciar servidor X
– Comando startx
Gerenciador de Janelas
• Os gerenciadores de janelas (window managers) são programas que atuam entre o
servidor X e a aplicação.
• Cliente do servidor X
• Gerencia janelas ativas
– Criação e destruição de janelas
– Operações de maximizar e minimizar
• Alguns gerenciadores: Window Maker, Gnome, KDE, twm, Enlightenment, IceWm,
etc.
SSH – Secure Shell
• Acesso remoto criptografado (Maior segurança)
• Frequentemente utilizados para administração remota de sistema
• Pode executar comandos remotamente
• Permite cópia de arquivos
• Suporta autenticação baseada em chaves
• Comandos ssh, scp e sftp
SSH – Secure Shell
• Acessar outra máquina
– ssh usuario@maquina

• Copiar um arquivo local para outra máquina


– scp arquivo usuario@maquina:/destino

• Copiar um arquivo remoto para a máquina local


– scp usuario@maquina:arquivo .

• Executar um comando em outra máquina – ssh usuario@maquina comando


Logs do Sistema
• Informações sobre o estado do sistema
– Mensagens de alerta
– Mensagens de erro
– Logs de segurança
– Auditoria de eventos
• Aquivos de logs em /var/log
Principais logs
• Mensagens do Kernel
– /var/log/dmesg
• Logs de erro de serviços e aplicativos
– /var/log/messages
• Logs do sistema de email
– /var/log/maillog
• Logs de segurança
– /var/log/secure
Serviço syslogd
• Gerenciamento dos logs
– Nível de detalhes
– Encaminhar logs
• Arquivo de configuração
– /etc/[Link]
• Cada linha do arquivo contém diretivas de configuração com o formato:
– facility define o agente que gerou a mensagem;
– level define o grau de urgência da mensagem;
– ação define o que deve ser feito com a mensagem.
Facilities
– auth - Mensagens de segurança/autorização.
– authpriv - Mensagens de segurança/autorização (privativas).
– cron - Daemons de agendamento (cron e at).
– daemon - Outros daemons que não possuem facilidades específicas.
– ftp - Daemon de ftp do sistema.
– kern - Mensagens do kernel.
– lpr - Subsistema de impressão.
– local0 a local7 - Reservados para uso local. – mail - Subsistema de e-mail.
– news - Subsistema de notícias da USENET.
– security - Sinônimo para a facilidade auth (evite usá-la).
– syslog - Mensagens internas geradas pelo syslogd.
– user - Mensagens genéricas de nível do usuário.
– uucp - Subsistema de UUCP.
NTP: Network Time Protocol
NTP significa Network Time Protocol ou Protocolo de Tempo para Redes. É o protocolo
que permite a sincronização dos relógios dos dispositivos de uma rede como
servidores, estações de trabalho, roteadores e outros equipamentos à partir de
referências de tempo confiáveis.
NTP: Network Time Protocol
Do ponto de vista de segurança de redes é importante que os relógios dos
computadores estejam devidamente sincronizados. Investigações relacionadas a
incidentes de segurança tornam-se impossíveis caso os servidores envolvidos e os
diversos arquivos de log discordem entre si em relação ao “time stamp” dos eventos.

Para algumas aplicações exatidão na ordem de segundos pode ser suficiente. Para
outras, é necessário manter os relógios com diferenças na ordem dos milisegundos
entre si e em relação à hora certa.
Topologia
Os servidores NTP formam uma topologia hierárquica, dividida em camadas ou estratos
(em inglês: strata) numerados de 0 (zero) a 16 (dezesseis). O estrato 0 (stratum 0)
na verdade não faz parte da rede de servidores NTP, mas representa a referência
primária de tempo, que é geralmente um receptor do Sistema de Posicionamento Global
(GPS) ou um relógio atômico. O estrato 16 indica que um determinado servidor está
inoperante.

Ferramentas
• Serviço ntpd

• Arquivo de configuração
/etc/[Link]

• Atualiza o horário
ntpdate [Link]

• Consulta
ntpdate -q [Link]
Ferramentas
• Informações sobre os peers ntpq -c pe

• Informações sobre o servidor ntpq -c rl

• Ferramenta gráfica - client system-config-date


LABS
Sistemas Operacionais
Open Source III

Prof. Ricardo Mercês


[Link]@[Link]
Aula 8
Privilégios / Permissionamentos
Objetivos
•Mudança de privilégios
•umask
•Permissões especiais
Delegando privilégios
• Administrador pode delegar privilégios
– Controle de comandos que podem ser executados
– Controle de usuários
– Usuários não precisam saber senha do administrador
• Arquivo de configuração /etc/sudoers
Arquivo /etc/sudoers
• Deve ser editado com o comando visudo
• Configurações usuais
– Usuário pode executar qualquer comando
• usuario ALL=(ALL) ALL
– Usuário pode executar determinado comando
• usuario ALL=comando
SUID
A propriedade SUID foi projetada para ser usada em arquivos executáveis e não terá
efeito em diretórios.
Ao executar um arquivo com SUID habilitado, o processo irá rodar com permissões do
dono do arquivo e não do usuário que o chamou; Problema:
– O comando passwd muda a senha de um usuário;
– Como o usuário poderia mudar sua própria senha se somente o usuário root
consegue alterar o arquivo que contém as senhas (/etc/shadow)?
Solução:
– o comando passwd tem SUID de root.
SGID
• Pode ser usado em arquivos executáveis mas é indicado para diretórios;
• Arquivos criados em um diretório com SGID terão como grupo dono, o grupo dono
do diretório, e não o grupo primário do usuário.
• Com o SGID diretórios compartilhados por grupos conterão somente arquivos que
todos os membros do grupo poderão acessar.
Stickybit
• Usado em diretórios;
• Impede que um usuário exclua os dados de outro usuário, mesmo tendo permissão
de escrita no diretório.
• Deve ser usado em diretórios compartilhados como /tmp

Permissões especiais
• Alteradas com o comando chmod
• SUID
– chmod u+s arquivo
• SGID
– chmod g+s arquivo,diretorio
• Stickybit
– chmod o+t diretorio
umask
O comando umask define a máscara default para a criação de arquivos e diretórios.

As máscaras definidas pelo sistema são respectivamente:


0022 para usuários
0002 para o root
Cálculo da umask
Permissões do diretório para a umask de 022:
Permissões de Base: 777
Valor umask Subtrair: 022
Permissões do diretório: 755

Permissões de arquivo para a umask de 022:


Permissões de Base: 666
Valor umask Subtrair: 022
Permissões do arquivo: 644
umask levels
umask Security Effective perm. (directory)
022 Permissive 755
026 Moderate 751
027 Moderate 750
077 Severe 700
LABS

Você também pode gostar