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>
.