Ejecuto un pequeño servidor web básicamente solo para alojar proyectos y archivos de datos pequeños. Este servidor tiene una dirección IP pública.
Me gustaría poder enviar por FTP y cargar archivos directamente a /var/www/*
, por lo que estoy considerando permitir que www-data
usuario para tener una contraseña e iniciar sesión directamente. Esto también evitaría tener que cambiar la propiedad del archivo cada vez que hago algo en un directorio web (que actualmente estoy haciendo como root, por lo que también hay un riesgo de seguridad).
¿Existe algún riesgo de seguridad al permitir que el usuario de www-data inicie sesión? Si es así, ¿cuál es la mejor alternativa?
Respuesta aceptada:
Un riesgo de seguridad es que posiblemente pueda matar o abordar el servidor web en sí (porque entonces está usando el mismo usuario). Probablemente esto no sea lo que desea. Lo mismo probablemente cuando usas root, correcto.
Dos soluciones:
-
Haz un subdirectorio debajo de
/var/www
por ti mismo, muéretelo y luego usa tu propio usuario. (o crea uno nuevo)Ejemplo:
[email protected]# mkdir /var/www/joes-toys [email protected]# chown joeuser:joegroup /var/www/toys [email protected]# chmod u=rwx,g=rx,o=rx
-
Coloque su usuario (el suyo propio o uno nuevo) en el grupo www-data y asegúrese de que el grupo tenga permiso de escritura en
/var/www
Ejemplo:
[email protected]# adduser joeuser www-data [email protected]# chgrp -R www-data /var/www [email protected]# chmod -R g+w /var/www
PD:¡No uses FTP sin cifrar en estos días! Use sftp (de la suite ssh) o al menos ftps (ftp sobre ssl).