linux - descargar - instalar apache en debian
Configurando la umask del usuario Apache (9)
Agregar a la respuesta de Luoti / Spider Man para CentOS7: en lugar de "iniciar" después del cambio, estos comandos se pueden utilizar:
systemctl daemon-reload
service httpd restart
Estoy configurando un servidor LAMP y me gustaría establecer la configuración umask de Apache en 002 para que todos los archivos creados por Apache tengan el conjunto de permisos de escritura de grupo (para que los miembros del mismo grupo puedan sobrescribir los archivos).
¿Alguien sabe como hacer esto? Sé que en Ubuntu, puede usar el archivo / etc / apache2 / envvars para configurar umask, pero el servidor ejecuta CentOS.
Actualización Esta pregunta está relacionada con otra que hice hace un tiempo ( usuarios de Linux y grupos para un servidor LAMP ). Si lo prefiere, actualice esta otra pregunta con cuál es la mejor configuración para usar para tener un usuario desarrollador en un servidor que pueda editar archivos creados por el usuario de apache.
Agregar un comando umask
a /etc/apache2/envvars
no me parece una buena idea, no solo por el nombre del archivo (mencionando solo variables) sino también basado en este comentario encontrado en ese archivo:
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
Esto sugiere que /etc/apache2/envvars
podría tener su origen en cualquier script que realice tareas relacionadas con Apache, y cambiar la umask de esos (desconocidos de antemano) scripts es bastante peligroso.
Por otro lado, en caso de que la idea de cambiar el umask de los objetivos Apache mod_dav
los permisos de los archivos creados por mod_dav
, debe considerar que el repositorio DAV se considera privado para Apache y permitir que otros procesos accedan a esos archivos puede generar varios isses ( incluida la corrupción) .
Apache hereda su umask
de su proceso principal (es decir, el proceso que inicia Apache); esto debería ser típicamente el script /etc/init.d/
. Así que pon un comando umask
en ese script.
En Debian, otro lugar para configurar umask para Apache es / etc / default / apache2. Solo esta línea al final de este archivo: umask 0002
Este fue el primer resultado en los resultados de búsqueda de Google para "CentOS 7 apache umask", por lo que compartiré lo que tenía que hacer para que esto funcione con CentOS 7.
Con CentOS 7 el echo "umask 002" >> /etc/sysconfig/httpd
-method no funcionó para mí.
Sobreescribí el archivo de inicio del sistema creando una carpeta /etc/systemd/system/httpd.service.d
y allí creé un archivo umask.conf con líneas:
[Service]
UMask=0007
Arrancado y funcionó para mí.
Lo que puede hacer es establecer el bit de los bits pegajosos ( SetGID
) en el directorio con el que está trabajando su CGI:
chgrp mygroup dir chmod g+s dir
Cuando lo haga, asegúrese de que el (usuario) apache esté en el grupo mygroup
(en /etc/group
), por lo que tendrá permisos.
Esto lo hará para que cualquier archivo creado bajo este directorio sea propiedad del mismo grupo que el directorio.
Este es un enfoque más seguro que establecer una umask global para CADA script cgi que apache pueda ejecutar.
(Así es como git-http-backend
generalmente se ejecuta desde Apache).
Para CentOS y otras distribuciones de Red Hat, agregue la configuración umask a / etc / sysconfig / httpd y reinicie Apache.
[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd [root ~]$ service httpd restart
Más información: Apache2 umask | MDLog: / sysadmin
Para los sistemas Debian y Ubuntu, también editaría /etc/apache2/envvars
.
Para Ubuntu hay una herramienta svnwrap
- Instalar
sudo apt-get install subversion-tools
- Ajustar svn y svnserve con svnwrap:
sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
sudo ln -s /usr/bin/svnwrap /usr/local/bin/svnserve
Después de esto, todas las operaciones de svn que usan los protocolos file: //, svn + ssh: // y http: // se realizarán con umask 002
Por lo general, no se recomienda alejarse del "modo apache probado y verdadero". Se ha dedicado mucho tiempo y se ha ganado una dura experiencia en la selección de tales cosas.