Arquivar para junho de 2013
Executar sql em SSH
Comando simples para execução de arquivo .sql em SSH
[mysql -h ip_ou_host -u usuario_banco -p –default-character-set=utf8 banco_de_dados < instrucao.sql]
Copiar arquivo de um servidor para outro em SSH
Copiando arquivos via SSH
Hi folks!
Hoje o assunto é a cópia de arquivos entre dois hosts via SSH pela rede.
Para isso usaremos o comando SCP.
Ele usa a mesma autenticação e fornece a segurança do SSH. Ele irá lhe perdir autenticação antes de iniciar a copia e transferências dos dados.
Como fazer:
$ scp <nome_arquivo> <ususario>@<ip_do_destino>:<diretorio_destino>
Onde:
<nome_arquivo>: nome do arquivo a ser copiado;
<ususario>: usuário no host destino que fará a autenticação via SSH;
<ip_do_destino> endereço ip ou nome do host de destino do arquivo;
<diretorio_destino> diretório para onde os arquivos serão copiados;
Exemplo:
$ scp /home/usuarior01/texto.txt root@192.168.1.25:/home/usuario02/Desktop
No exemplo acima copiamos o arquivo texto.txt da máquina local para o computador de IP 192.168.1.25 no Desktop do usuario02.
Dica:
Para copiar um diretório inteiro você pode usar o parâmetro ” -r “.
Exemplo:
$ scp -r <nome_diretorio> <usuario>@<ip_do_destino>:<diretorio_destino>
É isso! Até a próxima!
Comandos em SSH
SSH
SSH ( Secure Shell ) é um protocolo que permite conexão segura com outros computadores através de uma rede (por exemplo, a Internet). Dessa forma, você pode executar comandos remotamente no computador onde você está conectado, e todo o tráfego entre ambos estão criptografados. Isto significa que, mesmo que alguém copie todo o fluxo de dados entre o seu computador e o computador remoto, não será possível ser lido, visto que todo esse tráfego é cifrado, e somente tendo uma chave específica, será possível desfazer essa cifragem e finalmente entender o fluxo de dados.
Como acessar?
Usando Windows
Você vai precisar de um programa chamado PuTTY.
Clique aqui para efetuar o download.
Veja na imagem abaixo a tela de conexão.
- Host name ( or IP adress ) informe o nome do seu domínio
- Port 22
- Connection type SSH
- Clique em Open.
Na tela preta pedirá a informação Login as, informe o seu usuário de FTP.
Aperte a tecla enter do seu teclado.
Depois informe a sua senha de FTP e aperte enter novamente.
Pronto! O acesso ao SSH foi feito.
Usando GNU/Linux
Use o terminal (shell) para fazer o acesso.
O acesso deve ser feito usando o comendo: ssh usuário_de_ftp@nome_do_dominio.com
No exemplo da imagem abaixo usamos o comando: ssh leobarros@leobarros.x-br.com
Neste exemplo leobarros é o usuário de FTP e leobarros.x-br.com o nome do domínio.
Depois em password informe a senha de FTP e aperte enter no teclado.
Pronto! O acesso ao SSH foi feito.
Principais comandos
Manipulação de Arquivos
Comando: cd
Descrição: Este comando é usado para navegar em diretórios. Use-o sem nenhuma opção para ir para o diretório root, seguido do comando a ser acessado ou ainda seguido de 2 pontos para que volte um nível.
Exemplo 1: cd
Exemplo 2: cd /usr
Exemplo 3: cd ..
Comando: cp
Descrição: Este comando é usado para copiar diretórios e/ou arquivos. Use-o seguido da opção -R para que sejam copiados todos os subdiretórios de um diretório.
Exemplo 1: cp teste.txt teste_final.txt
Exemplo 2: cp -R /home/diretorio /root
Comando: ls
Descrição: Este comando é usado para listar arquivos, diretórios e etc… em um diretório por exemplo. Use-o seguido da opção -l para que os dados sejam listados em uma única linha.
Exemplo: ls -l
Comando: rm
Descrição: Este comando é usado para remover arquivos e diretórios. Use-o seguido da opção -R para que sejam removidos todos os arquivos de um diretório.
Exemplo 1: rm teste.txt
Exemplo 2: rm -R /home/diretorio
Comando: mv Descrição: Este comando é usado para mover arquivos e diretórios para outros locais ou ainda para renomea-los.
Exemplo 1: mv teste.txt novo_teste.txt
Exemplo 2: mv /home/diretorio /root
Comando: mkdir
Descrição: Este comando é usado para criar diretórios.
Exemplo: mkdir teste
Comando: chmod
Descrição: Este comando é usado para alterar as permissões de arquivos e pastas. Use-o seguido da permissão desejada.
Exemplo: chmod 777 teste.txt
Comando: tar Descrição: Este comando é usado para compactar/descompactar arquivos com extensão .tar, .tar.gz
Exemplo(compactar): tar -zcvf arquivo.tar.gz teste.txt diretorio1 diretorio2
Exemplo(descompactar): tar -zxvf arquivo.tar.gz
Comando: zip
Descrição: Este comando é usado para compactar arquivos com extensão .zip
Exemplo: zip arquivo.zip teste.txt diretorio1 diretorio2
Comando: unzip
Descrição: Este comando é usado para descompactar arquivos com extensão .zip
Exemplo: unzip arquivo.zip
Comando: du
Descrição: Este comando é usado para calcular o espaço total de um diretório ou arquivo. Use-o seguido da opção -h para exibir o espaço em megabyte.
Exemplo 1: du -h ( lista todas as pastas do FTP informando o tamanho de cada uma, no final mostra o consumo total )
Exemplo 2: du -sh ( mostra apenas o espaço consumido )
Exemplo 3: du -h teste.txt ( mostra o tamanho do arquivo teste.txt )
Exemplo 4: du -h –max-depth=2 ( listará o espaço consumido dos diretórios em segundo nível )
Comandos de Busca
Comando: find
Descrição: Este comando é usado para localizar arquivos e diretórios.
Exemplo 1: find -name teste.txt
Exemplo 2: find /home/diretorio -name \*.txt
Comando: find -type f -perm 777
Descrição: Este comando vai listar todos os arquivos com permissão 777.
Comando: locate
Descrição: Este comando é usado para localizar arquivos e diretórios.
Exemplo: locate teste.txt
Comando: grep
Descrição: Este comando é usado para buscar uma expressão dentro de um arquivo.
Exemplo: grep palavra teste.txt
Outros comandos
Comando: / (refere-se ao diretório raiz no servidor)
Comando: ./ (refere-se ao diretório em que você se encontra)
Comando: ../ (refere-se ao diretório pai do que você se encontra)
Comando: pwd (mostra qual é o diretório em que você se encontra — dá o caminho completo)
Comando: ls -al (lista todos os arquivos + informações)
Comando: ls -alR (lista todos os arquivos + informações em todos os subdiretórios)
Comando: ls -alR > resultado.txt (lista todos os arquivos + informações em todos os subdiretórios, mas envia todas as informações para um arquivo ao invés de mostrar na tela)
Comando: ls -alR | more (lista todos os arquivos + informações em todos os subdiretórios, criando uma pausa)
Comando: ls *.html (lista todos os arquivos que terminam com .html)
Comando: ls -al home/usr/guto/ (lista todos os arquivos + informações de /home/usr/guto)
Comando: cd imagens (muda para o diretório imagens)
Comando: cd / (muda para o diretório raiz)
Comando: cd /home/usr/imagens (muda para o diretório /home/usr/imagens)
Comando: ls -d */ (lista todos os subdiretórios dentro do diretório atual)
Comando: rmdir nomedodiretório (apaga um diretório se estiver vazio)
Comando: rm -r nomedodiretório (remove um diretório e todos seus arquivos)
Comando: sed s/textoantigo/novotexto/g nomedoarquivo (faz uma varredura no arquivo e troca todas as ocorrências do [textoantigo] por [novotexto])
Comando: find / -name arquivo -print (procura em todo servidor por um arquivo)
Comando: find . -name arquivo -print (procura por um arquivo começando pelo diretório atual)
Comando: find / -name nomedodiretório -type d -print (procure no servidor inteiro por um diretório)
Permissão
Geralmente, quando instalamos algum plugin, complemento ou módulo, é possível que ele não funcione corretamente por problemas de permissão. Com isso, devemos identificar a pasta que necessita dessa permissão e modificá-lo conforme a regra de permissão. Ex: chmod -R 755/www/modules. A subpasta terá a permissão para ler e escrever.
- 0 – Sem permissão
- 1 – Permissão de execução
- 2 – Permissão de escrita
- 3 – Permissão de escrita e execução
- 4 – Permissão de leitura
- 5 – Permissão de leitura e execução
- 6 – Permissão de leitura e escrita
- 7 – Permissão de leitura, escrita e execução
Note que o primeiro algarismo diz respeito a permissões relativas ao proprietário do arquivo (ou da pasta). O segundo algarismo está vinculado ao grupo que tem direitos sobre o arquivo (ou sta). E o terceiro algarismo está relacionado aos outros usuários, que não estão diretamente relacionados com o arquivo (ou pasta). Logo, se você tiver uma permissão do tipo 723, significa que:
- 7 – Permissão de leitura, gravação e execução para o usuário proprietário.
- 2 – Permissão de leitura para o grupo proprietário.
- 3 – Permissão de escrita e execução para os outros usuários.
Principais tipos de permissão
Precisamos saber qual tipo de permissão é necessária para cada tipo de arquivo, pois uma permissão mal aplicada poderá acarretar em problemas futuros. Muito cuidado com a permissão chmod 777, pois você dará permissões plenas (leitura, gravação e execução) a todos os usuários, e essa falha de segurança pode ocasionar-lhe muitos problemas.
chmod 604 [arquivo] (para arquivos HTML) chmod 705 [nomedopasta] (para pastas) chmod 755 [arquivo] (script e programas) chmod 606 [arquivo] (permissão para arquivos de dados usados por scripts) chmod 703 [nomedopasta] (permissão para escrita no FTP público)
Corrigindo permissões de forma global
O padrão é manter permissão 644 para arquivos e 755 para as pastas.
Podemos fazer isso facilmente por SSH rodando os comandos abaixo:
Setar permissão 644 nos arquivos: find . -type f -exec chmod 644 ‘{}’ \;
Setar permissão 755 nas pastas: find . -type d -exec chmod 755 ‘{}’ \;