
¿Cómo configuro el permiso para poder hacerlo? La opción "Crear nueva carpeta" está atenuada.
Probé esto:
sudo chmod -rw /opt/lampp/htdocs
Pero todavía no funciona. Cuando agrego:
sudo chmod -rw 755 /opt/lampp/htdocs,
Dice:"755" no such file or directory
Respuesta1
Está confundiendo cómo funcionan chmod y los permisos de archivos Unix.
Debe configurar el directorio /opt/lampp/htdocs para que el usuario con el que inició sesión tenga permiso para escribir. También debe asegurarse de que lo que escriba allí pueda ser leído por cualquier servidor web que utilice LAMPP (desafortunadamente, no estoy familiarizado con LAMP).
Primero debes ver quién es el propietario de /opt/lampp/htdocs:
$ ls -ld /opt/lampp/htdocs
Debería devolver algo como:
drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs
El primer bit (dwrxr-xr-x) son los permisos del archivo. "lampp" es el propietario del directorio y "www" es el propietario del grupo del directorio. Necesitas tomar nota de este.
Primero que nada, clasifiquemos el grupo. Si el grupo no es "root", entonces todo está bien y puedes saltarte esta sección:
Si es "root", será necesario cambiarlo a algo más sensato. Hagamos un nuevo grupo al que pertenecer:
$ sudo groupadd www
Luego cambie el grupo en el directorio:
$ sudo chgrp -R www /opt/lampp/htdocs
Ahora necesitas hacer que el servidor web se ejecute como el grupo www. Si el servidor web es Apache, entonces debe verificar el archivo /etc/apache/httpd.conf y editar la configuración del "Grupo" en consecuencia. No conozco la configuración de otros servidores web.
Aquí es donde pasarías si no necesitaras cambiar el grupo de raíz a otra cosa.
Ahora necesitamos abordar los permisos en el directorio. Queremos utilizar algunos permisos muy especiales, llamados bits "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
Verá que los permisos ahora han cambiado un poco. Expliquemos estos.
- La primera letra es el tipo de archivo. En este caso "d" es para Directorio.
- Los tres siguientes, "rwx", son los permisos que tiene el propietario (lampp) sobre el director. r = leer, w=escribir y x=ver el contenido del directorio.
- Los siguientes tres, "rws", son para el propietario del grupo (www), pero notará que la x en este caso es en realidad una s; llegaremos a eso en un momento.
- Los últimos tres, "rx", son para todos los demás. Eso es leer y ver el contenido del directorio. Sin escritura.
La "s" en los permisos del grupo se llama bit "setgid". Este es un permiso especial que hace que cualquier archivo creado en el directorio herede el propietario del grupo del propio directorio. Entonces, si el usuario "fred" del grupo "usuarios" crea un archivo allí, será propiedad de "fred" del grupo "www". Esto es muy útil para un área compartida donde varias personas leen y escriben los mismos archivos.
Pero tal como está, todavía no tienes la capacidad de escribir en esa área. ¿Por qué? Porque no estás en el grupo "www". Rectifiquemos eso ahora:
$ sudo usermod -aG www blub
Reemplace "www" con el propietario del grupo del directorio /opt/lampp/htdocs que anotó cerca del principio.
Deberá cerrar sesión y volver a iniciarla para que este cambio surta efecto: las membresías de su grupo se leen al momento de iniciar sesión.
Una vez que haya hecho eso, de repente debería descubrir que ahora puede escribir archivos mágicamente en /opt/lampp/htdocs.
Si tiene otros usuarios en el sistema a los que desea permitirles escribir allí, simplemente agréguelos al grupo www con el usermod -aD www <username>
comando.
Respuesta2
Este simple comando de terminal me dio permisos completos htdocs
y pude comenzar a trabajar en proyectos PHP.
sudo chmod 777 -R /opt/lampp/htdocs
En respuesta al comentario de Muhammed, sería mejor utilizarsudo chmod 755 -R /opt/lampp/htdocs
Respuesta3
usas O +rw O los octales, no ambos.
Lo que estás intentando hacer es eliminar los privilegios de lectura y escritura de un directorio llamado 755 así como de /opt/lampp/htdocs.
En cualquier caso, no debería utilizar xampp; puede obtener una instalación nativa más actualizada de una pila de lámparas; puede instalarla con taskel.
Respuesta4
Para cambiar la propiedad del grupo del directorio /opt/lampp/htdocs
y su contenido al grupo jade
.
sudo chgrp -R jade /opt/lampp/htdocs
Luego, si desea modificar los permisos (por ejemplo, otorgarle al grupo jade
acceso de escritura), normalmente usará el comando chmod. Por ejemplo:
sudo chmod -R g+w /opt/lampp/htdocs