He estado siguiendo el tutorial enhttps://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-centos-7(junto con todos los tutoriales de requisitos previos) para configurar WordPress en mi nuevo servidor CentOS7. Todo funciona bien hasta este momento.
sudo chown -R apache:apache /var/www/html/*
Entiendo que el comando anterior asigna propiedad al usuario y grupo de Apache. Sin embargo, normalmente me conecto a través de PuTTY y Filezilla usando mi propia myuser
cuenta y me gustaría habilitar permisos para esa cuenta.
Entonces, además del comando anterior, también agregué myuser
al apache
grupo, cerré la sesión y volví a iniciarla, sin embargo, todavía recibo mensajes de error de permiso denegado cuando intento realizar operaciones CRUD en la carpeta html. Sin embargo, si elevo los comandos, sudo
funcionan, estoy un poco perplejo en cuanto a cómo permitir que la myuser
cuenta realice operaciones de archivos. ¿Algunas ideas?
Respuesta1
Querrá verificar la propiedad, los permisos y los contextos de Selinux.
Propiedad: parece que lo has hecho bien. Propietario: El grupo en CentOS7 debe ser apache:apache. Para su usuario deberá agregar apache como grupo suplementario. Puede verificar esto con id myuser
, si Apache no aparece en la lista de grupos, ejecute usermod -a -G apache myuser
.
Permisos: aparecen como rwxrwxrwx. el conjunto intermedio de rwx es la parte importante ya que controla el acceso a través del grupo (también es lo que importa para myuser). Probablemente solo necesitará permisos de lectura/escritura, por lo que chmod -R 664 directoryname
probablemente sea suficiente (lectura/escritura para usuarios y grupos de Apache, solo lectura para todos los demás). Puedes comprobar los permisos con ls -l
.
Nota: WordPress generalmente contiene un archivo '.htaccess' oculto, deberá aplicar manualmente el chmod a ese y a cualquier otro archivo oculto, ya que el chmod / chown recursivo los omitirá.
Contextos SELinux: puede consultarlos con ls -Z
. Para desactivar la aplicación de SELinux, puede ejecutar setenforce 0
- Esto es bueno para depurar si SELinux es el culpable o no; sin embargo, debe volver a activarlo cuando termine de probar usando setenforce 1
. Si SELinux es el problema, entonces probablemente lo que tendrá que hacer es cambiar el contexto de los archivos con algo comochcon -R -t httpd_sys_rw_content_t directoryname
Nota: Un chcon recursivo también omitirá archivos ocultos (cualquier archivo que comience con '.')
Nota al margen: si está utilizando enlaces simbólicos, debe asegurarse de que tanto el directorio vinculado como el enlace simbólico real tengan la propiedad/los permisos adecuados. Para apuntar a un enlace simbólico con chmod / chown, use la -h
bandera y, si apunta a un directorio, asegúrese de que la barra al final no esté presente (por ejemplo, /var/www/html/linked_dir
y no /var/www/html/linked_dir/
; tenga cuidado si usa la función de tabulación, ya que agregará automáticamente la barra al final).