Mudando permissões no Linux para desenvolvimento Web

As distribuições Linux são sistemas poderosos que permitem ter controle sobre cada aspecto do seu sistema operacional, se tiver o conhecimento necessário, óbvio. Para o iniciante, pode ser extremamente frustrante tentar resolver problemas olhando para uma tela preta de terminal que espera que você faça sua mágica. Milhares de tutoriais incompletos, desatualizados ou feitos para distribuições incompatíveis e manuais escritos numa linguagem sintética e muito abstrata, dificultam ainda mais o caminho …

Entre os primeiros problemas a serem enfrentados pelos novos usuários, problemas de permissões são os que mais irritam… porque dão a impressão de que você está sendo impedido de usar o seu próprio computador… e com muita razão… se você é estudante de uma área de Ciências da Computação, vai ter que fazer muitos ajustes e mexer bastante na sua máquina, tropeçar com erros constantes passa a impressão de que o sistema operacional é ruim, quando na verdade ele está tentando se proteger de alteraçôes que causem instabilidades (ou erros fatais como o famigerado comando sudo rm -rf / que pode apagar tudo no seu disco rígido, inclusive o próprio sistema operacional!)

Se você é desenvolvedor web, um exemplo é a pasta /var/www/html onde ficam os arquivos usados no servidor local Apache. Todos os seus arquivos devem ser rodados em localhost/, acontece que essa é uma pasta de sistema que só pode ser manipulada pelo root, o administrador, se tentar criar, salvar ou modificar um arquivo ou diretório nessa pasta, vai ter um erro por causa de privilêgios insuficientes de usuário.

Resolver isso é bem rápido, você deve mudar a propriedade da pasta e os privilégios de usuario com os comandos chown e chmod.

Passo a passo:

Abra a pasta /var/www/html no terminal e digite ls -l (lista os archivos e pastas e exibe detalhes dos privilégios). O resultado deveria ser algo assim:

-rw-r--r-- 1 root root 10918 abr 11 20:29 index.html
lrwxrwxrwx 1 root root 21 abr 11 22:04 phpmyadmin -> /usr/share/phpmyadmin

ROOT é o administrador ou superusuário e proprietário da pasta e dos arquivos e pode ler r, escrever w e executar x arquivos e programas na pasta. Você deve mudar a propriedade para o seu usuário, no meu caso daniel, assim poderei usar normalmente a pasta enquanto estiver logado no sistema. Fazemos isso com o comando chown (change owner):

sudo chown -R daniel /var/www/html

Tradução: sudo (‘super user do’ administrador faz) chown (‘change ownership’ muda/atribui propriedade) -R (recursivamente, ou seja para todas as pastas nesse -path, endereço) daniel (ao usuario que passa a ser o proprietário) da pasta /var/www/html (path ou endereço/caminho da pasta). Escreva sua senha no prompt e digite novamente ls -l, o resultado agora deveria ser:

-rw-r--r-- 1 daniel root 10918 abr 11 20:29 index.html
lrwxrwxrwx 1 daniel root 21 abr 11 22:04 phpmyadmin -> /usr/share/phpmyadmin

Agora você já é proprietário da pasta, mas ainda não pode executar, para isso devemos mudar a permissão para que o usuário daniel possa usar livremente o conteúdo da pasta:

sudo chmod -R u+x /var/www/html
Tradução: sudo chmod (change mode) -R u+x (usuário ganha poder de execução)

-rwxr--r-- 1 daniel root 10918 abr 11 20:29 index.html
lrwxrwxrwx 1 daniel root 21 abr 11 22:04 phpmyadmin -> /usr/share/phpmyadm

E pronto! A pasta é sua e você pode usar e executar a vontade nela.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *