Não é possível criar nenhuma pasta no htdocs no Ubuntu

4

Como faço para definir a permissão para que eu possa? A opção "Criar nova pasta" está esmaecida. Eu tentei isso: sudo chmod -rw / opt / lampp / htdocs

Mas ainda não funciona. Quando eu adiciono o sudo chmod -rw 755 / opt / lampp / htdocs, ele diz: "755" nenhum arquivo ou diretório desse tipo

    
por Blub 10.04.2011 / 12:09

3 respostas

15

Você está confundindo o modo como as permissões de arquivo chmod e unix operam.

Você precisa configurar o diretório / opt / lampp / htdocs para que o usuário com o qual você efetuou login tenha permissão para gravar. Você também precisa garantir que o que você escreve lá pode ser lido por qualquer servidor web LAMPP usa (eu não estou familiarizado com LAMP, infelizmente.)

Primeiro, você precisa saber quem é o proprietário / opt / lampp / htdocs:

$ ls -ld /opt/lampp/htdocs

Deve retornar algo como:

drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

O primeiro bit (dwrxr-xr-x) é o arquivo de permissões. "lampp" é o proprietário do diretório e "www" é o proprietário do grupo do diretório. Você precisa anotar este aqui.

Primeiro, vamos classificar o grupo. Se o grupo é qualquer coisa, exceto "root", então tudo está bem e você pode pular esta seção:

Se for "root", será necessário mudar para algo mais sensato. Vamos criar um novo grupo para ele pertencer:

$ sudo groupadd www

Em seguida, altere o grupo no diretório:

$ sudo chgrp -R www /opt/lampp/htdocs

Agora, você precisa executar o servidor da Web como o grupo www. Se o servidor web for o Apache, você deve verificar o arquivo /etc/apache/httpd.conf e editar a configuração "Grupo" de acordo. Eu não sei a configuração para outros servidores da Web.

Agora, esse é o lugar para o qual você deve pular se não precisar alternar o grupo do root para outra coisa.

Agora precisamos abordar as permissões no diretório. Queremos usar algumas permissões muito especiais, chamadas de bit "setgid".

$ sudo chmod 2775 /opt/lampp/htdocs
$ ls -ld /opt/lampp/htdocs
drwxrwsr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

Você vê que as permissões agora mudaram um pouco. Vamos explicar isso.

  • A primeira letra é o tipo de arquivo. Neste caso, "d" é para o diretório.
  • Os próximos três, "rwx", são as permissões que o proprietário (lampp) tem no directort. r = ler, w = escrever e x = ver o conteúdo do diretório.
  • Os próximos três, "rws" são para o proprietário do grupo (www), mas você percebe que x neste caso é na verdade um s - nós chegaremos a isso em um momento.
  • Os últimos três, "r-x", são para todo mundo. Isso é lido e veja o conteúdo do diretório. Sem escrever.

O "s" nas permissões do grupo é chamado de bit "setgid". Essa é uma permissão especial que faz com que todos os arquivos criados no diretório herdem o proprietário do grupo do próprio diretório. Então, se o usuário "fred" no grupo "users" fizer um arquivo lá, ele será de propriedade de "fred" no grupo "www". Isso é muito útil para uma área compartilhada onde várias pessoas lêem e escrevem os mesmos arquivos.

Mas, do jeito que está, você ainda não tem capacidade de escrever para essa área. Por quê? Porque você não está no grupo "www". Vamos corrigir isso agora:

$ sudo usermod -aG www blub

Substitua "www" pelo proprietário do grupo do diretório / opt / lampp / htdocs que você anotou perto do começo.

Você precisará sair e entrar novamente para que essa alteração entre em vigor - suas participações no grupo são lidas no momento do login.

Depois de fazer isso, você deve descobrir que agora pode gravar magicamente arquivos em / opt / lampp / htdocs.

Se você tem outros usuários no sistema que você quer permitir gravar lá, basta adicioná-los ao grupo www com o comando usermod -aD www <username> .

    
por 10.04.2011 / 12:28
2

Este simples comando de terminal me deu permissões completas para htdocs e eu pude começar a trabalhar em projetos PHP

sudo chmod 777 -R /opt/lampp/htdocs

Em resposta ao comentário de Muhammed, seria melhor usar sudo chmod 755 -R /opt/lampp/htdocs

    
por 31.08.2014 / 05:03
1

você usa OU + rw OU os octais , não ambos.

O que você está tentando fazer é remover privilégios de leitura e gravação de um diretório chamado 755, bem como / opt / lampp / htdocs.

Em qualquer caso, você não deveria estar usando o xampp - você pode obter uma instalação mais atualizada, uma instalação nativa de uma pilha de lâmpadas - você pode instalá-lo com o tasksel.

    
por 10.04.2011 / 12:23