Estoy ejecutando un servidor web y un servidor FTP, en el que /var/www
está obligado /home/user/www
.
Configuré ambos directorios en chmod 777
(lo cual está bien ya que es solo para pruebas).
Puedo cargar archivos /home/user/www
, pero cada vez que creo un nuevo directorio, siempre tengo que ejecutar chmod 777
esa carpeta.
De lo contrario, cuando intento buscarlo, aparece el mensaje de error
No tiene permiso para acceder / probar / en este servidor.
¿Hay alguna manera de que /var/www
cualquiera pueda acceder a todas las subcarpetas ? ¿O podrían sus permisos configurarse automáticamente 777
? Es molesto que tenga que escribir chmod 777
todo el tiempo.
permissions
apache2
chmod
usuario1645034
fuente
fuente
Respuestas:
Esta es una mala práctica, pero espero que solo la esté utilizando para el desarrollo, o tenga otra buena razón. Puede especificar los permisos cuando crea un directorio utilizando la
-m
opción:O puede establecer los permisos de forma recursiva.
Antes de usar cualquiera de estos, considere realmente si desea que su sistema de archivos sea tan accesible.
Editar: como mencionó Rinzwind, aquí hay una mejor manera de lograr lo que quieres.
Verifique qué grupo posee su
/var/www
directorio y agregue su usuario a ese grupo.El grupo es probablemente
www-data
.Entonces estará de acuerdo con establecer sus permisos en 775.
fuente
Los archivos y directorios en Unix pueden tener tres tipos de permisos: lectura (
r
), escritura (w
) y ejecución (x
). Cada permiso puede seron
ooff
para cada una de las tres categorías de usuarios: el propietario del archivo o directorio; otras personas en el mismo grupo que el propietario; y todos los demas Para cambiar el modo de un archivo, use el comando chmod. La forma general es chmod X @ Y file1 file2 ...fuente
para el ftp que crea todos los archivos con diferentes permisos, es posible que desee buscar la máscara de ftpd, cómo se inicia ese demonio
Eche un vistazo a este sitio https://linuxaria.com/article/linux-shell-understanding-umask-with-examples
fuente
Anuncio de servicio publico:
Nunca use chmod 777 para solucionar problemas
Es un gran riesgo de seguridad si ejecuta algún servicio disponible para el público, especialmente aplicaciones web (por ejemplo, PHP).
El modelo de seguridad del sistema operativo supone que muchos servicios (como su servidor web) se ejecutan con privilegios reducidos, para evitar que puedan modificar archivos. Establecer 777 en archivos rompe este diseño.
Un usuario remoto podría escribir o cargar archivos y luego engañar al servidor (o algún otro proceso en su sistema) para que los lea o los ejecute. Los scripts o el software pueden tener fallas que lo permitan. Es muy difícil bloquear todas las formas en que esto podría suceder si hay directorios de escritura mundial.
Utilizado en ciertos directorios del sistema (/ usr, / etc, / var, etc.), puede dañar su sistema de formas sorprendentes.
Algunos archivos esenciales del sistema necesitan permisos especiales como los permisos setuid / setgid para poder ejecutarse. Por ejemplo, sudo. Evite cambiar los permisos de archivos en directorios y archivos configurados por el propio sistema.
No hay forma de deshacerlo y recuperar todos los permisos anteriores.
Es decir, si antes tenía archivos y carpetas con varios permisos diferentes, no hay forma de volver a esos permisos específicos, solo para cambiarlos a lo mismo, lo que puede perder cualquier configuración de permisos específica que se necesitaba en archivos específicos.
Siempre hay una forma más apropiada de lograr lo que quieres lograr.
En este caso, parece que solo desea que su servidor web pueda leer un directorio. Otorgar permisos de escritura mundial es mucho más de lo que necesita hacer.
Localice por qué el servidor web no puede leer ese directorio (sugerencia: probablemente se deba a que su directorio personal no puede leerse en todo el mundo. El mundo en lectura es mucho más seguro que en todo el mundo: configure su directorio de inicio en algo así como 755, o mueva ese directorio www fuera de su casa a algún lugar como / var / www o / srv).
fuente
Esto no me funciona.
Tengo que usar
-f
también.fuente
Si desea copiar permisos y / o propiedad de otro archivo con el que esté satisfecho, puede hacerlo usando sudo chmod --reference = path / to / file / to / reference path / to / file / you / want / a / cambio / permissino / a
Y también puede hacer lo mismo para la propiedad del archivo.
fuente