ViniciusMuniz.com - Programação, linux e afins.
ViniciusMuniz.com - Programação, linux e afins.
  • Linux
  • PHP
  • Contato
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

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

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

18 Comandos linux que você deveria saber

agosto 5, 2013by vinicius1 comentário
Principais comandos linux

Principais comandos linux

Comecei escrevendo este post, com intuito, de ajudar com os comandos básicos de linux, mas, acho que o básico é muita coisa. Então vou dividir por categorias, este primeiro será :

Manipulando arquivos e pastas

Pretendo descrever neste post, os comandos que eu acredito ser os mais úteis na manipulação de arquivos para quem está iniciando no linux, com alguns parâmetros, para facilitar a vida. Quem achar que mais algum se faz necessário, comenta, que eu adiciono no post.

Listando arquivos

Utilizando o comando ls podemos listar arquivos e pastas os ordenando por data da modificação, por tamanho, entre outros. Também podemos listar somente arquivos, ou somente pastas, incluir links. Enfim, para ver mais detalhes consulte a documentação. man ls

Listando arquivos txt, ordenados por tamanho

ls -lhS *.txt

Listando arquivos png, ordenados por tamanho, na ordem reversa

ls -lhSr *.png

Listando arquivos php, ordenados por data da modificação, na ordem reversa

ls -ltr *.php

Criando Arquivos

Existem várias formas de se criar arquivos no linux, entre elas:

Touch

touch test.php

Cat

cat > test.php

Usando editor

Você utilizar seu editor também, eu gosto de utilizar o nano, ou o pico como editor

nano test.php
pico test.php

Apagar Arquivos

Apagar arquivos é fácil, fácil. Basta utilizar o comando rm.

rm test.php

Apagando arquivos de uma extensão

rm *.php
rm *.txt

Apagando arquivos sem confirmar

Utilizando o argumento -f, force forçaremos a remoção do arquivo.

 rm -f test.php

Criando pasta

Tão fácil como os outros, basta utilizar o comando mkdir.

mkdir viniciusmuniz
mkdir /var/www/viniciusmuniz

Criando pasta com permissão

Quem já ouviu falar de linux, já ouviu a frase “Linux não tem vírus”. Bom em minha opnião.. uma mentira, mas a maior parte do motivo, se deve ao gerenciamento de permissões do linux, não descreverei isso profundamente, pois será um outro post dessa série. Quem utiliza um host com suphp, deve já ter visto muito 500 internal server error. Isso se dá, pois a pasta tem que ter a permissão 755, e os arquivos a permissão 644. Para criar uma pasta com permissão, basta utilizar a opção -m .

mkdir -m 0755 viniciusmuniz

Criar pasta recursivamente

Não gostei do nome desse item, se alguém tiver algum melhor, por favor comente. Se você quer criar uma pasta dentro de outra que não existe ainda, você pode criar tudo direto.

mkdir -p /home/vinicius/test/viniciusmuniz/public_html

Removendo pastas

Se você tentou remover uma pasta, já deve ter visto o erro, rm: não foi possível remover “nome da pasta”: É um diretório. Simples, para remover uma pasta, você tem que remover ela recursivamente. Para isto usaremos o argumento -r.

rm -r /home/vinicius/test/viniciusmuniz/public_html

Remover pasta sem confirmação

Utilizando do mesmo comando de “forçar” adicionaremos o -f

rm -rf /home/vinicius/test/

Movendo arquivos e pastas

Para mover utilizaremos o comando mv. No exemplo estaremos movendo a pasta public_html para /home/vinicius

mv /home/vinicius/test/viniciusmuniz/public_html /home/vinicius/

Renomeando pastas e arquivos

O linux não tem comando específico para renomear. Utiliza-se o mv.

mv test.php index.php
mv /home/vinicius/test/ /home/vinicius/teste

Modificar permissão

Este Item está aqui pois tem relação direta com esta manipulação, mas será novamente abordado com mais detalhes, em um próximo post. Para alterar a permissão de algo, utilizasse o comando chmod.

chmod 777 /home/vinicius/teste

Permissão recursivamente

Para dar permissão recursivamente, basta adicionar a opção -r

chmod 777 -R
  • 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