Professional Documents
Culture Documents
Contedo programtico
1. Comandos Bsicos do Linux
a) Sistemas de Arquivos e Sistemas de diretrios do Linux
Um sistema de arquivos um modo particular de armazenar e organizar arquivos em um dispositivo de armazenamento como um disco rgido, e uma parte importante do sistema operacional.
Sistemas de Arquivo
Como qualquer outro sistema operacional, as distribuies GNU/Linux realizam a manipulao de diversos dados e informaes. Para isto necessria uma estrutura de arquivos e diretrios bem definida e padronizada.
Na aula de hoje, iremos conhecer como navegar na estruturao dos dados e diretrios do sistema de arquivos do Linux, como tambm as suas particularidades e algumas recomendaes necessrias para a sua boa manuteno.
No gerenciador de arquivos clique duas vezes em uma pasta para ver seu contedo ou clique duas vezes em um arquivo para abri-lo com o aplicativo padro para o arquivo.
Voc tambm pode clicar com o direito em uma pasta para abri-la em uma nova aba ou nova janela.
** Na viso em lista voc tambm pode clicar no expanso ao lado da pasta para mostrar o contedo dela em uma rvore.
A barra de localizao acima da lista de arquivos e pastas mostra qual a pasta voc est vendo, incluindo as pastas pais at o seu diretrio pessoal, a raiz de um dispositivo removvel ou do seu sistema de arquivos. Clique em uma pasta pai na barra de localizao para ir at essa pasta. Clique com o direito em qualquer pasta na barra de localizao para abri-la em uma nova aba ou janela, para copiar ou move-la, ou para acessar suas propriedades.
Sistemas de Arquivos :
/ diretrio raiz
No Linux para cada IFRN e arquivo, e de acordo com suas funcionalidades e importncia, existe um local especfico (chamado diretrio) para seu armazenamento. O sistema de arquivo organizado em uma estrutura hierrquica, similar a uma rvore. O nvel mais alto do sistema de arquivo o / ou diretrio raiz. Na filosofia arquitetural do Unix e do Linux, tudo considerado um arquivo - incluindo discos rgidos, parties e mdias removveis.
Sistemas de Diretrios
Estrutura de Diretrios
Filesystem Hierarquy Standard (FHS): Padro rgido e especfico a respeito da organizao hierrquica dos diretrios; Padro subordinado ao LSB; No Linux existe um diretrio principal que contem todos os demais diretrios. Este diretrio chamado de diretrio raiz e representado por uma /.
rvore de Diretrios
Estrutura de Diretrios
Estrutura de Diretrio
/ - (raiz) incio do sistema de arquivos; /bin: O diretrio /bin armazena uma srie de arquivos binrios (executveis) que so usados frequentemente pelos usurios. Esse um diretrio pblico e os comandos que esto nele podem ser utilizados por qualquer usurio do sistema. /boot: No diretrio /boot esto os arquivos estticos necessrios inicializao do sistema e os arquivos do gerenciador de boot.
/dev: No diretrio /dev ficam todos os arquivos-dispositivos. O Linux faz a comunicao com os perifricos atravs de links simblicos (seria algo como atalhos) que ficam armazenados nesse diretrio facilitando assim, o acesso aos mesmos; /etc: No diretrio /etc esto os arquivos de configurao do sistema da mquina local. Nesse diretrio vamos encontrar uma miscelnea de dados de configurao, tais como: Scripts de inicializao do sistema em seus vrios nveis; Tabela do filesystem (arquivo /etc/fstab); Configurao da inicializao do sistema para cada nvel (arquivo /etc/inittab); Configurao default para todos os logins (arquivo /etc/profile); Vrios arquivos para configurao de rede e outros aspecto do sistema, incluindo a parte grfica.
/home: diretrio dos arquivos dos usurios; /lib: No diretrio /lib esto as biblilotecas compartilhadas e mdulos do kernel. As bibliotecas, conhecidas como libs, so como as dlls para o Windows. No caso do Linux, quando um programa instalado, todas as bibliotecas para o seu funcionamento ficam armazenadas nesse diretrio; /media: Ponto de montagem para mdias removveis, tais como: cd, dvd, floppy disk, pendrive, cmera digital, etc. Aqui seria mais ou menos o equivalente as letras A: D: do Windows s que aqui, no se usam as letras, usa-se o nome do dispositivo!
/mnt: diretrio utilizado para conexo com volumes presentes em outros computadores da rede ou para acessar dispositivos removveis. Em outras palavras, aqui ficam os pontos de montagem temporrios. um diretrio semelhante ao /media; /opt: Normalmente, utilizado por programas que foram instalados com o sistema j em funcionamento, e que precisam de uma quantidade de uma espao maior para sua instalao.
/proc: O /proc um diretrio virtual, mantido pelo kernel onde encontramos a configurao atual do sistema, tais como: modelo da cpu, quantidade de memria, dispositivos j montados, interrupes, etc. Aqui, temos subdiretrios, com o nome que corresponde ao PID (Process ID Identificao do Processo) de cada processo; dentro deles, vamos encontrar diversos arquivos texto, que representam uma importante funo do programa em execuo.
/sbin: O diretrio /sbin guarda os comandos utilizados para inicializar, reparar, restaurar e/ou recuperar o sistema. Isso quer dizer que esse diretrio tambm de comandos essenciais, mas os mesmos so utilizados apenas pelo usurio root. Entre os comandos esto o halt, ifconfig, init, iptables e outros. /srv: Diretrio para dados de servios fornecidos pelo sistema e, cuja aplicao de alcance geral, ou seja, os dados no so especficos de um usurio. Por exemplo, /srv/www (servidor web), /srv/ftp (servidor ftp), etc; /sys: O diretrio /sys, est presente a partir do kernel 2.6. Nesse diretrio esto os mdulos para equipamentos USB. Como ele montado automaticamente no sistema, basta conectar o equipamento para ser reconhecido.
/tmp: Utilizado para armazenar arquivos temporrios. Por exemplo, guardar pequenas informaes que precisam estar em algum lugar at que a operao seja completada, como o caso de um download. Enquanto no for concludo, o arquivo fica registrado em /tmp, e, assim que finalizado, encaminhado para o local correto;
/usr: A maioria dos programas fica instalado dentro do diretrio /usr (de "Unix System Resources", ou recursos de sistema Unix). Este de longe o diretrio com mais arquivos em qualquer distribuio Linux, pois aqui que ficam os executveis e bibliotecas de todos os principais programas. A pasta "/usr/bin" (bin de binrio), por exemplo, armazena cerca de 2.000 programas e atalhos para programas numa instalao tpica. Se voc tiver que chutar em que pasta est o executvel de um programa qualquer, o melhor chute seria justamente a pasta /usr/bin.
/var: O diretrio /var contm arquivos de dados variveis. Por padro, os programas que geram um arquivo de registro para consulta, mais conhecido como log, ficam armazenados nesse diretrio.
Alm do log, os arquivos que esto aguardando liberao, ficam localizados em /var/spool. Os principais arquivos que se utilizam do diretrio /var, so as mensagens de e-mail e os arquivos a serem impressos.
Permisses no Linux
O sistema Linux trabalha com um modo de permisso que protege o sistema de arquivos de: Acesso indevido de pessoas ou programas no autorizados; Um programa mal intencionado, por exemplo, enviar arquivos para outra pessoa ou fornecer acesso da rede para que outros usurios invadam o sistema; Usurios iniciantes apagarem arquivos que no deve, ou mesmo visualizarem. Alm de instalar programas em locais inadequados.
Permisses
A segurana de acesso a arquivos e diretrios provida atravs de um esquema de posse de arquivo e de permisso de acesso a estes. Com relao a posse de arquivo (e diretrio) o Linux divide os usurios em trs conjuntos: Dono Grupo Outros
Dono e outros
Dono: o proprietrio do arquivo ou criador do arquivo; Outros: refere-se aos demais usurios que no so os proprietrios do arquivo e nem fazem parte do grupo.
Grupo
Grupo:
usurios que fazem parte do grupo possuem os mesmo privilgios. Isto serve para permitir que vrios usurios diferentes tenham acesso a um mesmo arquivo. Cada usurio pode fazer parte de um ou mais grupos e ento acessar arquivos que pertenam ao mesmo grupo que o seu (mesmo que estes arquivos tenham outro dono);
Root
Existe ainda a figura do super-usurio, chamado de root, que possui acesso irrestrito a todo e qualquer arquivo dentro do sistema.
Como qualquer sistema operacional multitarefa e multiusurio, o administrador do sistema Linux tem a funo de gerenciar usurios e grupos. Devido a existncia de uma variedade de distribuies Linux importante estarmos preparados para administr-los diretamente sem a utilizao de ferramentas grficas que facilitem isso (ex.: users-admin), usando apenas os comandos bsicos do sistema operacional. Deste modo, o administrador estar apto a proporcionar a administrao em qualquer distribuio Linux.
Como foi mostrado anteriormente segurana de acesso a arquivos e diretrios no Linux provida atravs de um esquema de posse de arquivo e de permisso de acesso a estes. Com relao a posse de arquivo (e diretrio) o Linux dividido os usurios em: dono, grupo e outros. Assim, para que seja possvel restringir ou permitir o acesso e o uso de determinados recursos a uma ou mais pessoas, necessrio que cada uma tenha um usurio e pertena a um ou mais grupos devidamente criado no sistema operacional. Na aula de hoje iremos estudar o usurio root e comandos que permitem administrar usurios e grupos e como administram os processos em execuo, bem como todas as instrues e comandos para um bom gerenciamento destes.
O Usurio Root
No Linux criado automaticamente um usurio especial, chamado root, usado para administrar o sistema. Esta separao entre privilgios administrativos e usurios normais faz com que o sistema operacional se torne mais resistente a vrus e outros malware. O usurio root tem permisso sobre todos os arquivos e processos ligados ao funcionamento do sistema. Este usurio tambm pode atuar sobre qualquer arquivo ou processo de outros usurios. Porm, o que pertence ao root no pode ser acessado por outros usurios.
Root
Por este usurio ser muito poderoso, o mesmo se torna muito perigoso em mos erradas. Alm disso, a conta root no tem registro de quem a usou. Por isso, ele s deve ser usado em situaes que no podem ser trabalhadas por usurios que no possuem privilgios de superusurio (administrador).
Suponha, por exemplo, que voc est trabalhando com o usurio root e voc saiu da frente do computador sem bloque-lo. Algum mal-intencionado percebe isso e vai at seu computador, apaga diretrios importantes ao sistema. Se voc estivesse utilizando um usurio comum, isto , um usurio sem permisses para mexer nesses diretrios, aquele sujeito no teria conseguido apag-los.
Desta forma no utilize a conta root, exceto quando absolutamente necessrio, mesmo por administradores de sistema com experincia. Ao invs de sistematicamente se logar no sistema como root, os administradores devem fazer login com suas contas de usurio comum e depois usar os comandos, como o: su, kdesu,Gokuu e sudo, que lhes proporcionaro os privilgios de root apenas quando necessrio e sem a necessidade de um novo login.
SU
su: este comando usado para trocar de usurios. executa um shell com substituio de usurio e grupo.
Se o mesmo for digitado sem parmetros ele ir alterar para o usurio root e solicitar senha de root, e o usurio ter os privilgios de root at encerrar com xito. Porm com a utilizao deste comando possvel, atravs de arquivos de logs, determinar quem entrou como root.
SUDO
sudo: permite ao usurio executar tarefas de administrador (por exemplo, configurar ao de rede). Este comando consulta o arquivo /etc/sudoers. Este arquivo lista as pessoas autorizadas a usar este comando, define a solicitao da senha do usurio e quais os comandos que elas podem usar com o privilgio de root.
Para ver o arquivo escola do ifrn que tem permisso de leitura apenas para o dono, digite
Para saber quais comandos so permitidos ao usurio com o comando sudo, sudo digite:
sudo -l
Demais Usurios
Usurio e Grupo
O Linux gerencia os usurios e os grupos atravs de nmeros conhecidos como UID (User ID) e GID (Group ID), respectivamente. Os nomes dos usurios e dos grupos servem apenas para facilitar o uso humano do computador. Como dito anteriormente, cada usurio precisa pertencer a um ou mais grupos. Assim sendo, cada arquivo ou processo est associado a um UID e a um GID. Os nmeros UID e GID variam de 0 a 65.536. No caso do usurio root, esses valores so sempre 0 (zero).
As senhas so armazenadas de forma encriptada (bash) em um arquivo separado, o /etc/shadow. O arquivo possui uma entrada contendo o usurio e a sua senha.
As senhas so armazenadas de forma encriptada (bash) bash) em um arquivo separado, o /etc /etc/ etc/shadow shadow.
No Linux as senhas so encriptadas usando um algoritmo chamado onde-time pad (mo nica). Este permite apenas encriptar as senhas, mas no recuper-las. Durante o login, o sistema aplica o mesmo algoritmo senha digitada pelo usurio e compara a string resultante com a armazenada no arquivo. Se o resultado for o mesmo, o sistema sabe que a senha est correta e o acesso autorizado.
No arquivo/ /etc /etc/ etc/groups groups esto todas as definies de grupos de autenticao.
Todos os grupos padres do sistema, mais os grupos especficos das aplicaes e ainda os grupos criados pelo administrador.
Por exemplo, utilize passwd ifrn para alterar a senha do usurio IFRN.
Adduser: Adduser:
utilizado para criar contas de usurios e somente utilizado pelo administrador do sistema. Por exemplo, quando digitamos o comando sudo adduser ele ir criar um novo usurio. Para isso, ele ir fazer algumas perguntas. Inicialmente, ser solicitado um nome para o usurio (no possvel utilizar caracteres iniciais em letras maisculas). Ser ento criado um novo grupo que contm o mesmo nome do usurio (novo usurio adicionado a este grupo) e criado um diretrio home. Na sequencia solicitado uma senha e informaes opcionais sobre o novo usurio (nome completo, nmero da sala, Telefone, etc).
Deluser: Deluser:
este comando remove a conta de usurio. Por padro, os arquivos deste usurio no so apagados. Para remover o usurio apagando tambm o diretrio home, adicione o parmetro remove-home.
Por exemplo, deluser nome do aluno deleta o usurio luana sem apagar os seus arquivos ( sudo deluser luana)
Groupadd: Groupadd:
usado para criar um novo grupo no sistema Por exemplo, sudo groupadd informtica cria um grupo chamado informtica.
Groupdel:
usado para remover um grupo do sistema. No entanto, antes de remove-lo o usurio deve remover os seus usurios.
Gerenciamento de Processos
Gerenciamento de processos
O processo qualquer atividade executada pelo sistema que envolve uma rotina de instrues com seus respectivos dados e informaes. Um processo um programa em execuo, que consome processamento e outros recursos do sistema.
Um processo caractersticas:
possui
as
seguintes
Estado atual do processo (espera, parado, em execuo e se destruindo); Prioridade de execuo do processo; Identificador (PID): nada mais que uma identificao numrica de um determinado processo existente, que por sua vez, quando criado, passa a ser identificado e manipulado por este nmero.
O estudo de gerenciamento de processo importante, pois em muitos casos, um determinado programa pode deixar de responder, ou pode ser que um determinado aplicativo entre num loop e passe a consumir cada vez mais memria e/ou processamento at que o usurio consiga fech-lo manualmente.
Comando ps
Comando ps:
exibe os processos os quais esto sendo rodados no sistema.
Comando ps -aux
Utilize o comando ps -aux para obter uma viso geral dos processos em execuo.
Comando ps -aux
Como resultado este comando mostra:
usurio proprietrio do processo, identificador do processo (PID), porcentagem do uso da CPU e Memria, VSZ (tamanho virtual do processo), RSS (nmero de pginas na memria), TTY (identificador de terminal), STAT (corresponde ao estado do processo, por exemplo, R = executvel, S = dormindo), hora em que o processo foi iniciado, o tempo de CPU que o processo consumiu e o nome do comando.
Comando top
Para finalizar este comando digite a letra q.
Este comando com o parmetro 9 garante que o processo ser eliminado. Por exemplo, o comando kill -9 1012 elimina o processo com PID igual a 1012.
Vejamos a seguir os comandos para visualizar os atributos, modificar dono e modificar grupo dos arquivos, so: so:
Comando ls -l
ls -l: utilizado para ver as permisses de um arquivo ou diretrio, a opo -l (long listing) mostra todos os detalhes dos arquivos e diretrios. A primeira informao corresponde ao chamado modo do arquivo, composto de 10 caracteres.
O primeiro caractere apenas indica seu tipo (por exemplo, se um arquivo regular (r)ou um diretrio (d)). Os nove caracteres constituem trs grupos de trs caracteres. Ele pertence ao usurio ifrn e ao grupo ifrn. Em cada grupo, o primeiro caractere representa a permisso de: leitura (r), o segundo a de escrita (w) e o terceiro a de execuo (x). Se no tiver permisso aparece um hfen (-).
Comando Chown
chown: utilizado para trocar o dono de um arquivo. Na Figura abaixo mostrado um arquivo chamado escola.txt. Ele pertence ao usurio alunos e ao grupo ifrn. Foi feito uma modificao de dono para o usurio aluno.
Comando Chgrp
Troca o grupo do arquivo. Um usurio pode mudar o grupo de um arquivo, desde que ele seja o usurio dono do arquivo e pertena ao novo grupo do arquivo.
Exemplo
Na Figura abaixo mostrado inicialmente um arquivo chamado escola.txt que pertence ao usurio alunos e ao grupo alunos. Foi realizada uma modificao no grupo do arquivo onde o mesmo passou a pertencer ao grupo alunos.
Uma vez que as posses de arquivo esto definidas, o prximo passo proteger os arquivos de acesso no desejado. Para isso, so definidos trs tipos de permisses para controlar os acessos a um arquivo/diretrio ao dono, grupo e outros usurios.
So eles:
r (read): permisso de leitura para um arquivo e, permitir listar o contedo de um diretrio (atravs do comando ls, por exemplo); w (write): permisso de gravao e excluso para um arquivo/diretrio; x (execute): permisso para executar um arquivo, se for um arquivo binrio ou um script e, se for um diretrio permitir
Comando Chmod
utilizado para modificar as permisses de arquivos e diretrios.
Comando Chmod
Estes nove bits so agrupados trs a trs e convertidos em decimal. Neste prximo exemplo, os dois comandos chmod 754 e chmod u+rwx,g+rx,o+r so equivalentes:
Desligamento do Sistema
Para que possamos encerrar todos os processos em execuo, desligar e/ou reiniciar o sistema, poderemos utilizar os comandos: halt: desliga o sistema. shutdown: desliga o sistema aps finalizadas as tarefas em execuo. Por exemplo, shutdown -h 30 desliga o sistema aps 30 minutos de sua execuo. Outro exemplo, shutdown -c cancela a programao de desligamento que foi agendada. Para desligar o sistema imediatamente utilize shutdown -h now; reboot: comando para reiniciar o sistema. A reinicializao tambm pode ser obtida atravs do comando shutdown r now, colocando o parmetro r de reboot.
Dvidas?