ViniciusMuniz.com - Programação, linux e afins.
ViniciusMuniz.com - Programação, linux e afins.
  • Linux
  • PHP
  • Contato
Linux, Sem categoria

Como resolver problema com os “languages” do ubuntu

janeiro 28, 2014by viniciusNenhum comentário

A pouco mais de duas semanas, estava tendo um problema, com um servidor, que sempre me mostrava o erro:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = "en_US:",
	LC_ALL = (unset),
	LC_MESSAGES = "pt_BR.UTF-8",
	LC_COLLATE = "pt_BR.UTF-8",
	LC_CTYPE = "pt_BR.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
Continue reading
Linux, Sem categoria

Principais comandos do Subversion

janeiro 28, 2014by vinicius4 Comentários

Dando continuidade ao assunto anterior.. os principais comandos do Subversion.

Acho que nada mais simples do que um “help”, para saber todos os comandos. O “help” do subversion, é mais legal do que os outros, pois ele fornece help dos comandos com svn. Por exemplo:

svn help update
Continue reading
Linux, Sem categoria

Instalando Subversion no ubuntu

janeiro 28, 2014by viniciusNenhum comentário

O que é Subversion?

Subversion é um sistema de controle de versão livre/open-source. Isto é, o Subversion gerencia arquivos e diretórios, e as modificações feitas neles ao longo do tempo. Isto permite que você recupere versões antigas de seus dados, ou que examine o histórico de suas alterações. Devido a isso, muitas pessoas tratam um sistema de controle de versão como uma espécie de “máquina do tempo”.

O Subversion pode funcionar em rede, o que lhe possibilita ser usado por pessoas em diferentes computadores. Em certo nível, a capacidade de várias pessoas modificarem e gerenciarem o mesmo conjunto de dados de seus próprios locais é o que fomenta a colaboração. Progressos podem ocorrer muito mais rapidamente quando não há um gargalo único por onde todas as modificações devam acontecer. E como o trabalho está versionado, você não precisa ter medo de que seu trabalho perca qualidade por não ter essa via única para modificações—se os dados sofrerem alguma modificação indevida, apenas desfaça tal modificação.

Continue reading
Linux, Sem categoria

Criando um pacote DEB

janeiro 28, 2014by vinicius1 comentário

Pacote Debian ou deb é como um ‘instalador’ para distribuições baseadas em Debian. Existem dois tipos de pacotes Debian, ambos com a mesma funcionalidade de implementar determinado comando, recurso ou recursos.

Continue reading
Linux, Sem categoria

Como fazer sua sessão ssh parar de cair

janeiro 17, 2014by vinicius6 Comentários

Sua sessão ssh está caindo com frequência? Quem passa muito tempo trabalhando com servidores, sabe que isso acontece com frequência, principalmente, quando se trabalha com um servidor, e com edição de algum código.

ssh caindo

Continue reading
Linux, Sem categoria

Entendendo as permissões no linux de forma fácil

novembro 26, 2013by vinicius5 Comentários

permissao-linux

Permissões no linux, é o principal “recurso” dos sistemas baseados em Unix. Elas são usadas de diferentes formas, e com diferentes finalidades. Mas principalmente para segurança e organização de um sistema.

Através das permissões, você pode definir quem pode acessar, escrever e executar um arquivo. Tanto por grupo, quanto por usuário. Com as permissões, o linux impede que um programa mal intencionado, por exemplo, apague um arquivo que não deve, envie arquivos especiais para outra pessoa ou forneça acesso da rede para que outros usuários invadam o sistema.

Vamos entender melhor, e aprender como mudar e verificar as permissões de determinado diretório ou arquivo.

Como verificar permissão

Para verificar as permissões de um arquivo ou diretório, é comum se utilizar o comando ls com o parâmetro -l, com ele descobriremos as permissões e os proprietários dos arquivos e diretórios.

ls -l /home/vinicius/tmp/

Me retornará o resultado:

total 4
-rw-r--r-- 1 vinicius vinicius    0 Nov 22 12:59 index.html
lrwxrwxrwx 1 vinicius vinicius   15 Nov 22 12:59 link -> /home/vinicius/
drwxr-xr-x 2 vinicius vinicius 4096 Nov 22 12:59 test
-rwxrwxrwx 1 vinicius vinicius    0 Nov 22 13:00 test_777

Ok? Ta achando que isso é um monte de letra solta né? Vamos entender, o que cada parte disso significa.

Diretório, link, arquivo?

Para sabermos o que é cada item, basta observarmos a primeira letra.

  • l => Significa que aquele item é um link;
  • d => Aquele item é um diretório;
  • – => Um arquivo;
  • b => arquivo de bloco;
  • c => arquivo especial de caractere;
  • p => canal;
  • s => socket;

rwx o que é isso?

Você notou que essas letras ficam se repetindo no decorrer da listagem do ls, cada um tem seu significado:

  • r => read – indica a permissão de leitura;
  • w => write – indica a permissão de escrita;
  • x => Execution – indica a permissão de execução
  • – => indica a ausência de permissão

Pronto agora já sabemos o significado de cada letra, já podemos interpretar o resultado do comando ls. Podemos dividir o resultado em 3 partes, vamos pegar a primeira linha como exemplo:

rw-|r–|r–

Cada grupo de 3 caracteres significa nesta ordem, a permissão para o dono, permissões para o grupo ao qual pertence o dono do arquivo e permissões para os outros usuários.

Lendo apenas os dados de permissão -rw-r–r–, podemos identificar que, é um arquivo, que o proprietário do arquivo tem permissão de leitura e escrita, e que os demais(grupo e outros) tem permissão apenas de leitura.

Bits da permissão

Cada letra tem seu bit correspondente, o que podemos identificar da seguinte forma:

Letras   Binário   Decimal   Significado 
— 000 0 Sem permissão
–x 001 1 Permissão de execução
-w- 010 2 Permissão de escrita
-wx 011 3 Permissão de escrita e execução
r– 100 4 Permissão de Leitura
r-x 101 5 Permissão de leitura e execução
rw- 110 6 Permissão de leitura e escrita
rwx 111 7 Permissão total

Mudando a permissão

Utilizando se da tabela acima podemos mudar a permissão de arquivos e diretórios com o chmod.

A sintaxe do comando chmod é:

 chmod  

Alguns exemplos:

Permissão total

chmod 777 test.txt

Permissão apenas de leitura

chmod 444 test.txt

Permissão de leitura e escrita para o dono e leitura para os outros

chmod 644 test.txt

O chmod alem de utilizar as permissões com números, também há possibilidade de utilizar a forma mais chata das letras. Onde precisamos entender que

  • u => usuário
  • g => grupo
  • O => outros
  • a => todos
  • + => adicionar permissão
  • – => remover permissão
  • = => definir a permissão

Com isso podemos utilizar o chmod da seguinte forma:

Permissão de execução para o usuário

chmod u+x test.txt

Permissão de leitura para o grupo

chmod g+r test.txt

O perigo da permissão 777

Como eu disse anteriormente, a permissão 777 é a permissão total a algo, ou seja, todo mundo pode editar, apagar, escrever. Se imagine com um arquivo com permissão 777 onde todo mundo pode edita-lo, alguém com intenções maliciosas, pode editar seu arquivo, e executa-lo, podendo lhe roubar informações preciosas, executar algo em seu sistema operacional e apagar dados. Por isso é normal se utilizar permissão 755 para diretórios e 644 para arquivos não executáveis, como arquivos php em servidores de hospedagem.

Inclusive isso é algo que alguns servidores bloqueiam com o suphp, sempre que tiver recebendo erro 403, verifique primeiro a permissão de seus arquivos e pastas, pois em 90% dos casos o problema é esse.

Você pode entender mais sobre o assunto em:

http://www.guiafoca.org/cgs/guia/intermediario/ch-perm.html
Wikipedia CHMOD

Linux, Sem categoria

4 dicas para melhorar a performance do linux

novembro 13, 2013by vinicius26 Comentários

Vamos abordar algumas formas mais avançadas de melhorar a performance do linux.
Que não seja desabilitando nada, ou mexendo em interface.

Separei as 4 coisas que mais costumo utilizar para melhorar meus servidores, e maquinas virtuais.

Performance linux

Ramlog

Pra quem não sabe o que é ramlog… pode se matar agora. Brincadeira, leia o restante. Depois se mate.

Como o próprio nome diz ram – log, significa armazenar o log na ram, no lugar de coloca-lo no disco diretamente. Como é o comum utilizado pelo syslog.

Dessa forma se evita que haja sempre escrita no disco, que é um dos gargalos de performance em qualquer servidor. Existindo apenas quando o ramlog é reiniciado ou parado.

A utilização do ramlog, faz uma grande diferença na performance

Ramlog – http://www.tremende.com/ramlog no site você pode encontrar o tutorial de instalação para diversas distribuições.

Continue reading
Linux, Sem categoria

Usando ssh sem senha

novembro 12, 2013by vinicius12 Comentários
ssh sem senha

Ssh sem senha

Acessar o ssh sem senha, acho que é uma das coisas, mais util para quem tem que lidar com vários servidores ao mesmo tempo, principalmente para quem precisa fazer copia de arquivos entre eles.

Para se utilizar desta facilidade, basta ter instalado o ssh-keygen, para gerar a chave da maquina. Para esta geração pode se utilizar dois tipos de criptografias, sendo elas, rsa e dsa

O que é RSA?

RSA é um algoritmo de criptografia de dados, que deve o seu nome a três professores do Instituto MIT (fundadores da atual empresa RSA Data Security, Inc.), Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram este algoritmo — até a data (2008), a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública.

fonte:http://pt.wikipedia.org/wiki/RSA

RSA é comumente mais usado, principalmente por ser o padrão do ssh-keygen.

O que é DSA?

DSA é o acrônimo de Padrão de Assinatura Digital (Digital Signature Algorithm), criado pelo NIST, e especifica o DSA para assinatura digital e SHA-1 para hashing. O DSA é um algoritmo assimétrico e a chave privada opera sobre o hash da mensagem SHA-1. Para verificar a assinatura um pedaço do código calcula o hash e outro pedaço usa a chave pública para decifrar a assinatura, e por fim ambos comparam os resultados garantindo a autoria da mensagem. O DSA trabalha com chaves de 512 à 1024 bits, porém ao contrário do RSA que é multipropósito, o DSA somente assina e não garante confidencialidade. Outro ponto contra o DSA é que a geração da assinatura é mais rápida do que o RSA, porém de 10 a 40 vezes mais lenta para conferir a assinatura.

Como funciona o ssh-keygen?

O ssh-keygen, gera as chaves publicas e privadas, para que a partir delas se possa acessar o servidor. Que no nosso caso ocorrerá sem a digitação da senha, mas essa utilização de chaves, fica como uma dica, para melhorar a segurança de acesso ao servidor, obviamente, se utilizando com senha.

Mãos na massa

Abra seu terminal, chama sua vó, e toda a família para assistir.

Gerando as chaves

Fica ao seu critério qual criptografia utilizar, por isso fiz a explicação das duas. Já que você ta com sua família ai, faça uma votação, para decidir, qual a melhor. Após a votação, siga o tutorial, utilizarei o rsa, se for utiliza dsa, basta trocar onde tem rsa, por dsa.

Faça login no terminal, com o usuário, que você quer acessar o servidor sem a senha. Pois a chave é específica ao usuário.

 ssh-keygen -t rsa

Você vai ter a seguinte resposta:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/vinicius/.ssh/id_rsa):

Meu usuário, é vinicius, não sei se você percebeu, mas meu nome é esse(veja a url!).Enfim, escolha a pasta da qual deseja salvar a chave. Se ta com preguiça apenas confirma.E receberá outra mensagem.Esse passo é muito importante

Enter passphrase (empty for no passphrase):

Como você leu acima, Entre com a palavra passe( a senha ). Como queremos acessar sem senha, apenas, confirme(aperta enter, pede ajuda a tua vó!) sem digitar nada.Ele vai pedir confirmação, aperte “enter” novamente. A confirmação:

Enter same passphrase again:

Pronto, criou a chave!

Your identification has been saved in /home/vinicius/.ssh/id_rsa.
Your public key has been saved in /home/vinicius/.ssh/id_rsa.pub.
The key fingerprint is...

Ele gera um bocado de carácter bonitinho, que não convêm colocar neste post. Tudo criado, agora vamos colocar a chave pública, no servidor, ao qual queremos acessar sem senha.

Colocando a chave pública no servidor destino!

Existem algumas formas diferentes de fazer esse passo, inclusive encontrei uma muito interessante ao escrever esse post. Vou descrever duas, uma simples, e outra mais simples ainda.

Forma simples

O que deve ser feito é colocar o conteúdo da chave pública(id_rsa.pub) no servidor, especificamente no arquivo, authorized_keys, tambem no usúario do servidor, ao qual teremos acesso.

Vamos supor que o nome do usuário do seja joao, no servidor viniciusmuniz.com

Primeiro vamos copiar a chave pública para o servidor

scp /home/vinicius/.ssh/id_rsa.pub joao@viniciusmuniz.com:/home/joao/

Digite sua senha, a sua penúltima vez a digita-la. E depois acesse o servidor, e coloque a chave pública no authorized_keys

ssh joao@viniciusmuniz.com
cat /home/joao/id_rsa.pub >> /home/joao/.ssh/authorized_keys

Pronto! Teste agora o acesso ssh, que já não haverá mais necessidade de senha.

Forma super simples

Essa forma eu encontrei escrevendo esse post. Existe uma facilidade que é o ssh-copy-id, que com apenas um comando, ele já insere a chave pública no servidor destino.

ssh-copy-id -i /home/vinicius/.ssh/id_rsa.pub joao@viniciusmuniz.com 

Acessando o ssh sem senha

Agora basta acessar, que não haverá mais a necessidade de senha. Divirtam-se!

 ssh joao@viniciusmuniz.com
Linux, Sem categoria

Descobrindo portas abertas do servidor

agosto 22, 2013by vinicius1 comentário

nmap-project-logo

Olá, após muito tempo sem escrever, finalmente encontrei tempo.

E em mais um tutorial, vamos aprender, como descobrir portas abertas ou fechadas em um servidor,computador…

nmap

Para tal tarefa, vamos utilizar o comando nmap.

De acordo com a descrição do próprio nmap, o aplicativo é:


O Nmap (“Network Mapper”) é uma ferramenta em código aberto para exploração de rede e auditoria de segurança. Foi desenhada para rastrear(Scan) rapidamente redes amplas contudo funciona bem com um único anfitrião(host). Nmap usa pacotes IP em estado bruto(raw) sobre novas formas para determinar que anfitriões(hosts) estão disponíveis na rede…

Para saber mais você pode encontrar detalhes em http://nmap.org/. Eu gosto de utilizar o nmap, mas não significa que este seja o único modo de realizar esta tarefa.

Listando as principais portas do servidor

O mais simples dos comandos, basta executar o nmap, para o servidor que se deseja investigar

nmap test.com

Listando as principais portas do servidor com mais detalhes

nmap -s test.com

Verificando várias maquinas na rede

Muito útil para administradores de rede

Verificar determinados ips
nmap 192.168.254.1 192.168.254.2 192.168.254.3
Verificando uma faixa(um range) de IP’s
nmap 192.168.254.1-10

Verificando um range usando wildcard
nmap 192.168.254.*

Verificando uma porta específica

nmap -p [port] test.com

Verificando um range de portas

nmap -p 80-400 test.com

Lembrando que esse não é o único método de se fazer essa varredura. E que você pode encontrar mais sobre nmap no link: http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/

Linux, Sem categoria

Agendando comandos facilmente no linux

agosto 5, 2013by vinicius1 comentário
utilizando o comando at linux

utilizando o comando at linux

E ai!! Vamos entender mais um comando do linux, agora o comando at. Que também não conhecia até pouco tempo atrás.

Se imagine na seguinte situação, você tem que rodar um comando hoje, assim, que voltar do almoço(que exemplo bobo do caramba), porêm só irá chegar às 14:30. e seu chefe quer o resultado desse comando às 2 horas, ou ele vai comer seu… figado. Simples!!! O comando at vai te deixar com seu… figado intacto. Vamos a prática, e deixar de bla bla.

O comando se comporta como se fosse uma cron, que irá rodar, e posteriormente deixará de existir. Bem mais simples do que configurar uma linha na cron, para rodar um comando uma única vez.

at na prática

Supondo que o comando que seu chefe quer seja rodado amanha, e seja a lista de todos os usuários logados às 14:00, do qual ele acessa por um arquivo na rede.

O comando aceita várias variantes de configuração da data/tempo. Para este exemplo podemos utilizar desta forma

$ at 2pm tomorrow
at> who > /var/www/list_users.html

Quando você digitar o comando at ele irá abrir um “sub-terminal” do at, para que você digite os seus comando, no nosso caso who > /var/www/list_users.html, para salvar comando no at, use ctrl+d.

Dicas do comando at linux

Listar comandos(trabalhos) configurados no at

Utilize o comando atq, que ele irá listar os trabalhos a serem executados, para o seu usuário, caso você seja o root, o de todos os usuários.

$ atq

Deletar comandos(trabalhos) configurados no at

Utilize o comando atrm, que ele irá remover um trabalho específico, você deve especificar qual o trabalho a ser removido. Por exemplo:

$ atq
5	Fri May 17 13:30:00 2013 a vinicius
6	Fri May 17 13:31:00 2013 a vinicius

$ atrm 5

Indo a fundo no at

Aconselho a ler a documentação do at, pois há muitas dicas na mesma

 man at

Por exemplo:

Rodar um comando daqui a 3 dias às 4 horas da tarde

at 4pm  +3 days

Rodar um comando em um dia específico(18/10/2013) às 4 horas da manhã

Observer neste exemplo, que a data está no padrão MMDDCCYY

at 4am 10182013  
Page 2 of 3«123»
  • Português

Assine minha lista!

Obrigado!

Posts recentes

  • O que é Iptables, para que serve, e como usar?
  • Como enviar uma requisição POST sem formulário
  • TTY: Como diminuir a quantidade de terminais e aumentar a performance
  • TTY: O que é? Pra que serve? Como usa-lo?
  • Como varrer array multidimensional com php

Comentários

  • Como enviar POST no PHP sem formulário HTML | Clube do Rato em Como enviar uma requisição POST sem formulário
  • vinicius em Corrigindo erro de conexão com mysql.sock
  • vinicius em Como enviar uma requisição POST sem formulário
  • vinicius em Como enviar uma requisição POST sem formulário
  • Adriano Cruz de Oliveira em Corrigindo erro de conexão com mysql.sock

Tags

array atalho linux brainf**k brainfuck c++ checkout comandos linux comandos ssh commit controle de versão CVS debian dicas Hello world instalador debian instalador linux iptables Linux linux performance openssh pacote deb php programar programação php ssh style subversion svn svn protocol tty ubuntu

Categorias

  • Debian
  • Linux
  • Mysql
  • Outros
  • PHP
  • Programação
  • Sem categoria
  • Subversion
  • Ubuntu
  • Web Server
  • Zend Framework

Meta

  • Acessar
  • Feed de posts
  • Feed de comentários
  • WordPress.org