Soy desarrollador web. Estoy permitiendo el acceso SSH a mi máquina a un par de personas.
Quiero asegurarme de que no puedan acceder a mis archivos en formato /var/www/
.
Entonces, ¿es posible hacer que estos archivos sean legibles sólo para el servidor web y otorgar acceso de lectura/escritura al usuario root?
Respuesta1
Supongo que se llama al usuario de Apache www-data
. Si desea que los archivos /var/www/
sean legibles solo por este usuario, debe otorgarle propiedad:
sudo chown -R www-data /var/www/
Ahora quieres www-data
ser el único usuario que realmente pueda leerlos/escribirlos:
sudo chmod -R 700 /var/www/
Tenga en cuenta que root
siempre tiene acceso de lectura/escritura a cualquier archivo, independientemente de los permisos. Ya sea que esta configuración sea una buena idea o no, bueno, prefiero hacer chroot a estos usuarios SSH en sus carpetas de inicio. Ver¿Puedo crear un usuario SSH que pueda acceder solo a cierto directorio?
Respuesta2
Dependiendo del usuario de su servidor web (normalmente www-data):
chown www-data /var/www
chmod -R 700 /var/www
Esto establecerá que el usuario www-data sea el propietario de su directorio /var/www y permitirá acceder al directorio solo al propietario.
Respuesta3
Es posible que desee convertir a root u otro usuario en propietario de su contenido web. Esto evitará que el servidor web sobrescriba el contenido si alguien obtiene acceso a través de un script u otro punto de entrada. Reemplace root
estos comandos con cualquier usuario del que desee que sea propietario del contenido.
chown -R root:www-data /var/www
chmod 2750 /var/www
Para permitir que user
(que no sea root) mantenga el contenido, deberá agregar el usuario al grupo www-data.
adduser user www-data
Algunas aplicaciones web pueden tener algunos directorios donde escriben contenido dinámico. Para permitir el acceso, cambie el propietario a www-data o permita la escritura grupal.