ARQUITETURA E S.O. Flashcards
RAID (REDUNDANT ARRAY OF INEXPENSIVE DISKS)
Mais do que discos físicos, que podem ser HDs mecânicos ou SSDs, arrays, que podem ser encontrados em dispositivos de arma-zenamento em forma de armário, chamados de storages
–Segurança (redundância);
–Desempenho;
–Ambos.
Raid – Duas Abordagens
Software = O SO gerencia o array, mais barato, maior overhead. Hardware = utiliza-se uma placa controladora (SCSI, SAS etc.).
Raid 0 (Stripping)
Todos os discos físicos formam um único disco lógico.
Somam-se as capacidades de cada disco físico
Gravação dos dados: os dados são divididos em pequenos segmentos e distribuídos pelos discos.
Não há redundância.
Não há paridade de dados.
Vantagem: operação de leitura rápida.
Desvantagem: a falha de um disco poderá ocasionar perda de dados.
Raid 1 (Mirroring)
Espelhamento.
Os dados gravados em um disco serão gravados também no outro.
Há perda da capacidade dos discos físicos pela metade.
Vantagem: redundância.
Desvantagem: escrita mais demorada.
Raid 10 (Mirror/Strip)
Mínimo de 4 discos.
Taxa de IOPS elevada (entrada/saída de dados por segundo).
***necessidade de vários discos, pelo menos 4
RAID 2
Parecido com o RAID 0;
Mecanismo de detecção de erros ECC (Error Correcting Code);
Os HDs atuais já possuem nativamente o ECC;
–Portanto, é um tipo de RAID que praticamente não acrescenta em nada.
Caiu em desuso.
RAID 3
Utiliza paridade;
–Bits de pariedade, ou seja, quando o dado é gravado, os bits também são. Por conta disso, ocupará um maior espaço e perda de armazenamento.
Uma unidade é reservada apenas para paridade;
Leitura e gravação rápida.
RAID 4
Similar ao RAID 3, utiliza paridade;
Disco exclusivo de paridade;
Leitura rápida e gravação lenta
RAID 5
Grava dados entre todos os discos no volume;
–Como é visto na imagem, o dado A foi distribuído pelos discos.
Há um bloco de paridade para cada bloco de dados; Suporta a falha de 1 disco.
Vantagem: leitura rápida.Desvantagem: escrita lenta.
RAID 6 (DUAL PARITY)
Grava dados entre todos os discos no volume;
Há dois blocos de paridade para cada bloco de dados
Perda de até 2 discos;
Os dados do disco com falha podem ser recriados em um disco de substituição;
Mínimo de 4 discos
HOT SPARE
Trata-se de um esquema em que um ou mais discos são acrescentados para ficar de reserva
RAID 50
Consiste na junção de dois níveis de RAID:
RAID 5 (paridade distribuída) + 0 (striping)
É necessário três discos por arranjo de RAID 5
Mínimo de seis discos;
•Suporta até 4 (quatro) falhas – 1 (uma) para cada array RAID 5
Vantagens:
Melhor desempenho de gravação;
Maior proteção de dados; e
Rebuilds mais rápidos do que o RAID 5
JBOD (Just a Bunch Of Disks)
Algo como “Apenas um Conjunto de Discos”;
•Uso em conjunto de dois ou mais HDs (independentemente de sua capacidade);
Obs.: é possível juntar discos, de capacidades variadas, em um único disco lógico.
Sistema operacional enxerga como uma única unidade lógica.
RAID 2 e RAID 3
Segundo Stallings(2010,p.162),”RAID níveis 2 e 3 utilizam uma técnica de acesso paralelo. No array com acesso paralelo,todos os discos membros participam na execução de cada solicitação de E/S. Normalmente,os eixos das unidades individuais são sincronizados de modo que cada cabeça de disco esteja na mesma posição em cada disco a qualquer instante.”
DAS (Direct Attached Storage)
Dados são armazenados em discos localmente ligados a servidores individuais;Um servidor que terá conexão direta com os discos que estão sendo utilizados para armazenamento.
Interfaces: SATA e SAS;
Possui variações, como eSATA.
Formato dos dados EM BLOCO
Por exemplo: HD externo conectado a um computador.Desvantagens:
Os dispositivos de armazenamento somente podem ser acessados a partir do servidor;
Não há uma rede, portanto, é necessário realizar uma autenticação naquele servidor para ter o acesso
SE O SERVIDOR FALHAR O ACESSO AOS DADOS É CORTADO
NAS (Network Attached Storage)
Possui uma rede na qual se pode ter inúmero servidores se conectando. •Baseado em redes comuns (LAN) e acessível a todos os dispositivos ligados à LAN;
Interfaces: SATA e SAS;
Formato dos dados: arquivo;
Transportados através de Ethernet e TCP/IP;
Os protocolos de acesso a arquivos mais utilizados são:
NFS (Network File System) e CIFS (Common Internet File System).
Apresentam Filesystem.
Já possuem um sistema de arquivo
SAN (Storage Area Network)
Redes de alta velocidade que estabelecem uma conexão direta entre os recursos de armazenamento e o servidor;
Há uma rede dedicada somente ao transporte de dados, diferentemente de uma LAN, ou seja, ocorre uma comunicação independente.
O SAN é totalmente transparente ao sistema operacional do servidor, que “vê” os discos do SAN como se fossem seus próprios discos SCSI;
É uma rede separada e dedicada a dispositivos de armazenamento.
Protocolos: iSCSI ou Fibre Channel;iSCSI: encapsula comandos SCSI através de uma rede Ethernet.Fibre Channel: fibra ótica ou o próprio cobre.
•Interfaces: FC e 10Gb Ethernet;
•Formato dos dados: Bloco
ZONEAMENTO
Esta técnica consiste em definir grupos de dispositivos que se enxergam, o que chamamos de zona;
Isto permite alocar o storage adequadamente para cada host
SAN FC
Os protocolos FC foram adotados para arquiteturas que usam blocos.•Simplificam as ligações entre servidores e storages.•Diminuem a perda do sinal, aumentando as distâncias máximas do SCSI.•Pode utilizar fibra ótica ou cobre (FCoE – Fibre Channel Over Ethernet).•Possibilitou a conexão de discos SCSI aos servidores (aumento de velocidade e número de dispositivos). •Suporte a protocolos de camadas de alto nível: SCSI (mais utilizado), ATM e IP
SAN IP
O iSCSI (internet SCSI) com o padrão Ethernet passou a ser uma opção.•ISCSI: transporte dos pacotes SCSI através da arquitetura TCP/IP.•Como funciona?1.O iSCSI carrega os comandos do server (initiator) para o storage (target);2.Encapsulando os comandos SCSI dentro do TCP/IP pela rede Ethernet.
Fibre Channel Protocol (FCP)
É um Protocolo de Transporte SCSI e que foi desenvolvido para facilitar a comunica-ção de blocos de dados entre origem-destino em redes FC.
É o protocolo mais utilizado em redes SAN, logo já se sabe que o formato de dados arma-zenados é o bloco.
São 5 camadas.
Fibre Channel – Arquitetura
FC-4 Interface ULP Exemplos, SCSI-3 e IP
FC-3 Serviços Comuns Reservado para funções futuras
FC-2 Gerenciamento dos Dados Quadros, Controle de fluxo, Classe de Serviços
FC-1 Ordered sets e codificação Codificação 8b/10b
FC-0 Interface Física Cabos, conectores etc.
Fibre Channel x OSI
FC-4 mapeia camadas de aplicação e apresentação.
FC-3 e FC-2 mapeiam camadas de sessão, transporte e enlace.
FC-1 e FC-0 mapeiam a camada física.
Fibre Channel over Ethernet (FCoE)
Desenvolvido com a intenção de manter o modelo Fibre Channel.
No FCoE, o quadro nativo do FC é mapeado no quadro do Ethernet.
Permitindo que tráfegos FC sejam transmitidos através da rede Ethernet.
Fibre Channel Over Ethernet para que se possa aproveitar a própria infraestrutura utilizada para ethernet, a fim de realizar o tráfego da arquitetura Fibre Channel.
CONVERGÊNCIA FCOE
–Encapsulamento.
–Formato do quadro
Convergência de ethernet e Fibre Channel em uma única rede
Fibre Channel over IP (FCIP)
Permite a conexão de dois FC-SAN interligando switches através de TCP/IP.
–Túnel ponto a ponto através de uma rede IP, e–O tráfego Fibre Channel é encapsulado e desencapsulados nos terminais
FC-SAN virtual
Quando um túnel é estabelecido, dois FC-SAN se juntam para formar um só FC-SAN virtual
Internet Fibre Channel Protocol (iFCIP)
O Internet Fibre Channel Protocol (iFCP) é um protocolo gateway-to-gateway que interliga dispositivos do Fibre Channel através da rede IP/Ethernet.
Fibre Channel - Portas
Porta_N: Porta Nó (Porta_N) é usada para conectar dispositivos com os fabric swi-tches ou com outra porta nó em configurações ponto a ponto.
Porta_F: Portas Fabric (Porta_F) são encontradas nos switches e são usadas para conectar os switches com as Portas_N.
Porta_E: Portas de Expansão (Porta_E) são usadas para conexão entre dois Fibre Channel switches. •Porta_G: Porta Genérica são encontradas nos switches e é capaz de operar como uma Porta_E ou Porta_F.
Porta_B: Porta Ponte (Bridge Port - B_Port) é usada para conectar fabrics com com-ponentes não Fibre Channel ou redes como LAN e WAN.
Porta_L: Portas Laços (Porta_L) são utilizadas na topologia laço arbitrado, onde não é usado FC switches.–As portas F, G, N que tiverem interface com um laço arbitrado serão chamadas de Porta_FL, Porta_GL, e Porta_NL.
A conexão do tipo Porta_E para Porta_E é uma interconexão entre switches, chamada de Inter-Switch Link (ISL).
FC Camadas físicas
FC0 - Camada Física: definir a conexão física do sistema, por exemplo, cabos conectores;
FC1 - Protocolo de Transmissão: codificação e decodificação dos dados e o controle de erros;
FC2 - Camada de Rede: transporte de dado CONTROLE DE FLUXO REDE: DEFINE A ESTRUTURA DOS FRAMES
FC Camadas Superiores
FC3 - Serviços Comuns: funções auxiliares, que podem afetar múltiplas portas em um único nó ou em um fabric, por exemplo, Hunt Groups, striping e multicast;
FC4 - Camada Superior: implementar protocolos específicos para a aplicação. INTERFACE – ENCAPSULAMENTO DAS VÁRIAS CAMADAS
Backup Completo ou Full
Copia todos os arquivos de determinado ambiente ou servidor, para outro local de arma-zenamento (o que garante a cópia segura).
Atributo de arquivamento: não importa. Todos os arquivos são backupeados!
Vantagem: apenas um arquivo para restauração.Desvantagem: demorado.
Backup incremental
Copia somente os dados novos ou alterados (atributo marcado) desde o último backup (normal ou incremental). Portanto, copia uma quantidade menor de dados para o local escolhido. Atributo de arquivamento é desmarcado.Restore: último backup full e todos os incrementais.Vantagem: maior velocidade e menor espaço de armazenamento.Desvantagem: demora no restore.
Backup Diferencial
Semelhante ao incremental. Copia os arquivos criados ou alterados (atributo marcado) em relação ao último backup full, armazenando mais dados do que o incremental.O atributopermanece marcado. Restore: último backup full e último diferencial.Vantagem: menos arquivos para restaurar.Desvantagem: o tempo de restore pode ser muito maior que o incrementa
Atributo de Arquivamento: incremental X diferencial
Incremental: atributo de arquivamento é desmarcado.
Diferencial: atributo de arquivamento permanece marcado.
Snapshot
Um snapshot ou captura instantânea é uma cópia virtual dos seus dados. Assim como os métodos tradicionais, é possível obter e manter vários snapshots para que seja possível restaurar um sistema em diferentes pontos no tempo.
Vantagens do Snapshot
Melhor RPO – O RPO é a sigla de Ponto Objetivo de Recuperação, e é utilizado por empresas para saber a quantidade de recursos mínimos a serem recuperados em caso de falhas ou perdas de dados.
Melhor RTO – O RTO é sigla de Objetivo do Tempo de Recuperação (em português), e é utilizado para mensurar o tempo máximo em que um sistema ou uma informação pode ficar indisponível após uma falha.
Backups consistentes – Os backups são salvos em vários momentos ao longo do dia. Também, podem ser salvos em diferentes servidores, o que proporciona uma maior segurança e consistência nos dados.
Criação quase que instantânea – Por não realizarem cópias dos dados, mas cópias dos metadados isso possibilita a cópia mais rápida e sem perda dos dados.
Nenhum impacto na produção – Você não precisa esperar por horas para realizar um backup
SNAPSHOT copy-on-write
COPIO QUANDO ESCREVO ALGO
A cópia na gravação requer que a capacidade de armazenamento seja provisionada para instantâneo
*Armazena apenas os metadados sobre onde os dados originais estão localizados
DUPLA ESCRITA
**COPIA QUANDO ESCREVO ALGO
SNAPSHOT REDIRECTON WHITE
DIRECIONE DIRETO SEM GRAVAR NO ORIGINAL
SEM DUPLA ESCRITA
+COMPLICADO
Novas escritas ao original são redirecionadas a outra localização
SNAPSHOT SPLIT MIRROR
Um clone ou instantâneo de espelho dividido cria uma cópia idêntica dos dados. O clone ou espelho dividido pode ser de um volume de armazenamento, sistema de arquivos ou um número de unidade lógica (LUN)
GRANDE OVERHEAD
NÃO SÃO CRIADOS INSTANTANEAMENTE
SNAPSHOT AGNÓSTICO E CONHECIDO
AGNÓSTICO NÃO REQUER CIÊNCIA DOS FORMATOS DE DADOS
CONHECIDO APROVEITA O CONHECIMENTO DE FORMATOS ESPECÍFICOS
Deduplicação
A deduplicação de dados é um método de reduzir as necessidades de armazenamento eliminando dados redundantes.
Desduplicação em nível de arquivo
verifica as redundâncias e salva apenas uma cópia do arquivo com diversos ponteiros apontando para este local
ATRIBUIDA UMA ASSINATURA HASH
A desvantagem da desduplicação no nível de arquivo é a sua falta de granularidade e incapacidade de fornecer desduplicação no nível do subarquivo. Isso significa que mesmo a menor mudança em um arquivo, como a mudança do título, por exemplo, fará com que um novo arquivo que seja armazenado.
Desduplicação de bloco
opera no nível do sub-arquivo e pode ser de comprimento fixo ou variável
dividido em segmentos – pedaços ou blocos – que são examinados para redundância em relação a informações armazenadas anteriormente
Desduplicação NÍVEL BYTE
MAIOR OVERHEAD
ANALISA SEQUENCIA DE BYTES
MELHOR RESULTADO
MAIOR RETORNO
Desduplicação In-line X Pós-Processamento
In-line remove as redundâncias antes de os dados serem gravados. Isso reduz a quantidade de dados duplicados e o espaço necessário para o backup. No entanto, o processo de backup tende a ser mais lento, já que os dados só serão armazenados após sua desduplicação
Pós-Processamento, a análise e remoção da redundância são feitas após o backup completo dos dados. O processo de desduplicação é separado do processo de backup para que os dados sejam desduplicados fora da janela de backup, sem afetar o desempenho do backuP
Desduplicação na Origem X Destino
na origem é a remoção de redundâncias dos dados no ambiente de produção antes de serem transmitidos para o servidor ou appliance de backup»_space; Ambientes virtualizados também são recomendados para a desduplicação na origem por causa das imensas quantidades de dados redundantes em arquivos de disco da máquina virtual (VMDK). REDUZ USO DA REDE
no destino é a remoção de redundâncias dos dados no appliance de backup após o envio pela rede. Essa forma de desduplicação tende a impactar menos o processamento do ambiente de produção. No entanto, a largura de banda é bastante utilizada, já que todos os dados (redundantes ou não) são enviados ao appliance de backup para a desduplicação e armazenamento.
XFS
originalmente projetado e criado pela SGI e usado no sistema operacional IRIX e posteriormente foi portado para o Linux. Foi explicitamente projetado para lidar com grandes conjuntos de dados, bem como para lidar com tarefas de I/O paralelo de forma muito eficaz.
O XFS pode lidar com:
- *Até 16 EB (exabytes) de tamanho total do sistema de arquivos
- *Até 8 EB de tamanho máximo para um arquivo individual
O alto desempenho é um dos elementos principais do projeto XFS, que implementa métodos para:
Potencializar o DMA (Acesso direto a memória)
Garantir uma taxa de I/O
Ter flexibilidade para ajustar o tamanho do bloco para casar com o tamanho do bloco da camada de nível de disco como RAID ou LVM.
o journal pode ficar em um dispositivo externo.
Características XFS
O XFS é um sistema de arquivos desenvolvido em 64 bits, compatível com sistemas de 32 bits. Em plataformas de 64 bits, possui um limite de tamanho de 8 EiB para um volume e para cada arquivo; em 32 bits, usando page frame de 4 KiB, o tamanho máximo do volume ou de um arquivo é limitado a 16 TiB
Efetua alocação por extensões (v. abaixo) em vez de alocação por blocos.
Usa alocação dinâmica de nós-i.
É um sistema de arquivos com journaling.
***permite o redimensionamento de uma partição apenas para aumentar.
Backup e restauração de baixo nível podem ser feitos com os utilitários nativos do XFS:
xfsdump
xfsrestore
Sistemas de arquivos
Um sistema de arquivos é um conjunto de estruturas lógicas que permite o sistema operacional controlar o acesso a um dispositivo de armazenamento como disco rígido, pen drive, cd-room, etc
EXT4
Passou a ser o padrão Linux a partir de 2008. EXT4 suporta 1EB (1 exabyte corresponde a 260 bytes) de tamanho máximo de sistema de arquivos e 16TB de tamanho máximo de arquivos. É possível ter um número ilimitado de subdiretórios
ext4 é o sistema de arquivos padrão para muitas distribuições Linux, incluindo Debian e Ubuntu
**Uma extensão é uma gama de blocos físicos contíguos, melhorando o desempenho de arquivos grandes e reduzindo a fragmentação
NÃO HÁ LIMITE DE SUBDIRETÓRIOS
ESPAÇO PRA ARMAZENAMENTO GIGANTESCO
ext4 habilita barreiras de gravação por padrão. Ele garante que os metadados do sistema de arquivos sejam gravados e ordenados corretamente no disco
CRIPTOGRAFIA
EXT4 - Journal checksums
ext4 usa checksums no diário para melhorar a confiabilidade, uma vez que o diário é um dos arquivos mais usados do disco.
RESTAURAÇÃO MAIS RÁPIDA
UNDELETE FERRAMENTA QUE IMPEDE O ARQUIVO SER APAGADO
ORGANIZAÇÃO DOS BLOCOS PERMITE PARTES NÃO USADAS NÃO SEREM ANALISADAS POR ISSO ECONOMIZA TEMPO
ACL=ACESS CONTROL LIST -> Direito de acesso refinado
Journaling
Journaling é uma tecnologia utilizada por filesystems modernos, onde todas as solicitações de gravação em disco são realizadas primeiro em uma estrutura chamada journal, e só depois são efetivamente gravadas em disco. Isto serve para garantir uma recuperação rápida em caso de falhas de disco ou do servidor, como quedas de energia. O journal funciona como um log das transações realizadas no filesystem, e os dados permanecem ali somente até serem persistidos em disco.
NTFS
NTFS possui uma estrutura que armazena as localizações de todos os arquivos e diretórios, incluindo os arquivos referentes ao próprio sistema de arquivos denominado MFT (Master File Table).
NTFS utiliza um esquema de journaling,
Todos os dados de arquivos, diretórios e metarquivos - nome do arquivo, data de criação, permissões de acesso (pelo uso de listas de controle de acesso) e tamanho - são armazenados como metadados na Master File Table (MFT)
suporte à norma Portable Operating Sistem Interface (POSIX) para garantir compatibilidade entre sistemas.
NTFS CARACTERÍSTICAS
Aceita volumes de até 256 TB utilizando tamanho de cluster de 64kb;
O tamanho do arquivo é limitado apenas pelo tamanho do volume;
Aceita nomes de volumes de até 32 caracteres;
Oferece suporte a compactação, criptografia e indexação;
Oferece suporte a clusters de 512 bytes;
NTFS possibilita o uso de permissões no sistema operacional
Encrypting File System (EFS) Recurso que permite a proteção de dados por criptografia com o uso do esquema de chaves públicas (CERTFIFICADO PÚBLICO E CHAVE PRIVADA
Btrfs
(B-tree file system) é um sistema de arquivos baseado no princípio cópia em gravação (do inglês copy-on-write (COW)), inicialmente desenvolvido pela Oracle Corporation para ser usado no Linux.
.Btrfs é projetado para solucionar problemas como falta de agrupamento de discos ou volumes, snapshots (imagem instantânea do sistema de arquivos), checksums (Soma de verificação), e uso de múltiplos volumes simultaneamente nos sistemas de arquivos do Linux.
A estrutura de dados básica do Btrfs —- a árvore-B copy-on-write
2015 sistema de arquivos padrão para o SUSE Linux Enterprise Server
O que é o BTRFS?
O B-tree file system, ou BTRFS é um sistema de arquivos que utiliza o princípio de “copy on write”, inicialmente desenvolvido pela Oracle Corporation para ser utilizado em distribuições Linux.
O projeto inicial deste novo sistema de arquivos tinha como propósito solucionar problemas como:
Falta de agrupamento de discos e volumes; Uso de múltiplos volumes no sistema de arquivos; Falta de compressão em arquivos. Melhor compatibilidade com hardware para armazenamento moderno (SSD e NVMe); Suporte a checksums (somas de verificação); Suporte a Snapshots do sistema LIMITAÇAO DE VOLUME E ARQUIVO 16EB
Chris Mason, o principal autor do Btrfs
“O objetivo do surgimento do BTRFS foi fazer o Linux ser escalável para a tecnologia de armazenamento que estará disponível no futuro. Escalar não é só lidar com o armazenamento, mas também, significa ser capaz de administrá-lo e gerenciá-lo com uma interface limpa, que deixa as pessoas verem o que está sendo usado e [assim] torná-lo mais confiável.”
Diferenças básicas entre o Ext4 e o Btrfs
O Ext4 ainda é a melhor escolha, no desktop do usuário comum — por ser mais rápido na transferência de arquivos e por ser mais maduro
O Btrfs tem vários recursos, que são novidades, tais com o Copy-on-Write, snapshots, checksums extensivos, scrubbing, duplicação dos dados, informações de autocorreção (self-healing) etc.
A lista atual de empresas que contribuem para o código do Btrfs, é a seguinte:
Facebook Fujitsu Fusion-IO Intel Linux Foundation Netgear Novell/SUSE Oracle Red Hat STRATO AG
EXT4 –> “XTENTS”
Uma extensão é uma gama de blocos físicos contíguos, melhorando o desempenho de arquivos grandes e reduzindo a fragmentação. Uma única extensão no ext4 pode mapear até 128 MiB de espaço contíguo com um tamanho de bloco de 4 KiB
UNDELETE FERRAMENTA QUE IMPEDE QUE O ARQUIVO SEJA APAGADO
RECUPERAÇÃO DE DDOS LINUX
ext3grep e extundelete são usadas para recuperação de dados em sistemas Linux.
mkfs
usado para criar um sistema de arquivos (“formatar”) no Linux, usualmente em uma partição de disco. A sintaxe para esse comando é:
mkfs [opções] [-t tipo oções_do_fs] dispositivo [tamanho]
formatando a partição /dev/sdb1 com sistema de arquivos ext4. Usaremos o utilitário mkfs.ext4:
mkfs.ext4 /dev/sdb1
Alocação Contígua
Consiste em armazenar um arquivo em blocos seqüencialmente dispostos. Neste tipo, o sistema localiza um arquivo através do endereço do primeiro bloco e da sua extensão em blocos. ¨
O acesso é bastante simples tanto para a forma seqüencial quanto para a direta
Alocação Encadeada
O arquivo é organizado como um conjunto de blocos ligados no disco, independente de sua localização física e cada um deve possuir um ponteiro para o bloco seguinte.
Alocação Indexada
O princípio desta técnica é manter os ponteiros de todos os blocos de arquivos em uma única estrutura denominada bloco de índice.
Acesso Sequencial
Os primeiros sistemas operacionais só armazenavam arquivos em fitas magnéticas. Consequentemente a organização sequencial dos arquivos era usada. O acesso aos registros era feito na ordem em que os registros eram gravados
Acesso Direto
Este acesso é realizado através do número do registro que é a sua posição relativa ao início do arquivo. No acesso direto não há restrição com relação à ordem em que os registros são lidos ou gravados, sendo sempre necessário informar o número do registro
Acesso Indexado ou Acesso por Chave
O acesso indexado tem como base o acesso direto sendo que arquivos com organização indexada devem possuir uma área de índice onde existem ponteiros para os diversos registros
fsck EXT3 e EXT4 Reparar sistema corrompido
Desmonte o dispositivo:
sudo umount /dev/sdc1 Execute fsck para reparar o sistema de arquivos: sudo fsck -p /dev/sdc1 A opção -p informa ao fsck para reparar automaticamente quaisquer problemas que possam ser corrigidos com segurança sem a intervenção do usuário. Depois que o sistema de arquivos for reparado, monte a partição: sudo mount /dev/sdc1
fstab
fstab é um arquivo de configuração que informa ao sistema como e onde montar as partições.
fsck
(verificação do sistema de arquivos) é um utilitário de linha de comando que permite executar verificações de consistência e reparos interativos em um ou mais sistemas de arquivos Linux. Ele usa programas específicos para o tipo de sistema de arquivos que verifica.
Somente root ou usuários com privilégios sudo podem limpar o buffer.
Nunca execute o fsck em partições montadas, pois isso pode danificar o sistema de arquivos. Antes de tentar verificar ou reparar os sistemas de arquivos, sempre unmount -o primeiro.
NTFS: hard links, junctions e symbolic links
O sistema de NTFS arquivos define várias maneiras de redirecionar arquivos e pastas, por exemplo, fazer um arquivo apontar para outro arquivo ou seu conteúdo. O objeto apontado é chamado de alvo
- *Hard links Representação do sistema de arquivos de um arquivo pelo qual mais de um caminho faz referência a um único arquivo no mesmo volume
- *Junction points difere de um link físico no qual os objetos de armazenamento referenciados são diretórios separados e uma junção pode vincular diretórios localizados em diferentes volumes locais no mesmo computado
- *symbolic links podem ser links absolutos ou relativos. Links absolutos são links que especificam cada parte do nome do caminho; os links relativos são determinados em relação ao local em que os especificadores de link relativo estão em um caminho especificado
LINKS NO LINUX
A remoção de um Hard Link acarreta a eliminação automática do alvo.
o usuário administrador do sistema é o único que pode criar Hard Link
Soft Link podem ligar arquivos e diretórios em partições distintas.
Hard Link e o alvo devem estar na mesma partição.
LINUX Links simbólicos
são arquivos que funcionam como atalhos ou referência a outro arquivo ou diretório
O uso de links simbólicos no Linux é muito comum: softwares diversos costumam empregar links para bibliotecas em vez de replicar o arquivo em outro diretório
É muito fácil criar um link simbólico no Linux. Basta usar o comando ln com a seguinte sintaxe:
ln -s caminho/arquivooriginal caminho/arquivolinksimbólic
Quando um link simbólico é criado, ele passa a referenciar o arquivo original. Isso significa que ao ler ou editar o link simbólico, você estará lendo e editando o arquivo original
SE EXCLUIR O SIMBÓLICO O ORIGINAL PERMANECE
SE EXCLUIR O ORIGINAL O SIMBOLICO NAO APONTA PRA LUGAR NENHUM
LINUX Inodes e hardlinks
inode é uma estrutura de dados que representa um arquivo ou diretório
um arquivo deve ter um inode único dentro de determinada partição.
hardlinks:
só podem referenciar arquivos, e nunca diretórios;
não podem referenciar arquivos em outros volumes ou partições;
hardlinks continuam funcionando mesmo que o arquivo original tenha sido apagado; e
hardlinks fazem referência ao inode do arquivo original. Ao contrário dos softlinks, que referenciam nomes de arquivos e diretórios, os hardlinks referenciam uma posição física da partição.
Para criar um hardlink»_space;sem o parâmetro -s:
ln caminho/arquivo-original caminho/link
XFS
O XFS é um sistema de arquivos desenvolvido em 64 bits, compatível com sistemas de 32 bits. Em plataformas de 64 bits, possui um limite de tamanho de 8 EiB para um volume e para cada arquivo; em 32 bits, usando page frame de 4 KiB, o tamanho máximo do volume ou de um arquivo é limitado a 16 TiB.
ext4
O sistema de arquivos ext4 pode suportar volumes com tamanho até 1 exabyte e arquivos com tamanho até 16 terabytes.
Tamanho Máximo de arquivo = 6 TiB (para um sistema com blocos de 4k)
Número máximo de arquivos = 4 bilhões (especificado na criação do sistema)
Tamanho máximo do nome de arquivo = 256 bytes
Tamanho máximo do volume = 1 EiB
Caracteres permitidos em nomes
Todos bytes exceto NULL (‘\0’) e ‘/’
BTRFS
amanho Máximo de arquivo = 16 EiB Número máximo de arquivos = 264 Tamanho máximo do nome de arquivo = 255 caracteres ASCII Tamanho máximo do volume = 16 EiB Caracteres permitidos em nomes Todos os caracteres, exceto '/' e NUL
NTFS é dividido em 4 partes
Setor de Boot NTFS, MFT, Dados do Sistema de Arquivos e a Cópia da MFT.
Se você pegar a descrição dos bytes do NTFS, verá que os bytes 0x38 a 0x3F demonstra a localização da MFTMirr
O que é GNU/Linux
Linux é o núcleo do sistema operacional, programa responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral). O conjunto do kernel e demais programas responsáveis por interagir com este é o que denominamos sistema operacional. O kernel é o coração do sistema.
GNU/Linux
Os principais programas responsáveis por interagir com o kernel foram criados pela fundação GNU. Por este motivo é mais correto nos referenciarmos ao sistema operacional como GNU/Linux ao invés de apenas Linux.
Linux é apenas o kernel
Linux é apenas o kernel do sistema operacional, ele depende de uma série de ferramentas para funcionar, a começar pelo programa usado para compilar seu código-fonte. Essas ferramentas são providas pelo projeto GNU, criado por Richard Stallman.
Tipos de Partições
Primárias: são as partições que contém um sistema de arquivos. Num HD deve haver no mínimo uma e no máximo quatro partições primárias. Se existirem quatro partições primárias, nenhuma outra partição poderá existir neste disco. Por isso, o padrão é que somente as partições onde serão instalados os sistemas operacionais sejam definidas como primárias, mas isso não é regra, uma vez que alguns sistemas operacionais, como o GNU/Linux, podem ser instalados totalmente dentro de partições lógicas;
Extendidas: são partições primárias especiais, que ao invés de receber um sistema de arquivos abriga outras partições, lógicas. Num disco pode existir somente uma partição extendida;
Lógicas: são as partições criadas dentro das partições extendidas. Essas partições, assim como as primárias, recebem sistemas de arquivos. Dentro de uma partição extendida podem existir no máximo 12 partições lógicas.
Discos Linux
Os tipos de disco podem ser:
hd: Disco rígidos IDE; sd: Disco rígido SCSI.
Já [disco] é substituído pela letra correspondente à unidade de disco:
a: Primary Master; b: Primary Slave; c: Secondary Master; d: Secondary Slave.
E, por fim, [partição] é substituído pelo número da partição.
Veja alguns exemplos de referências a partições:
/dev/hda1: disco rígido IDE (hd), primary master (a), primeira partição (1); /dev/sdc3: disco rígido SCSI (sd), secondary master (c), terceira partição (3); /dev/hdd4: disco rígido IDE (hd), secondary slave (d), quarta partição (4); /dev/sdb7: disco rígido SCSI (sd), primary slave (b), sétima partição (7).
partição swap
Para a instalação básica de um sistema GNU/Linux são necessárias pelo menos duas partições: uma principal, onde será instalado o sistema, e uma partição swap, conhecida também como área de troca. A função da partição swap é funcionar como memória virtual.
A memória virtual é um recurso que utiliza o disco rígido para armazenar dados não utilizados na memória RAM, liberando-a para receber mais dados. Isso torna o sistema mais estável e evita que ele se torne excessivamente lento quando muitas aplicações são executadas simultaneamente.
A partição swap deve ser dimensionada de acordo com a quantidade de memória RAM instalada e a carga de trabalho da máquina. O ideal é que o tamanho da partição swap seja no mínimo duas vezes maior que a quantidade de memória RAM instalada e no máximo 1 GB.
Montando partições
# cd /dev/fd0 bash: cd: /dev/fd0: Não é um diretório
Você precisa, antes, montar o disquete:
# mount /dev/fd0 /media/floppy # cd /media/floppy # ls doc.tar.bz2 linux-apostila.sxw lost+found ROTEIRO_divisao.doc
Utilizando o mount
O mount é o utilitário usado para montar sistemas de arquivos. Seu uso é simples:
mount -t [sistema de arquivos] -o [opções] [dispositivo] [ponto de montagem]
sistema de arquivos: aqui devemos informar qual o sistema de arquivos utilizado no dispositivo ou partição que se deseja montar. Pode ser ext3, ext2, reiserfs, xfs, vfat, jfs, minix, etc. Se você não souber o sistema de arquivos utilizados, experimente a opção auto; opções: várias opções podem ser utilizadas aqui. Algumas delas: ro: monta a partição no modo somente leitura, não sendo possível fazer alterações no sistema de arquivos do dispositivo; rw: monta a partição no modo de leitura e escrita, permitindo fazer alterações no sistema de arquivos; loop: utilizada para montar sistemas de arquivos gravados em arquivo; noexec: não permite a execução de programas que estejam gravados no sistema de arquivos do dispositivo; noatime: não grava informações sobre data do último acesso nos arquivos; nodev: não permite a criação de dispositivos no sistema de arquivos do dispositivo; nosuid: não permite a criação de arquivos com o bit SUID ligado. dispositivo: é a partição, disco ou arquivo que deseja acessar; ponto de montagem: é o diretório a partir de onde queremos acessar o dispositivo.
umount
O umount, como o nome sugere, é o comando que utilizamos para desmontar o sistema de arquivos, ou seja, desconectá-lo da máquina, tornando-o novamente inacessível. # umount [dispositivo ou ponto de montagem]
fstab
arquivo que podemos utilizar para gerenciar a montagem de dispositivos. Esse arquivo é o /etc/fstab.
Nele encontram-se as entradas dos sistemas de arquivos que são montados durante a inicialização do sistema, juntamente com outros sistemas de arquivos que são montados com freqüência.
Uma utilidade do fstab é permitir montar sistemas de arquivos com o mount utilizando apenas um parâmetro. Como exemplo, vamos ver como fica o comando para montar um disquete no diretório /media/floppy/:
mount -t auto /dev/fd0 /media/floppy
Para ver uma lista completa das opções do fstab, veja as páginas de manual:
$ man fstab
ls
$ ls [opções] [arquivo]
Opções:
- a: Exibe arquivos ocultos; - A: Não exibe os diretórios . e ..; - -author: Mostra o autor (criador) de cada arquivo; - b: Exibe caracteres de escape octais no lugar dos caracteres que não podem ser vistos, como o espaço em branco; - -block-size=[tamanho]: Exibe o tamanho dos arquivos em múltiplos do número de bytes especificado nesse parâmetro; - B: Não exibe arquivos de backup (terminados com ~); - c: Lista os arquivos por ordem da data da última modificação; - C: Exibe a listagem em colunas; - -color=[quando]: Controla quando as cores devem ser usadas para distinguir os tipos de arquivos. Os valores aceitos são: never: Não usa cores pra nenhum tipo de arquivo; always: Usar cores para todo tipo de arquivo; auto: Seleciona quais arquivos serão exibidos em cores. - d: Exibe o diretório especificado, e não o seu conteúdo; - f: Ativa os parâmetros -a e -U e desabilita os parâmetros -l, -s e -t; - F: Acrescenta um caracter gráfico ao final de cada arquivo para identificar o seu tipo; - G: Não exibe informações dos grupos a que os arquivos pertencem; - h: Exibe os tamanhos dos arquivos em uma forma legível (2K, 21M, 1G); - -si: Semelhante ao -h, mas usa múltiplos de 1000 bytes ao invés de 1024; - H: Exibe os arquivos para os quais os links simbólicos apontam, ao invés de listar só o link; - i: Exibe o número de índice (I-node) dos arquivos; - I: Não exibe entradas que contiverem o padrão informado; - k: Equivalente a --block-size=1k;
Mais comandos ls
- l: Listagem detalhada, com diversas informações sobre os arquivos;
- L: Quando listar links simbólicos, lista o local para onde o link aponta, e não o link propriamente dito;
- m: Lista os arquivos em linhas, separando cada item com uma vírgula;
- n: O mesmo que o parâmetro -l, mas mostra as UID’s e GID’s ao invés dos nomes dos grupos;
- o: O mesmo que o parâmetro -l, mas não exibe as informações sobre o grupo;
- p: Adiciona um caracter para identificar o tipo do arquivo. O mesmo que -F, mas não utiliza o caracter * (asterisco);
- Q: Exibe os nomes das entradas entre “ (aspas duplas);
- r: Organiza a lista na ordem inversa;
- R: Lista recursivamente o conteúdo dos diretórios e subdiretórios do diretório atual;
- s: Exibe o tamanho de cada arquivo, em múltiplos de blocos (especificados com o parâmetro –block-size=[tamanho]);
- S: Organiza a lista de acordo com o tamanho do arquivo;
- t: Lista pela data de modificação;
- u: Organiza a listagem pela data do último acesso;
- U: Não organiza a listagem, exibindo os arquivos na seqüência em que estão gravadas no diretório;
- w: Ajusta o tamanho da tela para o número de colunas especificado;
- X: Organiza a listagem em ordem alfabética;
- 1: Lista apenas um arquivo por linha;
cd
O comando cd, sigla de change directory (selecionar diretório), serve para acessar um determinado diretório.
$ cd [diretório]
mkdir
O comando mkdir, abreviatura de make directory (criar diretório), é usado para criar um novo diretório.
$ mkdir [opções] [novo diretório]
-m: Especifica as permissões que do novo diretório terá; -p: Cria todos os diretórios e subdiretórios necessários; -v: Exibe uma mensagem para cada diretório criado. demos criar vários diretórios com um único comando
rmdir
Esse comando é utilizado para apagar um diretório vazio.
$ rmdir [opções] [diretório]
p: Remove os diretórios-pai do diretório selecionado, se possível.
-v: Mostra os detalhes da remoção dos diretórios.
Podem ser especificados mais de um diretório por vez. O rmdir só remove diretório vazios.
pwd
pwd, sigla de print working directory (exibir diretório de trabalho), exibe o diretório atual. É equivalente a echo $PWD.
cat
O comando cat concatena arquivos e imprime na saída padrão (exibe na tela). Em arquivos, usamos o cat para listar seu conteúdo na tela. Com o uso de direcionadores, podemos usá-lo para unir diferentes arquivos em um só, dentre outra funções.
$ cat [opções] [arquivo]
Opções:
- b: Numera as linhas, com exceção das linhas em branco; - E: Mostra um "$"? (cifrão) para indicar fim de linha; - n: Numera todas as linhas, incluindo as em branco; - s: Não mostra mais do que uma linha em branco. Se houver duas ou mais linhas em branco consecutivas, elas são truncadas e apenas uma é mostrada; - T: Substitui tabulações pelos caracteres "^I"?; - v: Substitui os caracteres não imprimíveis por símbolos, exceto tabulações e final de linha.
tac
tac
O tac faz o mesmo que o cat, mas exibe o arquivo pela ordem inversa, ou seja, começando pela última linha e terminando com a primeira.
touch
O comando touch é usado atualizar as informações sobre as datas de último acesso e última modificação de um arquivo.
$ touch [opções] [arquivo]
Se o arquivo não existir, ele é criado, por padrão. Isso faz o touch ser muito utilizado para criar arquivos vazios, através do comando touch [arquivo].
Opções:
- a: Modifica apenas a data do último acesso; - c: Não cria arquivos, caso eles não existam; - m: Modifica apenas a data de modificação; - t: A data e hora a ser utilizada para o último acesso ou última modificação. O formato utilizado é MMDDhhmm (mês, dia, hora e minuto);
cp
O cp, abreviação de copy (copiar), é utilizado para copiar arquivos e diretórios de um local para outro, com o mesmo nome ou com nome diferente.
$ cp [opções] [origem] [destino]
- b: Cria um arquivo dos arquivos de destino se eles estiverem para ser sobrescritos; - P: Quando tratar de links simbólicos, copia o link, e não o local para onde o link aponta; - f: Operação forçada. Se um dos arquivos de destino não puder ser aberto, apaga-o e repete a operação; - i: Pede confirmação antes de sobrescrever um arquivo; - L: Quando tratar de links simbólicos, copia o local para o onde o link aponta, e não o link; - p: Preserva as propriedades do arquivo (permissões, dono e datas); - -preserve=[propriedade]: Escolhe quais propriedades preservar, separadas por vírgula. Podem ser: mode: Preserva as permissões; ownership: Preserva a informação de dono do arquivo; timestamp: Preserva as datas de acesso e modificação. - -no-preserve=[propriedade]: Escolhe quais propriedades não devem ser preservadas. As opções são as mesmas que do parâmetro --preserve; - R ou -r: Modo recursivo, copia todos os arquivos e subdiretórios do diretório especificado. Esse parâmetro deve ser usado para copiar diretórios inteiros; - -target-directory=[diretório]: Especifica para qual diretório devem ser copiados os arquivos/diretórios especificados; - u: Copia apenas os arquivos novos. Se um arquivo que estiver sendo copiado já existir no diretório de destino, sua cópia será ignorada; - v: Mostra os detalhes da cópia dos arquivos.
mv
Utilizamos o mv mover ou renomear arquivos.
$ mv [opções] [destino]
- b: Cria um backup dos arquivos de destino, se eles forem sobrescritos; - f: Força as operações, sem fazer perguntas caso seja necessário sobrescrever arquivos e outros; - i: Modo interativo, pede confirmação para sobrescrever arquivos; - -target-directory=[diretório]: especifica o diretório de destino para os arquivos; - u: Só move os arquivos novos. Se o arquivo que está sendo movido já estiver presente no diretório de destino, ele é ignorado; - v: Mostra os detalhes do processo de movimentação.
rm
O rm é utilizado para excluir arquivos.
$ rm [opções] [arquivo]
- f: Modo forçado, não pede confirmação para realizar as operações; - i: Pede confirmação antes de remover qualquer arquivo; - R, -r: Exclui recursivamente todo o conteúdo do diretório e o próprio diretório. Quando quiser excluir um diretório que não está vazio, utilize esse parâmetro; - v: Mostra os detalhes das exclusões.
ln
Esse é o comando utilizado para criar links, simbólicos ou absolutos.
$ ln [opções] [alvo] [nome do link]
- b: Se houver um arquivo com o mesmo nome do link que está sendo criado no diretório de destino, cria um backup do arquivo existente; - d: Permite ao administrador do sistema (root) criar um hardlink (link absoluto) para um diretório; - f: Força a criação dos links; - n: Trata um link simbólico pra um diretório como se fosse um arquivo normal; - i: Pergunta antes de remover arquivos existentes; - s: Cria um link simbólico; - -target-directory=[diretório]: Especifica em qual diretório o link deve ser criado; - v: Exibe o nome de cada link antes de criá-lo.
cmp
Esse comando é utilizado para comparar dois arquivos e mostrar a primeira diferença entre eles. Use para certificar-se de que dois arquivos possuem ou não o mesmo conteúdo.
$ cmp [opções] [arquivo1] [arquivo2]
- b: Imprime os bytes que são diferentes entre si; - i [n]: Não considera os primeiros [n] bytes de cada arquivo; - l: Mostra os número dos bytes e os valores diferentes; - s: Não mostra nenhum detalhe, apenas sai com status 1 se alguma diferença for encontrada.
grep
grep é utilizado para encontrar padrões em arquivos de texto, ou, em outras palavras, procura num arquivo todas as linhas que possuem a palavra ou expressão informada e as exibe na tela.
$ grep [expressão] [arquivo]
/etc/passwd
Nesse arquivo ficam armazenadas as informações sobre os usuários. Ele é constituído de diversas linhas, uma para cada usuário. Essas linhas contém diversos campos, a saber:
private:x:1014:1014:Usuário Anônimo FTP:/pub/privado/:/bin/bash
Login de usuário;
Password criptografado;
UID: O UID (User Identity, ou identidade de usuário) é o número de identificação do usuário;
GID: O GID (Group Identity, ou identidade do grupo) é o número de identificação do grupo padrão do usuário;
Comentários;
Diretório pessoal;
Shell.
Shadow passwords
O arquivo /etc/passwd contém informações sobre todos os usuários, inclusive as suas senhas criptografadas. Ele é legível por todos os usuários e, por isso, estas senhas podem ser facilmente descobertas por crackers. Para evitar isso e aumentar a segurança do sistema, adotaram o sistema de sombreamento de senhas, o shadow passwords.
private:$1$3ZkVpbv6$z.T9d907rVyIcxUFy3wwk.:12643:0:99999:7:::
o campo password do arquivo /etc/passwd é substituído por um “x” e a senha do usuário é armazenada no arquivo /etc/shadow.
/etc/group
Este arquivo armazena as informações sobre os grupos de usuários. O formato é similar ao do /etc/passwd e seus campos são:
osdormesujo:x:104:crildo,teste,tux,win2kserver
Nome do grupo;
Password;
GID;
Grupos membros do grupo.
/etc/gshadow
O arquivo /etc/gshadow possui as mesmas funções do arquivo /etc/shadow, mas dificilmente veremos senhas aqui.
osdormesujo: !::
teste: !::
tux: !::
Criando uma nova conta de usuário
useradd
Somente o administrador do sistema pode criar, excluir ou modificar os dados dos usuários do sistema.
useradd [opções] [login]
- c: Adiciona um comentário sobre o usuário; - d: Especifica qual o diretório pessoal do usuário. O padrão é /home/[login]; - e: Especifica a data a partir da qual a conta do usuário será removida automaticamente. Use-a para criar uma conta de usuário temporária. O formato da data é AAAA-MM-DD (ano-mês-dia); - f: Use esse parâmetro em conjunto com o -e, se quiser que quando a conta do usuário expirar, os dados do usuário não sejam apagados imediatamente. Use o valor 0 para que a conta do usuário seja excluída assim que a sua senha expirar. Use -1 para desativar essa função; - g: Especifica o grupo inicial ao qual o novo usuário irá pertencer. Pode ser o nome do grupo ou então o número (GID). O padrão desse parâmetro é users, ou 100; - G: Especifica outros grupos aos quais o novo usuário irá pertencer, separados por vírgula; - m: Cria o diretório pessoal, especificado no parâmetro -d, se ele não existir; - k: Quando se cria um novo diretório pessoal, os arquivos do diretório /etc/skel/ são copiados para lá. Use o parâmetro -k para especificar outro diretório, diferente de /etc/skel/, de onde copiar arquivos para dentro do diretório pessoal do usuário; - o: Permitir que o novo usuário tenha um UID duplicado, já utilizado por outro usuário; - p: Use esse parâmetro para informar a senha criptografada do usuário. Para conseguir a senha criptografada é necessário utilizar um programa de criptografia; - s: Informa o Shell padrão do usuário. Geralmente não se utiliza esse parâmetro, para deixar o sistema escolher; - u: Use esse parâmetro para informar o UID do usuário manualmente. A menos que você utilize o parâmetro -o, esse número deve ser único, ou seja, você não pode informar uma UID que já esteja sendo utilizada por outro usuário;.
Criando uma nova conta de usuário
adduser
um pouco mais interativo
adduser [opções] [login]
As opções disponíveis são:
- -conf: O adduser utiliza as informações gravadas no arquivo /etc/adduser.conf. Utilize esse parâmetro para utilizar outro arquivo de configuração; - -disabled-login: Não solicita senha para o usuário. A conta fica indisponível, até que seja executado o comando passwd manualmente para definir uma senha para o usuário; - -disabled-password: Não solicita senha ao usuário, mas a conta fica disponível através do uso de chaves SSH RSA; - -gid: Informa manualmente o número do grupo (GID) a que o usuário será incluído; - -group: Se usado juntamente com o parâmetro --system, é criado um grupo com o mesmo nome e GID do usuário criado. Se usado sem o parâmetro --system, é criado um grupo com o nome fornecido; - -home: Especifica o diretório pessoal do usuário. O padrão é /home/[login]; - -shell: Especifica o Shell a ser utilizado pelo usuário; - -ingroup: Adiciona o usuário para o grupo especificado; - -no-create-home: Não cria o diretório pessoal, se ele não existir; - -quiet: Não mostra mensagens sobre o progresso do processo de criação do usuário; - -system: Cria um usuário do sistema; - -uid: Força o usuário a usar o UID especificado. Se o UID for inválido, a criação do usuário não será efetuada;
passord
Desabilitando uma conta de usuário
Desabilitar uma conta de usuário é impedir o usuário de acessar o sistema
Para expirar senha edite o arquivo /etc/shadow, procure pela linha que contém as informações da conta que você deseja desabilitar
Excluindo uma conta de usuário
Para remover uma conta de usuário, apagando as suas informações no sistema, utilizamos o comando userdel.
userdel [-r] [login]
opção -r faz com que o diretório pessoal do usuário seja excluído também.
Se você quiser localizar todos os arquivos que pertencem ao usuário espalhados pelo sistema, utilize o comando find com os seguintes parâmetros:
find / -gid [GID do usuário] -uid [UID do usuário]
Os arquivos encontrados podem ser deletados ou você pode mudar a sua propriedade:
chown [novo dono]:[novo grupo] [arquivo]
Permissões no GNU/Linux
Permissão Literal Octal
Leitura r 4
Escrita w 2
Execução x 1
Leitura (r): A permissão de leitura é a que vai dizer se o usuário tem ou não direito de ver o conteúdo do arquivo ou do diretório; Escrita (w): Essa permissão diz se o usuário terá ou não o direito de modificar o conteúdo do arquivo ou diretório; Execução (x): Por fim, a permissão de execução especifica se o usuário pode ou não executar o arquivo, caso ele se trate de um binário ou de um script. No caso de um diretório, especifica se o usuário poderá ou não acessá-lo.
Definindo Permissões dos Arquivos
As permissões de um arquivo só podem ser alteradas por dois usuários: o administrador (root) e o dono do arquivo.
$ chmod [permissões] [arquivo]
O usuário pode ser:
u: O dono do arquivo (user); g: Os usuários que pertencem ao grupo do arquivo (group); o: Os outros usuários (others); a: Todos os usuários (all). As ações podem ser: \+: Adiciona a permissão; -: Remove a permissão; =: Iguala as permissões às especificadas.
Formato Octal
s permissões no formato octal são escritas sob a forma de 3 números. O primeiro número corresponde às permissões do dono do arquivo, o segundo número, às permissões do grupo, e o terceiro às permissões dos outros usuários. Esses números, variam de 0 a 7, e são obtidos através da soma de outros números, cada um correspondendo a uma determinada permissão, a saber:
4: Permissão de leitura; 2: Permissão de escrita; 1: Permissão de execução.
Permissões especiais
SUID pode ser aplicado somente para arquivos executáveis, para que eles rodem com as permissões do seu dono, e não com as permissões do usuário que o executou Ele está localizado no diretório /sbin/
SGID ando aplicado a arquivos executáveis, possui as mesmas funções do bit SUID, com a diferença de que as permissões são atribuídas ao grupo, e não ao usuário.
STICKY é utilizado em diretórios, para proteção de arquivos de uma forma menos radical. documentos que possui o bit STICKY. Documentos com permissões de leitura e escrita para todos os usuários. Dessa forma, qualquer usuário pode criar arquivos dentro desse diretório.
Dispositivos
Os arquivos de dispositivo ficam no diretório /dev/
/dev/fd0: Primeira unidade de disquete; /dev/hda1: Primeira partição do primeiro disco rígido IDE; /dev/psaux: Mouse PS/2; /dev/dsp: Placa de som; /dev/sdb3: Terceira partição do segundo disco SCSI; /dev/ttyS0: Primeira porta serial de comunicações, geralmente aquela utilizada pelo mouse serial (COM1); /dev/usb/lp0: Primeira impressora ligada USB; /dev/video0: Primeira placa de captura de vídeo; /dev/lp0: Primeira porta paralela, geralmente usada por impressoras; /dev/tty1: Primeiro terminal virtual (console); /dev/tty0: Interface de framebuffer; /dev/null: Dispositivo nulo, usado para descartar saídas de programas; /dev/zero: Dispositivo de geração de bits 0; /dev/random: Dispositivo de geração de bits aleatórios. MAKEDEV fica localizado em /sbin/, possuindo um link simbólico dentro do diretório /dev/
Módulos
O comando para carregar um novo módulo é o modprobe # modprobe [opções] [módulo] Zip Drive externo ligado à porta paralela: # modprobe ppm
Dispositivos USB
obter informações sobre nossos dispositivos externos, ligados na interface USB
$ lsusb
Placas e dispositivos on-board
informações sobre as placas e dispositivos on-board ligadas ao nosso computador
O diretório /proc/
/proc/ estão diversos arquivos que contém informações avançadas sobre o sistema. Para ver essas informações, basta usar o cat.
fdisk
Para iniciar o fdisk, usamos o seguinte comando: # fdisk [dispositivo] Onde [dispositivo] é o disco que estamos particionando. Geralmente utilizamos o disco rígido IDE ligado como primary master, o /dev/hda: # fdisk /dev/hda
mkfs
criar um sistema de arquivos em uma partição utilizamos o utilitário mkfs. Esse processo é conhecido como formatação. # mkfs.[sistema de arquivos] [partição] ormatar a partição /dev/hda2 como EXT2, o comando fica:
mkfs.ext3 /dev/hda2
fsck
checagem para corrigir eventuais erros # fsck -t [sistema de arquivos] [opções] [partição]
- C: Exibe uma barra de progresso. Esse opção só funciona para checagem de sistemas de arquivos EXT2; - V: Exibe informações detalhadas sobre os processos que vão sendo realizados durante a verificação. Interessante para entender como o fsck trabalha e ver com detalhes as ações realizadas, vem como os erros encontrados; - a: Corrige automaticamente os problemas encontrados utilizando as soluções marcadas como padrão. Essa opção não é segura, pois nem sempre a solução padrão é a mais adequada ao problema encontrado; - r: Corrige os problemas encontrados interativamente, perguntando ao usuário qual solução aplicar para cada problema. É o modo mais seguro e eficiente de corrigir erros no sistema.
quisermos corrigir automaticamente os erros da partição /dev/hda7 # fsck -t vfat -a /dev/hda7
LiLo e GRUB
gerenciadores de inicialização
O GRUB possui suporte à inicialização via linha de comando, útil para uso em sistemas de alta segurança onde o acesso ao computador é altamente restrito.
$ ls
comando: ls;
saída: Desktop doc img iso src teste tmp.
> (maior): Direciona a saída do comando para um arquivo, substituindo o seu conteúdo, caso o arquivo já exista; >> (maior-maior): Direciona a saída do comando para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; < (menor): Passa o conteúdo do arquivo como argumento para o comando; 2> (dois-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, substituindo seu conteúdo, caso o arquivo já exista; 2>> (dois-maior-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; &> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista; &>> (e-maior-maior): Direciona todas as saídas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista; | (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando.
find
ferramenta que utilizamos para localizar arquivos ou diretórios no sistema de arquivos.
Sintaxe:
$ find [opções] [caminho] [expressão] [ações]
whereis
Localiza o executável, arquivo/diretório de configuração, diretórios de bibliotecas, arquivos compartilhados, código-fonte e caminho da página de manual do programa especificado.
$ whereis [opções] [programa]
Opções:
-b: Procura apenas pelo executável do programa;
-m: Procura apenas pela páginas de manual;
-s: Procura apenas pelo diretório do código-fonte;
-u: Procura no diretório atual por arquivos que não possuam alguma das entradas informadas.
uname
Mostra o nome e a versão do kernel em uso.
$ uname [opções]
- a: Exibe todas as informações; - s: Exibe apenas o nome do kernel; - n: Exibe apenas o nome da máquina na rede; - r: Exibe apenas a série do kernel; - v: Exibe apenas a versão do kernel; - m: Exibe apenas a arquitetura de hardware; - o: Exibe apenas o nome do sistema operacional.
A maioria das distribuições Linux incluem os respectivos diretórios
/dev - Contém arquivos especiais ou arquivos de dispositivos.
/bin e /usr/bin - Contém comandos-padrão de Linux.
/lib e /usr/lib - Possui as bibliotecas-padrão de Linux.
/var - Possui arquivos de configuração e de log.
/etc - Possui arquivos padrão de configuração.
/usr/local/bin - Possui comandos que não são parte da distribuição, acrescentando pelo seu administrador.
/opt - Possui software comercial
/tmp - Armazena arquivos temporários.
/sbin e /usr/sbin - Possui comandos de administração de sistema.
Sequência de Boot LINUX
BIOS (UEFI) –> MBR (GPT) –> GRUB –> KERNEL –> INIT –> RUNLEVEL
.: A BIOS verifica a placa mãe e localiza o ponto de início MBR em um dos discos.
.: O MBR aponta a localização do GRUB, instalado no disco.
.: O GRUB localiza e executa o Kernel Linux
.: O Kernel, uma vez que inicia os componentes de hardware, dá início ao Init (ou SystemD)
.: O Init (ou SystemD) inicia os pacotes de processos chamados Runlevels
São interfaces gráficas do LINUX / AMBIENTE X
KDE, UNITY, XFCE, LXFCE, CINNAMON, GNOME, MATE, BlackBox e Window Maker
São distribuições do LINUX
FEDORA, MANDRIVA, HED HAT, SLACK WARE, GENTOO, KURUMIN, UBUNTU, DEBIAM
Gerenciadores de arquivos
NAUTILUS, DOLPHIN, KON QUEROR , PC MAN, THUNAR