Backend Python
Daniel Santos
Agenda
1. Introdução ao módulo de Linux
2. Porque Linux
3. Distribuições linux
a. Para uso pessoal
b. Versões utilizadas em servidores
4. Como permissões funcionam em Linux
Porque Linux?
● Seguro
● Estavel
● Roda em qualquer lugar
● Gratis
● Suporte
Distribuições Linux
Há muitas versões Linux disponíveis no Mercado, distribuições para uso pessoal
com interfaces amigáveis como por exemplo o ubuntu que chamamos de
Desktop
E também encontramos distribuições enterprise que são utilizadas para
servidores
Diferenças entre versões
Servidor Desktop
● Navegação através do terminal ● Similar ao Windows, possui interface
● Mais recurso alocado para execução de grafica
tarefas
Diferenças entre versões
Uso Pessoal
Uso Comercial
SSH - Secure Shell Protocol
● O SSH é um protocolo de rede para o usuário administrador acessar,
remotamente seus servidores.
● A porta padrão é a 22 e o tipo de conexão é via TCP
Principais diretórios linux
● / “Root,” O topo da hierarquia das pastas
● /bin Arquivos binários
● /etc Arquivos de configuração do sistema
● /home Diretórios do seu home como Documentos, Downloads etc...
● /opt Arquivos opcionais, ou pastas para armazenar arquivos de aplicativos
● /tmp Pasta para uso temporário, geralmente deletada quando vc faz um reboot
● /usr Programas e arquivos do usuário que não são utilizados pelo sistema
● /var Pasta para armazenamento de dados, logs
Principais diretórios linux
Principais diretórios linux
Comandos básicos linux
● pwd -> onde estamos
● cd .. -> sobe um nível no diretório
● ls -> listar arquivos
● cd -> acessar algum diretório
● mkdir -> criar pastas
● touch ->criar arquivos
● ps aux -> processos rodando
O Comando Find
find [path...] [expression]
find /home -name hello-world.py
O Comando Find -> Arquivos
● name pattern busca arquivos com o nome especificado
find /home -name hello-world.py
● iname pattern igual ao -name, mas ignora letras maiusculas e
minusculas
find /home -iname hello-world.py
● ls detalha informações de cada arquivo encontrado
find /home -name python -ls
O Comando Find -> Diretórios
Para encontrar diretórios precisamos adicionar o parâmetro -d
find / -type d -name “apt” -ls
Ou
find / -type d -iname “apt” -ls
Para ignorar diretorios com maiusculas e minusculas
Como Permissões funcionam em Linux
● Identificacao do funcionario
● Cargo e Funcao
● Acesso liberado as áreas da sua
empresa
Como Permissões funcionam em Linux
● Sala de data center tem
acesso restrito somente a
usuarios especificos
Como Permissões funcionam em Linux
● Algumas áreas possuem livre
acesso
Como Permissões funcionam em Linux
Como Permissões funcionam em Linux
Em Linux cada arquivo e diretório possuem um dono, toda vez que criamos um
arquivo automaticamente nosso usuário é atribuído como dono do arquivo ou
diretório, temos algumas classificações e níveis diferente de permissões em
Linux.
Podemos quebrar essas permissões em 3 partes nas quais veremos a seguir
Leitura -> READ
Escrita -> Write
Execução -> Run
Como Permissões funcionam em Linux
Somente o sudo ou usuários administradores tem permissão
para alterar privilégios de outros arquivos ou diretórios
sudo vim /etc/sudoers
Como Permissões funcionam em Linux
“execute” permite que usuários executem arquivos. E também
acessem diretórios
Categorias de Permissões
Symbol Permission
u User
g Group
o Other
a All
Grupos
● Usuários estão em pelo menos um grupo
● Usuários podem pertencer a mais de um grupo
● Grupos são usados para organizar usuários
● O comando groups <username> mostra os grupos do
usuário
● Usuários administradores possuem o grupo wheel que
tem permissão de acesso como root
Grupos
Adicionando Usuário em um Grupo
sudo usermod -a -G <nome-do-grupo> <nome-do-usuário>
sudo usermod -a -G finance-team adminuser
OBS: para ativar grupos, é preciso que o usuário deslogue e
logue novamente
Mudando Permissões
Item Descrição
chmod comando base para mudar a permissão
ugoa usuário, grupo, outros e all
+-= adicionar, subtrair ou modificar permissão
rwx Read, Write, Execute
Mudando Permissões
sudo chmod <level da permissão> <diretório>
sudo chmod g=w+r+x finance/
Para mudarmos a permissão para arquivos e subdiretórios,
podemos adicionar o -R (recursivo)
sudo chmod -R g=w+r+x finance/
O Editor de textos Vi
● Possui diversas funcionalidades avançadas
● Não é intuitivo
● Requer um tempo para se familiarizar com os comandos
O Editor de textos Vi
● vi <nome do arquivo> -> para abrir o arquivo
● vim <nome do arquivo> -> mesmo que o vi, mas com mais
funcionalidades
Vi Modo de Inserção
i Inserir na posição do cursor.
I Inserir no começo da linha.
a Acrescentar depois do cursor.
A Acrescentar no final da linha do cursor.
Vi Modo de Alteração
:w Writes (saves) the file.
:w! Forces the file to be saved.
:q Quit.
:q! Quit without saving changes.
:wq! Write and quit.
:x Same as :wq.
Nano Editor de Texto
● Nano é mais simples
● Fácil de aprender
● Mais intuítivo
Copiando arquivos e diretórios
cp <nome do arquivo> <nome do diretório de destino>
cp hello-world.py ../Java
Para copiar diretórios precisamos incluir o -r
cp -r <nome do diretório> <nome do diretório de destino>
cp -r java Python/
Movendo arquivos e diretórios
mv <nome do arquivo> <nome do diretório de destino>
cp hello-world.py ../Java
Para mover diretórios não precisamos incluir o -r
mv <nome do diretório>/ <nome do diretório de destino>/
mv java/ Python/
Deletando arquivos e diretórios
rm <nome do arquivo>
rm hello-world.py
Para remover diretórios precisamos incluir o -r
rm -r <nome do diretório>
rm -r java
Para forçar a remoção precisamos incluir o -f
rm -rf <nome do diretório>
rm -rf java
Comandos yum - CentOS 7 e anteriores
yum search string Search for string
yum info [package] Display info
yum install [-y] package Install package
yum remove package Remove package
yum upgrade [package] Update package
Comandos rpm - Debian... Ubuntu...
apt-get install [-y] package Install package
apt-get purge package Remove package, deleting configuration
apt-get remove package Remove package, leaving configuration
Instalando Softwares no CentOS
Para manipular serviços no linux vamos utilizar o
systemctl ele é responsável por controlar pacotes e serviços
instalados dentro do /etc/
Ele é um atalho para não termos que ir no /etc/<nome-do-serviço>/
toda vez que precisarmos para ou subir um serviço
Vamos agora instalar o Apache Web Server