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

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

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:

sudo chmod -rw 755 /opt/lampp/htdocs, 

Diz:"755" no such file or directory

Responder1

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

Você precisa configurar o diretório /opt/lampp/htdocs para que o usuário com o qual você está logado tenha permissão para escrever. Você também precisa garantir que o que você escreve lá possa ser lido por qualquer servidor web que o LAMPP use (infelizmente não estou familiarizado com o LAMP).

Primeiro você precisa ver quem é o proprietário de /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) são as permissões do arquivo. "lampp" é o proprietário do diretório e "www" é o proprietário do grupo do diretório. Você precisa observar este.

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

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

$ sudo groupadd www

Em seguida, altere o grupo no diretório:

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

Agora você precisa fazer o servidor web rodar como o grupo www. Se o servidor web for Apache, você deve verificar o arquivo /etc/apache/httpd.conf e editar a configuração "Grupo" de acordo. Não conheço a configuração de outros servidores web.

Agora é aqui que você pularia se não precisasse mudar o grupo de root para outro.

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 mudaram um pouco. Vamos explicar isso.

  • A primeira letra é o tipo de arquivo. Neste caso, "d" é para Diretório.
  • Os próximos três, "rwx", são as permissões que o proprietário (lampp) possui no diretor. 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 o x neste caso é na verdade um s - falaremos disso em um momento.
  • Os três últimos, "rx", são para todos os demais. Isso é lido e veja o conteúdo do diretório. Sem escrita.

O "s" nas permissões do grupo é chamado de bit "setgid". Esta é uma permissão especial que faz com que qualquer arquivo criado no diretório herde o proprietário do grupo do próprio diretório. Portanto, se o usuário "fred" no grupo "usuários" criar um arquivo lá, ele será propriedade de "fred" no grupo "www". Isso é muito útil para uma área compartilhada onde várias pessoas leem e gravam os mesmos arquivos.

Mas do jeito que está, você ainda não tem a capacidade de escrever nessa área. Por que? 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 início.

Você precisará sair e entrar novamente para que esta alteração tenha efeito - suas associações ao grupo são lidas no momento do login.

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

Se você tiver outros usuários no sistema que deseja permitir a gravação, basta adicioná-los ao grupo www com o usermod -aD www <username>comando.

Responder2

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

sudo chmod 777 -R /opt/lampp/htdocs

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

Responder3

você usa +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 e também de /opt/lampp/htdocs.

De qualquer forma, você não deveria usar o xampp - você pode obter uma instalação nativa mais atualizada de uma pilha de lâmpadas - você pode instalá-la com o Taskel.

Responder4

Para alterar a propriedade do grupo do diretório /opt/lampp/htdocse seu conteúdo para o grupo jade.

sudo chgrp -R jade /opt/lampp/htdocs

Então, se você quiser modificar as permissões (por exemplo, conceder jadeacesso de gravação ao grupo), normalmente usaria o comando chmod. Por exemplo:

sudo chmod -R g+w /opt/lampp/htdocs

informação relacionada