Page 1

Comandos Linux


2

 Segurança do sistema de ficheiros  Instalação de software


3

 A permissão de acesso protege o sistema de ficheiros Linux do acesso indevido a utilizadores ou programas não autorizados  A permissão de acesso também impede que um programa malintencionado, por exemplo, apague um ficheiro indevidamente, envie ficheiros para outros utilizadores ou forneça o acesso da rede para que outros utilizadores invadam o sistema


4

ď ą O sistema Linux como qualquer outro sistema seguro e fiĂĄvel, impede que utilizadores inexperientes (ou mal-intencionados) instalem programas enviados por terceiros sem saber exatamente qual o seu objetivo, causando danos irreparĂĄveis ao sistema


5

 O princípio da segurança no sistema de ficheiros Linux é definir o acesso aos ficheiros por donos, grupos e outros utilizadores  Dono – É o utilizador que criou o ficheiro ou diretório – Apenas o dono pode modificar as permissões de acesso ao ficheiro – As permissões de acesso do dono só se aplicam a esse mesmo dono do ficheiro/diretórios – A identificação do dono é chamada de User Id (UID) – A identificação de utilizadores e grupo são armazenados respetivamente nos ficheiros de texto /etc/passwd e /etc/group. Podem ser editados mas é preciso ter atenção especial para não modificar o campo que contém a senha do utilizador encriptada


6

 Grupo – Este recurso foi criado para permitir que vários utilizadores diferentes tenham acesso a um mesmo ficheiro (caso contrário só o dono o poderia aceder) – Cada utilizador pode fazer parte de um ou mais grupos e aceder aos ficheiros que pertençam ao mesmo grupo que o seu (mesmo que os ficheiros tenham outro dono) – A identificação do grupo é chamada de Group Id (GID)

 Outros – É a categoria de utilizadores que não são donos do ficheiros/diretórios ou não pertencem ao grupo do ficheiros/diretórios


7

 Existem três tipos de permissões básicas que se podem aplicar ao dono, ao grupo e a outros utilizadores: – r: permissão de leitura para ficheiros ou listagem do conteúdo no caso dos diretórios – w: permissão de escrita para ficheiros ou diretórios. Para que um ficheiro/diretório possa ser apagado, é necessário que o utilizador tenha um acesso de escrita – x: permite executar um ficheiro (caso seja um programa) no caso de um diretório, permite que seja acedido através do comando cd


8

 As permissões de acesso a um ficheiro/diretório podem ser visualizados através do comando ls –l  As três letras (rwx) são agrupadas como poderá constatar pela imagem


9

 O primeiro caráter identifica o tipo de ficheiro: Letra

Tipo de ficheiro

d l c b s p

Ficheiro normal

Diretório Link Dispositivo do tipo caráter e bloco (ficheiros virtuais associados a periféricos) Sockets e pipes (ficheiros virtuais associados a comunicação entre aplicações)


10

 Diretório Pasta

d rwx rwx r-x

Diretório

dono (liveuser)

grupo (liveuser)

outros

Tipo de acesso

r - leitura w - escrita x - execução

r - leitura w - escrita x - execução

r - leitura x - execução


11

ď ą Ficheiro texto.doc

- rw- rw- r--

Ficheiro

dono (liveuser)

grupo (liveuser)

outros

Tipo de acesso

r - leitura w - escrita -

r - leitura w - escrita -

r - leitura -


12

 O acesso a um ficheiro/diretório é feito verificando primeiro se o utilizador que o vai aceder é o seu dono  Em caso afirmativo, as permissões de dono do ficheiro são aplicadas  Caso não seja o dono do ficheiro/diretório, o sistema verifica se pertence ao grupo correspondente  Caso pertença, as permissões de grupo são aplicadas, caso contrário são verificadas as permissões de acesso para os outros utilizadores


13

 Após verificar o tipo de utilizador nas permissões de acesso, é verificado se tem permissões para o que deseja fazer (ler, gravar ou executar)  Caso não tenha, o acesso é negado, mostrando uma mensagem: permission denied (permissão negada)  Mesmo sendo o dono do ficheiro, mas tendo definido o acesso (comando chmod) como leitura (r) mas outros tenham acesso de leitura e escrita, apenas poderá ler o seu ficheiro enquanto os outros podem ler e/ou escrever


14

 As permissões de acesso (leitura, escrita, execução) para donos, grupos e outros utilizadores são definidas de forma independente, permitindo assim um nível de acesso diferenciado: Dono

Grupo

Outros


15

 O utilizador root não tem nenhuma restrição de acesso ao sistema  Caso um utilizador com permissões de escrita no diretório tente apagar um ficheiro para o qual não tenha permissões de escrita, o sistema pergunta se confirma a exclusão do ficheiro apesar do modo de leitura. Caso tenha permissões de escrita no ficheiro, o ficheiro será apagado sem mostrar nenhuma mensagem de erro  Mesmo que o utilizador tenha permissões de escrita num ficheiro mas não tenha permissões de escrita num diretório, a exclusão do ficheiro será negada


16

 chmod [opções] [permissões] [diretório/ficheiro] altera as permissões de acesso a um ficheiro ou diretório diretório/ficheiro Diretório ou ficheiro que terá as suas permissões alteradas

Opções -v --verbose

Mostra todos os ficheiros que estão a ser processados

-f --silent

Não mostra a maior parte das mensagens de erro

-c --change

Semelhante à opção –v, mas só mostra os ficheiros que tiverem as permissões modificadas

-R --recursive

Muda permissões de acesso do diretório/ficheiro no diretório atual e subdiretório


17

 Exemplos: – chmod g+r* (permite que todos os utilizadores que pertençam ao grupo dos ficheiros (g) tenham (+) permissões de leitura (r) em todos os ficheiros do diretório atual) – chmod o-r teste.txt (retira (-) a permissão de leitura (r) do ficheiro teste.txt para os outros utilizadores) – chmod ug+x teste.txt (inclui (+) a permissão de execução do ficheiro teste.txt para o dono (u) e grupo (g) do ficheiro) – chmod a+x teste.txt (inclui (+) a permissão de execução do ficheiro teste.txt para o dono, grupo e outros)


18

 É possível copiar as permissões de acesso ao ficheiro/diretório:  Se por exemplo o ficheiro teste.txt tiver a permissão de acesso r-x r-- ---, digitando chmod o=u as permissões de acesso dos outros utilizadores (o) serão idênticas às do dono (u)  As novas permissões serão r-x r-- r-x


19

 chgrp [opções] [grupo] [ficheiro/diretório] altera o grupo de um ficheiro ou diretório grupo

Novo grupo do ficheiro/diretório

ficheiro/diretório Ficheiro ou Diretório que terá o grupo alterado

Opções -v --verbose

Mostra os ficheiros enquanto são alterados

-f --silent

Não mostra a mensagens de erro para ficheiros/diretórios que não puderam ser alterados

-c --change

Mostra apenas os ficheiros ou grupos que foram alterados

-R --recursive

Altera os grupos de ficheiros/subdiretórios do diretório atual


20

 chown [opções] [dono.grupo] [diretório/ ficheiro] muda o dono de um ficheiro/diretório; opcionalmente, pode também ser usado para mudar o grupo dono.grupo

Nome do dono.grupo que será atribuído ao diretório/ficheiro. O grupo é opcional

diretório/ficheiro Diretório ou Ficheiro cujo dono.grupo será modificado

Opções -v --verbose

Mostra os ficheiros enquanto são alterados

-f --supress

Não mostra mensagens de erro durante a execução do programa

-c --change

Mostra apenas os ficheiros alterados

-R --recursive

Altera dono.grupo de ficheiros no diretório atual e subdiretórios


21

 É necessário ter permissões de escrita no diretório/ficheiro para alterar o seu dono.grupo  Exemplos: – chown david teste.txt (muda o dono do ficheiro teste.txt para david) – chown david.users teste.txt (muda o dono do ficheiro teste.txt para david e o seu grupo para users) – chown –R david.users * (muda o dono.grupo dos ficheiros do diretório atual e subdiretórios para david.users)


22

 Em vez de utilizar os modos de permissões +r, -r pode ser utilizado o modo octal para se alterar a permissão de acesso a um ficheiro  O modo octal é um conjunto de oito números, definindo para cada um deles um tipo de acesso diferente, tornando assim mais flexível a gestão das permissões de acesso


23

 A lista de permissões de acesso octal é: – – – – – – – –

0: nenhuma permissão de acesso (equivalente a -rwx) 1: permissão de execução (x) 2: permissão de escrita (w) 3: permissão de escrita e execução (wx) 4:permissão de leitura (r) 5: permissão de leitura e execução (rx) 6: permissão de leitura e escrita (rw) 7: permissão de leitura, escrita e execução (equivalente a +rwx)


24

 A utilização destes números define a permissão de acesso do dono, grupo ou outros  O comando chmod poderá ser utilizado da seguinte forma: – Chmod <código> <nome do ficheiro>

 Exemplo – Chmod 664 teste.txt (permissão de leitura e escrita para dono (6); leitura e escrita para grupo (6); permissão apenas de leitura para outros (4)


25

 Existem diversos processos para instalar software no Linux  Normalmente, as aplicações comerciais são fornecidas em pacotes binários  Enquanto que as aplicações de código-fonte aberto podem ser disponibilizadas através de pacotes binários ou ficheiros com código-fonte


26

 Uma grande maioria de distribuições Linux utiliza sistemas de gestão de pacotes de sofware instalados  O Red Hat criou o sistema de pacotes RPM – RedHat Package Management: sendo utilizado em várias distribuições (incluindo Fedora, Centos, Etc.)  Por outro lado, a comunidade Debian criou o sistema de pacotes DEB e utiliza a ferramenta APT- Advanced Package Tool


27

 A gestão dos pacotes DEB pode ser realizada a partir dos programas dpkg ou apt-get  O sistema de pacotes DEB é utilizado em diversas distribuições, como Ubuntu, Knoppix, etc.  É possível instalar pacotes DEB no Red Hat ou no Fedora, mas para tal é necessário instalar o programa apt-get na versão Red Hat  Existem outros formatos de sistemas de pacotes, como é o caso do SLACK, BSD, KISS, mas os sistemas de pacotes RPM e DEB são os mais utilizados


28

Formato Distribuições

RPM

DEB

Programa

Red Hat, Fedora, RPM Centos, Mandriva, etc. YUM URPMI GNORPM KPACKAGE REDHAT-CONFIG-PACKAGES SYSTEM-CONFIG-PACKAGES Debian, Ubuntu, DPKG Knoppix, Kurumin, APT-GET etc.


29

 Os sistemas RPM e DEB são flexíveis e poderosos e normalmente possibilitam: – Instalar, apagar e atualizar software; – Visualizar a hierarquia dos programas instalados; – Testar as dependências dos programas (por exemplo, ao instalar um programa, é verificado se faltam instalar, antecipadamente outros programas); – Verificar a integridade dos programas (por exemplo, se um vírus ou um utilizador apagar ou modificar um programa indevidamente, o sistema pode detetar e retificar o programa); – Resolver conflitos entre programas instalados.


30

 Usando a linha de comandos numa shell e como utilizador root, podemos usar o comando rpm, para instalar, apagar e atualizar um programa no formato RPM  Exemplos: – rpm –ih ficheiro.rpm (instalar programa contido no ficheiro ficheiro.rpm) – rpm –Uvh ficheiro.rpm (atualizar uma versão nova do programa ficheiro.rpm) – rpm –ivh –force –nodeps ficheiro.rpm (forçar a instalação do programa ficheiro.rpm sem ter de instalar pacotes dependentes)


31

 No Fedora, o programa yum facilita a instalação de programas e dos respetivos programas dependentes  Ao utilizarmos o gestor rpm para instalar um pacote, caso existam pacotes dependentes, teremos de instalar, inicialmente, os pacotes dependentes e, só por fim o pacote final  Com o yum e com o sistema configurado para ter acesso à internet, podemos instalar os pacotes e respetivas dependências usando um único comando


32

 O gestor yum é equivalente a nível de funcionalidades ao gestor apt-get existente no Debian  Para quem está habituado a usar o apt-get pode instalar a versão do apt-get existente para o Fedora  Por defeito, o yum vem instalado no Fedora, caso não esteja, podemos instalá-lo a partir do pacote RPM, disponível no DVD de instalação Fedora: – Diretório Packages/yum-*.noarch.rpm (* é substituído pela versão existente)


33

 O yum pode ser ainda instalado no Red Hat usando o comando: rpm –ivh yum-*.noarch.rpm

 No ficheiro /etc/yum.conf e nos ficheiros que se encontram no diretório /etc/yum.respos.d situam-se os endereços dos repositórios dos pacotes a instalar ou a atualizar  No ficheiro var/log/ yum.conf encontram-se os registos das operações realizadas com o gestor yum  No diretório /var/cache/yum podemos encontrar os ficheiros descarregados da internet e que são instalados


34

 Exemplos: – yum list(listar todos os pacotes disponíveis) – yum check-update ou yum list updates (verificar se existem pacotes disponíveis para uma atualização) – yum update (fazer atualização ao sistema) – yum install nome programa (instalar programa e respetivas dependências) – yum info nome programa (apresentar informações básicas de um programa)


35

 O yum Extender é um programa semelhante ao yum, que funciona em ambiente gráfico  Numa instalação por defeito o yumex não vem instalado  A instalação do yum Extender pode ser feita realizando os seguintes procedimentos: – Abrir uma shell – Realizar o login como root, executando: su – – Com o computador ligado corretamente à internet, executar o comendo: • yum install yumex


36

 Após a instalação do yum Extender pode ser lançado, executando o comando yumex a partir de uma shell  O lançamento da aplicação também pode ser feito a partir de uma sessão gráfica: – Em menu Aplicações  Ferramentas de Sistema  Yum Extender (caso não esteja ligado como root será pedida a palavra passe de root)


37

 O Yum Extender apresenta uma interface gráfica onde se realiza um pesquisa e depois analisa se o programa já está instalado ou se existe uma atualização do pacote  Para instalar o pacote seleciona-se o(s) pacote(s) a instalar e de seguida clica-se em Aplicar (será necessário uma correta e estável ligação à internet para descarregar os pacotes)


38

 O Fedora incorpora um instalador gráfico que pode ser lançado a partir de uma sessão gráfica:  Em menu Sistema  Administração  Add/Remove Software (Caso não esteja ligado como root será pedida a palavra passe de root)


39

ď ą No gestor de aplicaçþes pode selecionar o tipo de pacote a instalar e verificar quais os pacotes que se encontram instalados


40

 Pode ainda realizar uma pesquisa pelo nome do pacote e verificar se o pacote está ou não instalado (na pesquisa os ícones com a caixa fechada e mais claros: ainda não estão instalados; os com a caixa aberta e mais escuros: estão instalados)


41

 A instalação de um pacote é realizada através da marcação de um visto num pacote não instalado e, de seguida, clicar em Aplicar  Na desinstalação de um pacote o realiza-se o processo inverso: desmarca-se um pacote instalado e de seguida clica-se em Aplicar


42

 Em versões mais recentes da distribuição Fedora usando o KDE ou GNOME se clicar sobre um ficheiro RPM será, automaticamente, lançado um gestor gráfico que pergunta se pretende ou não instalar o ficheiro


43

 Quando o programa a instalar não tem um pacote pré-compilado, é necessário obter o código-fonte e compilá-lo  A grande diferença entre software livre e código aberto, relativamente ao software proprietário reside no fato de no caso dos primeiros existir o acesso ao código-fonte do programa e ser possível compila-lo de forma que se achar mais conveniente


44

 O primeiro passo para compilar um programa no Linux será obter o seu código-fonte (normalmente descarregando-o da internet)  A maioria dos programas existentes para Linux são escritos na linguagem C ou C++ e normalmente encontra-se compactados nos formatos .tar.gz e .tar.bz2  O segundo passo será colocar o programa num diretório do sistema criado para o efeito  De seguida será necessário descompactar o programa


45

 Para descomprimir, por exemplo o programa nome_programa-2.2.tar.gz: – tar xvfz nome_programa-2.2.tar.gz – A execução deste comando tem de ser realizada no diretório onde se encontra o ficheiro compactado

 Após a descompressão do ficheiro, devem-se ler os ficheiros README e INSTALL, para conhecer as informações sobre o pacote e a instalação  Qualquer informação específica do programa que o torne diferente no processo de instalação encontra-se nestes ficheiros


46

 Para se poder compilar programas no Linux tem de ter instalado: – O compilador C, C++ e GCC (geralmente encontra-se nas distribuições Linux separado em três pacotes: gcc, cpp e g++) – O GNU Make – E para alguns casos o autoconf e o automake

 O processo de compilação de um programa é iniciado quando se executa o script configure


47

 Este script é gerado por quem desenvolveu o programa, usando normalmente o autoconf  Este script examina o sistema procurando bibliotecas, ficheiros de configuração e executáveis necessários para a compilação do programa  Se tudo estiver correto, é gerado o ficheiro Makefile (usado posteriormente pelo make)  Se alguma dependência não for encontrada a compilação pára e mostra uma mensagem de erro especificando o que ocorreu


48

 A execução do script configure deve ser realizada a partir do diretório onde se encontram os ficheiros descompactados, usando o comando: – ./configure

 De seguida executa-se a compilação propriamente dita, a compilação é coordenada pelo make, que segue um roteiro definido no Kakefile compilando e gerando os ficheiros binários usando o gcc  A compilação é iniciada executando o comando: – make


49

 Terminada a compilação (caso não existam erros) será a hora de se instalar o programa  O processo até esta fase poderá ser realizado por um utilizador que não é administrador (root)  A instalação só pode ser feita pelo utilizador root  A mudança para o utilizador poderá ser feita executando o comando: – su - (terá de introduzir de seguida a palavra passe do utilizador root)


50

 Após a mudança para o utilizador root, pode instalar o programa usando o comando make: – make install

 Qualquer alteração a este processo estará descrita nos ficheiros README e INSTALL  Após a conclusão da instalação, pode-se usar o comando make clean para remover todos os ficheiros temporários, criados durante a instalação  Na maioria dos programas, o processo para a desinstalação poderá ser feita com o comando: – make uninstall


51

 SÁ, João Paulo, CARVALHO, Rui, CORREIA e SILVA, Teotónio, Sistemas Operativos, 1ª Edição, Porto Editora, 2010.

Comandos Linux - Parte 2  

Comados Linux

Read more
Read more
Similar to
Popular now
Just for you