Conhecendo os tipos de usuários no Linux

Nesta aula vamos conhecer os tipos de usuários e as permissões no Linux!

Todo sistema operacional em especial os que são voltados para sistemas corporativos, possui uma divisão de privilégios para execução e gravação de dados, que podem ser somente a alimentação de informações em determino sistema ou aplicativo/programa. Esse controle é feito através de uma classificação ou grupo.
Dentro do Linux o usuário master é chamado de root e é o responsável por gerenciar essas divisões. O root tem acesso total à todas as pastas do sistemas e configurações. Além disso existem os usuários comuns  que são os usuários adicionados, os nossos logins por exemplo, e também existem os usuários de sistema que são por exemplo o, bin, shutdown, named e tantos outros. Estes usuários não tem privilegios adicionais comparado com os usuários adicionado no sistema. Em suma, eles são chamados de usuários de sistema porque possuem um código de identificação em uma faixa restrita, e que são exclusivo deles, são em resumo usuários comuns, sem qualquer privilégios, apenas com um código de identificação em uma faixa pré-definida.
Já os usuários cadastrados no sistema, são chamados de apenas usuários. Não possui nenhum privilégio adicional ou uid's diferenciados. Os direitos administrativos são limitados somente à sua pasta pessoal, e ele pode apenas ler ou alterar o que foi permitido a ele, e como já falamos tudo depende do que é liberado ou não pelo usuário root.

Conhecendo os tipos de permissão e arquivos

Você já deve ter observado que cada arquivo ou diretório tem suas permissões peculiares, e em suas propriedades estão a que usuário e grupo pertence o arquivo. As permissões variam desde de que o pode ser lido ou não e também o que pode ficar oculto para determinado usuário que esteja em um grupo específico.
Essas informações do que o usuário pode ou não, são armazenadas em códigos e que são consultados e convertidos para nomes todas as vezes que realizamos uma consulta.

Conhecendo Tipos de arquivos

O tipo de arquivo como o nome já sugere é armazenado nas propriedades, onde também são guardadas as informações de permissões, essa tipologia, indica para que serve o arquivo. Podemos ver usando o comando ls. Confira a imagem abaixo:

Devemos prestar muita atenção na primeira coluna, vamos conferir uma tabela para entender melhor:

TipoDetalhamento
-Arquivo comum
bDispositivo de bloco
cDispositivo de caracter serial
dDiretório
lLink simbólico
sSocket de comunicação entre processos
pPipe de comunicação entre processos

Conhecendo as permissões

Como o nome já diz tudo, as permissões liberam ou não o acesso a terminado diretório ou arquivo. No Linux, são utilizados três níveis de permissões.
  1. Grupo proprietário do arquivo - Geralmente é o grupo do usuário que criou, e caso seja necessário alterar o proprietário, somente o root pode fazer isso.
  2. Usuário proprietário do arquivo - Geralmente é o usuário que criou, que também é chamado de owner. Também se for preciso, somente o root pode alterar o usuário proprietário.
  3. Outros - São todos os usuários que não estão no grupo proprietário do arquivo ou não é o usuário que criou o arquivo ou diretório.
As permissões que certamente você viu no print acima, são interpretadas em três conjuntos, "r", "w" e "x", ou seja, r de read que quer dizer ler, w de writer que quer dizer escreva e o x que quer dizer executar.


Vamos compreender as saídas do terminal:
  1. sempreupdate é um arquivo a primeira posição da listagem é um "-"
  2. o arquivo pertecente ao usuário emanuel
  3. o usuário emanuel que é o proprietário do arquivo pode ler e alterar o arquivo
  4. o grupo do proprietário do arquivo apenas pode ler o conteúdo do arquivo
  5. e os usuários que classificamos como outros, podem ler o conteúdo do arquivo

Aprendendo a alterar permissões

Quando criamos um arquivo na maioria das vezes ele já vem com as permissões pré-definidas, mas o dono do arquivo pode alterar essas permissões ou o usuário root. Existem diversas maneiras de alterar essas permissões, porém vamos citar três meios para isso, que são geralmente os mais utilizados.
A primeira é via método diferencial, onde as alterações utilizam de um lógica, quando eu quero remover algum tipo de permissão utilizo o - e quando eu quer dar permissão eu utilizado +, sempre seguido por "r", "w" ou "x".
A segunda forma de mudar as permissões é atribuindo diretamente as permissões, também utilizando as letras que citamos.
A terceira é pelo método octal onde essas permissões são convertidas de letras para números binários. Todos os três meios vão sempre utilizar o comando chmod que indicam as permissões e o que deve ser alterado, se você já executou algum shell script já deve ter utilizado muito.

Vamos para alguns exemplos:

Vamos utilizar o método diferencial, onde vamos alterar as permissões para que o resultado seja rw-rw-rw-

  
Agora, vamos mudar novamente, utilizando a atribuição direta, vamos mudar para -r-xr-x–x:


Agora, vamos para o método octal, geralmente mais utilizado em servidores, como por exemplo no Cpanel dos hosts. Este método é um pouco mais complexo, onde cada letra tem um valor, x corresponde ao valor 1, w corresponde ao valor 2 e r corresponde ao valor 4, para saber a permissão que vamos definir é preciso somar os valores, ao invês de 9 tracinhos para preencher, no modo octal será somente 3.
Ex.: Se eu quero que a permissão seja para acesso total, leitura, escrita e execução, ou seja, r w x então temos os valores 4 2 1 então a soma deles será 7.
Ex 2: Mas eu só quero atribuir a leitura e execução, então teremos r e x que correspondem respectivamente à 4 e 1 então vamos ter na soma 5.

Então vamos montar uma espécie de equação númerica:

rwx r-x r-x (letras)
  421 4-1 4-1 (binários)
           7   5   5 (resultado da soma)

Vamos então aplicar as permissões que calculamos ao nosso arquivo sempreupdate:


Bom, nossa aula de hoje foram essas permissões simples, na aula 4 vamos ver as permissões especiais.

Nota: Estamos na época de pagar custos com servidores, gostaríamos da sua ajuda contribuindo com uma doação a partir de R$ 10,00 via PagSeguro no botão na barra lateral, queremos manter o projeto no ar por mais tempo, ajude-nos!



Doações feitas por:

Gean Geowle
Alexander Moreira
Ewerton Henrique Albuquerque

Nesta aula, vamos ver as permissões especiais, se você achava que só existia as permissões de leitura, escrita e execução se enganou, além destas, ainda temos mais três permissões especiais. Cada uma é aplicada com propósito diferente, elas são: Stick bit, sgid e suid. As permissões especiais são atribuídas sempre em conjunto com a permissão de execução.

Já no modo octal geralmente são atribuídas permissões no estilo NNN, onde cada posição é atribuída a um conjunto de permissões, conhecidos como usuário, grupo e outros. As permissões especiais são atribuídas uma posição antes do padrão: ENNN, onde E segue o mesmo padrão de definições de permissões.

Stick Bit

Geralmente é utlizado em diretórios compartilhados ou que armazenam dados temporários de usuários em equipamentos compartilhados como servidores que executam aplicações. Em suma, o foco do Stick Bit é fazer com que as informações gravadas por todos os usuários do determinado aplicativo só seja removidas pelo proprietário ou usuário root, isso torna o diretório protegido de qualquer acidente causado por usuários, ou até aqueles que conhecemos que gostam de invadir servidores.
Stick Bit funciona através de um conjunto de permissões outros por garantir que qualquer arquivo ou diretório de qualquer usuário esteja protegido.

4     2    1

rwx rwx rwx

7    7    7

Para aplicar esta permissão especial vamos acrescentar antes das permissões comuns o valor que define o stick bit, neste valor 1. O comando resultante para esta permissão é:

# chmod 1777 diretório

SGID

Já nesta permissão, o foco é garantir  que o grupo do arquivo ou diretório seja preservado de qualquer tentativa de criação de dados ou diretórios. Sua utilidade está no uso em diretórios ou executáveis quando manter o grupo original for essencial. Quando um diretório possui essa permissão, qualquer novo arquivo ou diretório que for criado dentro dele também pertencerá ao grupo inicial. No caso de executáveis, qualquer dado criado com este programa vai pertencer ao grupo inicial.

4     2     1

rwx rwx rwx

421  421  421

Para aplicar essa permissão especial, é preciso acrescentar antes das permissões comuns o valor que esta atribuído ao SGID, neste caso o valor 2. E assim, o comando seria:

# chmod 2777 diretório

SUID

Esta permissão é direcionada a executáveis, o foco desta permissão é fazer com que durante a execução do comando, o usuário logado assuma a identidade do dono do programa (isso vimos em aulas anteriores), dando direitos para leitura e gravação. Quando aplicado, qualquer novo arquivo ou diretório vai pertencer ao usuário inicial.

4    2    1

rwx rwx rwx

421 421 421

Para atribuir essa permissão especial vamos então acrescentar o valor que esta atribuído ao SUID, neste caso o valor 4. O comando resultante para esta permissão é:

# chmod 4777 arquivo

Hoje começamos uma nova etapa aqui no SempreUPdate, vamos ajudar nossos leitores a começar a preparação para a prova de LPI 1, inicialmente para prova 101 e em breve avançaremos para as próximas provas. É importante destacar que fizemos uma enquete, onde 55% dos votantes escolheram que as aulas fossem em texto, porque querem imprimir em PDF e montar seu próprio material de estudo. No entanto, resolvemos fazer a aula em texto e os comandos vamos demonstrar em vídeo, o que vai facilitar o nosso entendimento.
Queremos agradecer de um modo especial, as empresas Click Informática da cidade de Presidente Venceslau - SP, Impressões Bárbaras da cidade de Castro - PR, ao Duzeru GNU/Linux e demais colaboradores do SempreUPdate, pelo apoio nesse novo projeto que se inicia e que vai beneficiar milhares de pessoas pelo país.
A prova de LPI, é conhecida por seu grau minucioso, para não dizer que é cheia de cascas de banana e que você pode escorregar, pensando nisso vamos então voltar um pouco no tempo e entender o Linux através da história.

A história

No período de um ano, compreendidos entre 1968 e 1969 o grupo empresarial composto por Bell Telephone LABS da AT&T, MIT e General Eletric estavam dedicando seus esforços para lançar o seu sistema, chamado de MULTICS (Multiplexed Information and Computing Service) o grande foco era criar um sistema para os imensos computadores da época e que vários usuários pudessem utilizar o sistema ao mesmo tempo. 
Mas, algo saiu errado, o projeto MULTICS não deu certo e tudo deve que ser cancelado e o grupo foi desmanchado. Mas como nada é em vão, os desenvolvedores Ken Thompson e Dennis Ritchie da Bell Labs aprederam com a experiência, e resolveram a aproveitar o que aprenderam com o projeto para reformular tudo e criar um sistema operacional para jogar o space war, mas ao invés de grandes computadores, esse sistema foi instalado em um pequeno computador conhecido por DEC PDP-7 que tinha exatos 4k de ram para programas.
Acontece que a jogada vingou, e não é que o resultado disso foi o UNICS (UNiplexed Information and Computing Service). A linguagem utilizada para desenvolver o sistema inicialmente foi assembly, e no ano de 1973 surgiu a primeira versão de seu kernel escrita em C que foi desenvolvida para o DEC PDP-11.
Na mesma época, a AT&T tinha um projeto que fornecia o código fonte para estudantes, mas apenas para fins de estudo e nada comercial, e o melhor, de graça. Entre os anos de 1977 e 1982 a empresa AT&T criou um sistema chamado de Unix System III que na verdade foi a unificação das várias versões do Unix e que foi avançando até o Unix System V.
E aí chegamos no Andrew S. Tanenbaum, que é o desenvolvedor do Minix, para quem não lembra, ele foi desenvolvido dentro do padrão POSIX (Portable Operating System Interface), esse padrão foi criado para o UNIX e que foi a base utilizada pelo nosso amigo Linus Torvalds que na época estudava na Universidade de Helsink na Finlândia.
O maior foco do Linus era apenas adaptar o sistema as suas necessidades, implementados recursos e otimizando o sistema para seu equipamento. O Linus, conseguiu desenvolver a partir daí um novo kernel que continha recursos adicionais e regido por um modelo diferente.
Essas informações do trabalho do Linus foi publicada em uma lista de discussão semelhante ao modelo que utilizamos até hoje, essa lista chamava-se USENET e foi publicada em 25 de Agosto de 1991. A publicação ofertava o novo kernel como uma alternativa ao MINIX e ainda encorajava os jovens estudantes a modificá-lo e adaptá-lo as necessidades de cada um. Em um curto espaço de tempo muita gente entrou de cabeça, melhorias e centenas de modificações foram implementadas dando origem ao kernel do Linux.

Dentre todas as características do Linux, podemos destacar algumas:
  • O kernel do Linux foi lançado por Torvalds com a licença GPL da FSF que garante que este seja utilizado para qualquer fim e para qualquer ambiente de trabalho.
  • Sistema multi-tarefa
  • Sistema multi-usuário
  • Baseado no padrão POSIX
  • Compatibilidade com todos os aplicativos do projeto GNU lançado pelo Free Software Foundation.
  • Compatibilidade com várias arquiteturas
Quando falamos em Software Livre, lembramos logo no Linux, mas isso as vezes gera muita briga. Hoje sabemos que o kernel do Linux foi modificado e que por sua vez contém código proprietário, o que não podemos dizer que ele é 100% livre. Mas, antes de entrar mais a fundo vamos entender primeiro o que é Software Livre!?

Tudo o que é LIVRE no mundo do Linux ou GNU/Linux, tem que ter algumas bases, e são elas:
  1. Liberdade de execução do programa/código para qualquer fim, seja ele pessoal ou comercial.
  2. Liberdade de estudar o programa/código que deve estar disponível para qualquer pessoa, inclusive com a capacidade de entender como ele funciona e  também de modificá-lo para atender as suas necessidades.
  3. Liberdade de modificá-lo e de distribuição a qualquer pessoa afim de beneficiar a todos pelo seu avanço.
  4. Liberdade de copiar e redistribuir a qualquer pessoa, sem a necessidade de cobrança de licença.

Vamos entender um pouco sobre licenças?

E aí você pergunta, mas que texto logo e porque que eu tenho que entender tudo isso, pois é muitas cascas de banana são colocadas a prova, e você precisa saber o que é livre e o que não é, já pensou fazer a empresa que você for trabalhar ser multada por uso indevido de algo que não poderia ser usado de forma comercial ou livre? Cuidado, não vá mexer no código de quem não deve! ;)
Vamos lá, todos os softwares que conhecemos tem um tipo de licença, que pode ser proprietário ou livre, comercial ou gratuito. Quando falamos em GPL quer dizer que é um Software Livre e que essa licença esta ligada ao projeto GNU da Free Software Foundation, vale lembrar que TODOS os softwares distribuídos pela FSF garante as quatro liberdade que supracitamos.

Mas e é só isso? Não, existem também algumas regras muito importantes que devem ser seguidas para que se possa dizer que o Software é de fato livre, vamos lá:
  1. Deve conter a referência ao autor e ao projeto original.
  2. Deve deixar claro que os dados do projeto original foram modificado.
  3. Não pode modificar a licença da publicação original de um trabalho, o projeto matriz deve ser mantido com a licença GPL e todos os seus derivados também.
  4. Deve conter informações de copyright e da ausência de garantias no uso ou até mesmo da intenção do software.

E o que seria distribuições Linux?

Quem nunca ouviu esse termo em? Pois é, como o nome já sugere, é a distribuição de um conjunto de softwares que contam um seus instaladores que possuem como foco facilitar o trabalho do usuário ou até de um administrador Linux. Então, para ficar claro, o Linux é apenas o kernel que foi lançado pelo Linus Torvalds e o Software Livre que contém nele é chamado de GNU, por isso que o correto mesmo é chamar as distribuições que conhecemos de GNU/Linux, isso deixa claro que temos o Linux e aplicativos lançados pela FSF. Hoje em dia o Linux está em todos os cantos do mundo, em empresas, dispositivos e até no espaço.

Instalando o Linux

O grande desafio de muitas pessoas quando dão de cara com o Linux a primeira vez é a instalação, só que isso vem mudando com os anos, apenas algumas distribuições mantém padrões manuais com a inserção do modo via terminal. O que na verdade é útil para aqueles que querem aprender mais profundamente o funcionamento do GNU/Linux, aí tudo é feito na mão, via terminal.
Hoje em dia, mais de 80% das distribuições possuem sua interface de instalação via modo gráfico, o que dispensa quaisquer intervenção via linha de comando e facilita a vida de muita gente, tanto o usuário de desktop, quanto para um gestor de redes ou TI.
Se você já instalou o Ubuntu, LinuxMint, Duzeru e outras distribuições voltadas para iniciantes, ou no caso do Ubuntu que pode ser usado para servidor, vai notar que a instalação é tão simples quanto no Windows da Microsoft, e que por via de regra seguem basicamente os mesmos passos, no que diz respeito a particionamento, criação de usuários e a adição de aplicativos ao sistema.
Este curso apresento à vocês tendo o Debian como base, afinal é a distribuição que mais teve distros filhas, aquelas derivadas como Ubuntu, LinuxMint, Duzeru, Knoppix, XandrOS e tantas outras.

Particionamento do disco

O particionamento do disco é essencial para que o sistema GNU/Linux seja instalado, imagine então que o seu disco rígido seja uma pizza sem sabor, e você precisa dividir a pizza em vários sabores, então do mesmo jeito é o particionamento do disco para o GNU/Linux. Existem um padrão recomendado para instalar as distribuições  que é a criação de 3 partições, uma para instalar o sistema raiz, outra para swap e por último a partição onde vão ficar os arquivos do usuário /home.
Isso é regra? Não! Como disse é recomendável, nada impede que você modifique conforme as suas necessidades e as características de hardware, vou explicar mais a frente sobre isso. Um detalhe importante, caso você faça um particionamento e depois se arrependa você pode mudar o seu esquema de partição mesmo após o GNU/Linux ter sido instalado, o ideal mesmo é que você conclua toda o particionamento correto logo no começo, afinal você não quer ter mais trabalho quando terminar de instalar, configurar, personalizar.

Sistemas de arquivos

No Linux, o sistema de arquivo no Linux são em resumo arquivos que são gravados em diretórios. No Windows que é o sistema base de muita gente antes de vir para o Linux você tem um sistema de arquivo "um pouco" parecido, onde existem as unidades C: A: B: D: por exemplo, a unidade C: é o local que o sistema da Microsoft é instalado, no Linux o diretório C: seria o / ou chamado de diretório raiz.
Existem algumas normas voltadas para o sistema de arquivos no Linux, neste artigo vou abordar a tradicional chamada de FHS (File Hierarchy Standard), que é a mais usada pela maioria das distribuições.

Diretórios em ordem alfabética
DiretórioDetalhes
binPrincipais comandos
bootArquivos para boot do Linux
devArquivos que gerenciam dispositivos
etcConfigurações do equipamento
libMódulos do Kernel e bibliotecas compartilhadas
mediaÉ o ponto de acesso para mídias removíveis
mntPonto de acesso para sistemas de arquivos temporários
optPacote de programas adicionais
sbinComandos vitalícios para o boot e administração do Linux
srvDados para serviços oferecidos pelo equipamento
tmpArquivos temporários
usrHierarquia secundária para programas adicionais
varDados de variáveis

E agora? Como faço para definir minhas partições? O que devo analisar?

Certamente você não tem mais aquele computador antigo do ano 2000, mas se estiver pensando recondicionar algum então vai uma dica, esses computadores mais antigos possuem uma limitação na BIOS que não iniciam o sistema quando os arquivos de boot estão acima de 1024 cilindros no disco rígido. Neste caso, você terá que criar uma partição extra manualmente e atribuir a essa partição o diretório /boot, ou não vai funcionar mesmo. Se o seu computador é mais recente fique tranquilo, você pode sim executar o boot diretamente da MBR por exemplo, pode criar a partição extra e ainda tem os casos de boot via UEFI. Mas hoje, tudo é automatizado.
Agora que já entendemos o boot, vamos para a próxima partição, que é a Swap que corresponde no Windows a memória virtual ou ainda tecnicamente, arquivo de troca. É recomendável atribuir a partição Swap o tamanho correspondente ao dobro da sua RAM, em alguns casos quando o usuário tem mais de 8GB de RAM e não utiliza toda a memória você não precisar por a partição Swap, fica a seu critério. No meu caso eu prefiro não usar, e nunca deu problema. Mas como falei, é recomendado e não obrigado a fazer, mas se você tem 1GB, 2GB até 4GB pode sim fazer a partição Swap com o dobro do tamanho da RAM.
Agora vamos para a partição raiz ou simplesmente /, é nesta partição que vão ficar todo os arquivos vitais para o funcionamento do sistema, é nela que estão os diretórios que citamos acima. Para saber o tamanho da sua partição é simples, pense como vai usar o seu sistema, se vai instalar muitos aplicativos. Em caso de uso extremo como programas pesados e imensos, distribuições com mais de 2GB de uso de espaço após instalado, então é melhor ser um pouco generoso, no meu caso sempre deixo com 80Gb, é espaço suficiente para minhas instalações de aplicativos e demais itens, acredito que você já deva ter migrado seu disco rígido para a era dos TB, então não vai lhe fazer falta. Existem pessoal que optam por não fazer o particionamento manual, e deixam a raiz e a pasta /home na mesma partição, eu prefiro não deixá-la, afinal se houver algum imprevisto você pode perder os seus arquivos, e pode ter uma dor de cabeça ao tentar recuperá-los, mas nada que uma ISO em modo Live não resolva "eu sei", mas é melhor evitar, crie então a partição raiz e outra para a /home, que é o local onde os arquivos do usuário serão guardados. Lembrando que, caso você tenha criptografado a pasta /home, certamente vai ter mais trabalho.

Por padrão, notamos que alguns diretórios ocupam um média de espaço, simulando um uso comum sem muitos aplicativos e uma máquina um pouco mais modesta, veja como ficaria o particionamento:

Partições com base em uso modesto
PartiçãoTamanho normalmente usado
/bootDeixamos em torno de 64Mb, geralmente usa-se apenas 30mb
/Para uso modesto, deixamos 12Gb é suficiente
/home30GB para que os usuários possam guardar seus arquivos
swapTendo 2GB de ram, vamos deixar com 4GB de Swap

Agora, se você trabalha com servidor, então esses particionamento não vai dar certo, afinal servidor com pouco espaço é prejuízo. Como falei anteriormente, sempre é preciso pensar como será utilizado o seu sistema, qual será a finalidade. Pensando em um servidor Web ou FTP, precisamos gerenciar melhor nosso sistema, e para isso precisamos definir além da raiz, arquivos de logs, arquivos de usuários como conta de emails, ambiente gráfico se for o caso e também os dados dos servidores, confira a tabela abaixo:

Partições com base em uso em servidors FTP/WEB Simples

Partição
Tamanho normalmente usado
/bootDeixamos em torno de 64Mb, geralmente usa-se apenas 30mb
/Para Debian, deixamos 12Gb é suficiente
/homeVaria de acordo com o que vai ser gravado
/varLogs do sistema, caixa postais de e-mail
/usrAmbiente Gráfico
/srvDados de servidores como WEB e FTP
swapNosso arquivo de paginação, neste caso é bom criar.

Seja lá qual for o seu tipo de servidor, lembre-se que a criação da partição /var é vital, afinal você quer saber o que se passa no seu sistema e monitorá-lo. Mas saiba que sempre, /boot, / e Swap são o mínimo recomendado para servidores. E aí você deve estudar melhor o seu caso e montar o seu servidor de acordo com as suas necessidades.

Gerenciadores de inicialização

Agora que já sabemos particionar, chegou a hora de decidir pelo gerenciador de inicialização. Hoje em dia temos algumas opções disponíveis, que são o GRUB e LILO, estes são os mais populares. Vejo que geralmente as distribuições tem utilizado em suas ISO's o GRUB. Para quem acha que nunca viu o GRUB ou LILO funcionando, saiba que eles são resumidamente aquela lista de sistema operacionais em tela preta, no Windows seria o NTLoader. Abaixo veja a tela do GRUB com a listagem, note que na lista não aparece outros sistemas, porém aparecem os kernels disponíveis no sistema,  modo de recuperação e teste de memória.

Vamos conhecer um pouco sobre o LILO

O LILO é o mais antigo, dizem que ele foi parido pelo Linux! Pois é, o Linux Loader pode ser instalado na MBR (Master Boot Record) ou no setor de inicialização, que também é chamado de Boot Sector Initializer - BSI. E de forma flexível, ele ainda pode ser instalado em mídias removíveis.
É possível ter até 16 combinações diferentes para a inicialização em seus mais diferentes, não digo diferentes distribuições, digo diferente sistemas mesmo, como Windows, Linux, BSD e outras dezenas. O LILO também é flexível em suas configurações e você pode alterar todas elas em /etc/lilo.conf e ao final deve ser executado o comando lilo para gravar as alterações na partição escolhida, seja na MBR ou BSI.

E agora, a vez do GRUB

O GRUB ou GRand Unified Bootloader, também permite até 16 combinações diferentes entres os mais variados sistemas operacionais, ele permite gerenciá-lo seja via modo texto ou até gráfico, como não poderia ser diferente, ele também pode ser instalado em mídias removíveis. No caso do GRUB ele não precisa ser gravado na MBR ou BSI, pois as alterações ficam gravada em /boot/grub/menu.lst e ela é lida quando sistema esta iniciando.
Um dos principais destaques do GRUB é que ele faz uma checagem do disco rígido durante a inicialização, em especial quando estamos em nosso computador de mesa e aquela bela queda de energia ocorre, então, na próxima vez que iniciar o seu sistema com o GRUB ele fará as checagens necessárias e corrigir possíveis falhas.

Referências:

Apoio

Nota:Este conteúdo pode ser impresso e redistribuído, porém todos os créditos, apoio devem ser mantidos!

Vamos conhecer o Linux mais a fundo?

Certamente todas as pessoas que estão vendo esta aula, já estão familiarizados com o termo Linux, mas lembre-se que o nome correto para chamar qualquer distribuição é GNU/Linux, e quando falarmos Linux estamos nos referindo ao Kernel apenas.
Hoje em dia quando a gente fala em Linux, todo mundo pensa logo em tela preta e coisas de hackers/crakers, infelizmente ainda hoje com tantos desktops rodando o GNU/Linux ainda existe essa imagem maluca, criada por pessoas sem escrúpulos para pessoas mau informadas. E por isso que estamos criando essas aulas com linguagem de fácil compreensão, para que todos possam compreender e aprender.
Quando falamos no quesito de multi-usuário sabemos que o Windows desde de seu primeiro lançamento não foi criado para ser um sistema multi-usuário. Já o GNU/Linux desde do começo foi projetado para esta finalidade. Desta forma, o Linux incorpora desde de sempre várias formas para garantir a segurança de seus usuários. Para acessar o sistema é preciso de login e senha que são validados mediante dados cadastrados no sistema pelo usuário seja ele administrador ou usuário comum.
Tudo isso foi pensado para que um usuário não acesse dados que não são de sua alçada e assim surgiram o usuários e grupos que vamos aprender a gerenciar mais a frente.
Porém, antes da gente se aprofundar ainda mais em nossas aulas, vamos entender um pouco sobre sistemas de arquivos e estrutura de diretórios. Certamente você tem um jeito particular de organizar as suas coisas, o Linux também, ele organizada em diretórios que são verdadeiros comportamentos cheios de gavetas. E nessa organização, entram os nossos aplicativos, que seguem o mesmo padrão.

Entendendo o sistema de arquivos do Linux

Anteriormente na aula 1, vimos as preparações e cuidados que temos que ter antes de instalar o Linux, como por exemplo as partições que vamos criar e o tamanho para cada uma delas. Se você veio do Windows certamente esta familiarizado com o NTFS ou FAT32, e se tiver pendrive deve ter visto que ele é formatado em FAT ou FAT16 (são a mesma coisa).
Vamos ver o quadro abaixo e entender os mais variados sistemas de arquivos do Linux:

Sistema de arquivos

Descrição

EXT2
Um grande problema do EXT2 é a sua baixa tolerância a falhas em caso de quedas de energia ou desligamento inadequado, sendo talvez até mais frágil do que a FAT32 do Windows. Um desligamento inadequado num sistema EXT2 força o uso do fsck para verificar a integridade do sistema. Algo mais ou menos semelhante ao que acontece com o Scandisk do Windows. Esta checagem pode demorar vários minutos, dependendo do tamanho do disco rígido, e conforme for o caso, pode haver até perda de dados, se o arquivo estiver sendo gravado na hora do desligamento pode haver perda de um diretório inteiro. Estes problemas foram contornados com a criação dos sistemas de arquivos com Journaling
EXT3
Se o ReiserFS é um sistema de arquivos com recursos novos, o EXT3 é o sucessor natural do EXT2, fazendo com que este seja o sistema de arquivos para Linux mais utilizado atualmente. Ele tem as características do EXT2 com a grande vantagem de ainda ter o suporte para tecnologia Journaling e ainda por cima ser mais rápido que o seu antecessor.
EXT4
 As novas funcionalidades propostas são: alocação tardia (delayed allocation); marcas temporais com maior resolução (nanossegundos); verificação de integridade do journal (journal checksums); suporte para tamanhos maiores de volumes e arquivos. Mais extensões são introduzidas, compatibilidade com versões anteriores, pré alocação, mais rápido sistema de arquivo de verificação, alocador multibloco, melhor timestamps. Deixa de existir um limite de sub-diretórios no ext4.
Reiserfs
Uma das grandes vantagens do ReiserFS além do recurso de Journaling, é seu desempenho, principalmente se forem manipulados arquivos pequenos. Isto se deve graças a seu recurso de blocos dinâmicos, ou seja, o ReiserFS não se prende a blocos de tamanho fixo. Ele ajusta o tamanho do bloco conforme o tipo de arquivo. Isso resulta num ganho de desempenho e espaço em disco considerável.
Além destes fatores, o ReiserFS tem uma vantagem de desempenho em relação ao EXT3 devido ao modo como ele armazena os registros no “Journal”. Ele armazena somente as informações sobre a área de metadata ( estrutura de controle de um arquivo, ou seja, onde é especificado seu tamanho, permissões, data de criação, modificação, etc..) fazendo com que o disco rode mais rápido pois menos dados são verificados para armazenar em LOG.
Proc
Sistema de arquivo virtual, sendo um espelho dos dados em processamento, da memória do equipamento
Xfs
Sistema de arquivo que conta com Journaling desenvolvido pela Silicon e com melhor suporte a diretórios com grandes quantidades de arquivos. Possui ótimo desempenho.
Nfs
Sistema de arquivos remoto, compartilhamento de rede, sendo acesso através de mapeamento do servidor da máquina local
Vfat
Sistem de arquivos utilizado para acesso a mídias.
NTFS
Sistema de arquivos padrão no WNT,W2K,W10 e superiores.
Btrfs
Alguns dos principais objetivos deste novo sistema de arquivos é torná-lo 100% eficaz em tolerância de falhas e erros, inibindo perda de dados por problemas que podem vir acontecer, assim, como fazer um gerenciamento dos volumes criados com Btrfs, permitindo aumentar e diminuir seu tamanho com o sistema de arquivo montado, e ainda fazer com que o mesmo seja o mais veloz e tenha um poder de armazenamento muito grande.

Vamos conhecer a estrutura de diretórios?

Como você já deve ter se deparado quando migrou para o Linux,a forma como os diretórios são organizados nada tem haver com o Windows por exemplo, e nem se compara com nenhum outro sistema operacional até o momento, essa forma de organização vem sido mantida desde dos anos 60.
O maior objetivo dessa estrutura é agrupar os recursos que possuem as mesma finalidades, evitando com que os arquivos fiquem perdidos em outros subdiretórios, ou seja, o guarda roupa e suas gavetas.
Vamos ver como esta o diretório hoje? Lembre-se que atualmente algumas distribuições estão alterando o diretório padrão, mas 95% das distribuições ainda os mantém.
/
|--bin
|--boot
|--dev
|--etc
|--home
|--initrd
|--lib
|--mnt
|--opt
|--proc
|--root
|--sbin
|--sys
|--tmp
|--usr
|--var

Espero que tenham gostado da árvore :)

Agora que já vimos árvore, vamos entender como funciona cada diretório, ou seja, agora que vimos o nosso guarda roupas, vamos ver para que serve cada gaveta.
/ = É o nosso diretório raiz que é a parte inicial da estrutura a porta do nosso guarda roupa.
/bin = Neste diretório vamos encontrar os programas e utilitários necessários para a inicialização do equipamento, geralmente usado quando não há outros sistemas de arquivos disponíveis. Como falamos antes sobre os usuários e os que ele podem ver, essa pasta pode ser usada tanto pelo root quanto pelo usuário comum. Os dados armazenados aqui são vitalícios para a carga do sistema e também as vezes é utilizado para habilitar a compatibilidade com sistemas antigos. Também podemos citar o ls, date, cut, chmod, cat e ainda encontramos alguns itens de backup como tar, gzip e gunzip, além de algumas ferramentas de rede como hostname, netstat e ping, quem nunca usou um ping! :)
/boot = Nome bem sugestivo, como o nome já entrega tudo, aqui ficam os arquivos que fazem com que o seu computador inicie, ou seja, o boot e o nosso precioso kernel (vmlinuz) e o initrd que são necessários para que o seu sistema seja carregado (iniciado). Geralmente esse diretório tem tamanhos que variam de 32Mb até 100Mb, como vimos na aula 1, há usuários que preferem criar o /boot em partição diferente.
/dev = Arqui ficam todos os arquivos de configurações dos dispositivos que você possui em seu computador e que fazem um mapeamento de tudo o que foi reconhecido.
/etc = O nome também entrega tudo, geralmente todas as configurações que você usa no seu computador e as configurações dos serviços que você usa são guardados neste diretório. Este diretório não pode ser criado separado, lembra que podemos separar o /boot, o diretório /etc não pode ser alterado, geralmente o espaço aqui ocupado é de 10Mb até 15Mb. Aqui encontramos arquivos de gerenciamento, hostname, resolv.conf, inittab, httpd/conf/http.conf se você tiver serviços de email.
/home = Aqui são armazenados os arquivos do usuário, são os arquivos pessoais.
/lib = Bibliotecas dinâmicas compartilhadas, são usadas em algumas aplicações e também por módulos do kernel.
/mnt = Usado para acessar mídias externas como dvd's, cd's, pendrive e tudo mais.
/opt = Esta pasta é muito usada para armazenar programas de terceiros, aqueles que não fazem parte da distribuição.
/proc = Este diretório é a caixa mágica, aqui você consegue acessar arquivos que estão alocados em uma área protegida da memória, ou seja, eles não estão no seu hd. Em alguns casos, é possível alterar alguns destes arquivos afim de modificar alguma funcionalidade no sistema Linux, os mais comuns são cpuinfo, meminfo e ioports.
/root = Esse diretório não pode ser criado em partição separada, ele é o diretório pessoal do usuário root.
/sbin = Aqui ficam os arquivos executáveis que também são responsáveis pela inicialização e administração do sistema, eles andam em paralelo com os aplicativos que estão no /bin, os mais comuns são o ifconfig, shutdown e route.
/sys = Do mesmo jeito do /proc ele é um sistema de arquivo virtual, aqui é possível visualizar uma estrutura de diretórios que mostra os recursos instalados em seu equipamento.
/tmp = Arquivos temporários como o nome já deixa a entender, geralmente são criados por aplicativos iniciados por qualquer usuário ou por serviços. Estes arquivos são deletados automaticamente quando a aplicação que os criou é fechada. Caso isso não ocorra, somente o usuário criador ou o root pode removê-lo.
/usr = Aqui é uma cópia da estrutura original. Antes era usado para instalar programas que não faziam parte da distribuição original, a intenção da criação dele é evitar conflitos de qualquer novo aplicativo com recursos já existentes, e caso tenha problema, o usuário pode remover o arquivo sem prejudicar a estrutura original.
/var = Dados variáveis como o cache de instalação de aplicativos ou do acesso a internet, como por exemplo os pacotes baixados pelas distribuições baseadas no Debian como Ubuntu, ficam nesta pasta. Também temos o arquivo de controle de processos /var/run/pid.

Apoio:

 

Doações feitas por:

Gean Geowle
Alexsandro Matias
Giovani M. Rocha
Alexander Moreira

Nota:Este conteúdo pode ser impresso e redistribuído, porém todos os créditos,
apoiodevem ser mantidos!
Ajude a pagar os custos do site, clique no botão na barra lateral e doe! Agradecemos!
Nota: Devido ao aumento de nossos custos, inserimos anúncios na página!

 


Conheça o melhor Software Livre para Layout de Imposição, Numeração, Códigos de Barras, para fazer etiquetas, cartões de visitas, convites, ingressos, folhetos, folders e muito mais!

Vamos mostrar como configurar um modelo para ser usado diversas vezes no gLabels e como fizemos um banco de dados .csv no LibreOffice Calc para numerar ingressos. O gLabels vai facilitar a vida de quem trabalha em gráficas, porque não será preciso configurar a imposição de páginas todas as vezes que for imprimir um serviço! Experimente!
[youtube src="uqT-MT3rOZ0" /]

Lembre-se: este é um curso gratuito e de acesso aberto. Caso queira agendar horário para aulas online particulares, aceitamos pagamentos através de doações para o Portal Comunitário SempreUpdate.org 
 

Atenção a todos os gamers Linux de todo o Interwebs, há um novo Bundle Humble lá fora, que lhe traz seis jogos impressionante para o seu SO baseado no pinguim, e só precisa pagar alguns dólares por eles.
Humble Bundle Devolver agora vivo , e que contém um total de oito títulos que são suportados em várias plataformas, incluindo Windows, Mac OS X e GNU/Linux. No entanto, apenas seis deles estão disponíveis para o seu Linux.
E a melhor parte é que todo o pacote de jogos vai custar apenas alguns dólares, apesar do fato de que ele vale cerca de $ 139 (€ 122). Mas vamos dar uma olhada nas opções de compra, como, por apenas um dólar ($ 1), você pode ter os títulos Gods Will Be Watching, RONIN, e A Fistful of Gun (Apenas para Windows).

Então, se você pagar mais do que o preço médio, que agora é de US $ 4,44, você também vai desbloquear o Shadow Warrior Special Edition, Dropsy, e NOT A HERO games, junto com um cupom para 50% de desconto para o jogo Talos Principle, é possível comprar a partir do Humble Store.
Por último, se o usuário hoje estiver com espírito de rico, ele pode pagar a quantia de US $ 10 para receber também o Boyfriend: Holiday Star e Titan Soul (apenas Windows e Mac). Corra mais rápido possível enquanto os preços ainda estão baixos.


Fonte
Tecnologia do Blogger.