Podrías usar ACL. Para configurar ACL para Ubuntu 10.10, primero monte los sistemas de archivos con la opción acl en / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 por defecto, acl 0 1
sudo mount -o remount,acl /
Luego, cree un grupo al que pueda pertenecer un usuario para este propósito.
sudo groupadd developers
sudo usermod -a -G developers $username
El usuario debe cerrar sesión y volver a ingresar para convertirse en miembro del grupo de desarrolladores.
Por supuesto, no haga esto si tiene contenido en el directorio / var / www que desea, sino solo para ilustrar cómo configurarlo para comenzar:
sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root.developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
Luego reemplace las referencias a "/ var / www" con "/ var / www / public" en un archivo de configuración y vuelva a cargar.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Si quisiéramos restringir la eliminación y el cambio de nombre de todos menos el usuario que creó el archivo:
sudo chmod +t /var/www/public
De esta manera, si queremos crear directorios para marcos que existen fuera de la raíz del documento de Apache o tal vez crear directorios que se puedan escribir en el servidor, todavía es fácil.
Directorio de registros grabables de Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Directorio de bibliotecas legibles por Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/lib
sudo chmod 0750 /var/www/lib
chmod g+s
ysetfacl
comandos hicieron (y sus parámetros).Estoy seguro de que ya resolvió esto, por lo que es para cualquier persona con una solicitud similar
ejecute el comando "cambiar propiedad" en su carpeta webroot:
Esto hará que el propietario reemplace "manny" con su nombre de usuario, permitiéndole escribir / leer dentro de la carpeta www
fuente
Si su servidor web ni siquiera puede leer los archivos, es muy probable que los permisos
new-file.php
sean algo así como 600 (lectura y escritura para el propietario). Busque una configuración de umask en su aplicación FTP y asegúrese de que sea algo así como 007.Si su aplicación web necesita modificar los archivos (u otras operaciones que solo pueden ser realizadas por el propietario del archivo), necesita otro enfoque. Si está usando Apache, debería considerar usar itk MPM . Con ese módulo, puede hacer que Apache ejecute / abra los archivos usando el mismo usuario que "ftpuser". Si necesita más información sobre este tema, agregue un comentario.
fuente