Conceder acceso FTP a un directorio específico

Conceder acceso FTP a un directorio específico

Configuré CentOS en una caja de mi red local e instalé httpd, PHP, Webmin (y UserMin), etc. Opté por ProFTPd y abrí puertos para FTP, Webmin y Apache.

Ahora puedo acceder a Webmin a través de la red local y ver la página de prueba predeterminada de Apache. También puedo realizar una conexión sfpt como el usuario que creé. Sin embargo, no puedo escribir archivos en /var/www/ a través de FTP.

¿Qué debo hacer para permitir que uno o más usuarios accedan al directorio correspondiente?

Respuesta1

Si bien la respuesta de LDJames (ya no está aquí) me puso en el tema de los usuarios y grupos, no fue del todo útil. Afortunadamente, fue suficiente para involucrar a Google. Estos son los pasos que tomé para resolver el problema.

La carpeta era propiedad de root, lo que no sería un buen grupo al que agregar un usuario. La solución fue crear un grupo especial. Lo llamé "www" porque soy así de inventivo. Luego, mover la carpeta html a ese grupo.

<user>es el nombre de usuario del usuario en mi sistema

  1. su a root (o use sudo en cada línea)
  2. groupadd www(Hacer grupo)
  3. usermod -a -G www <user>(Agrega el usuario al grupo)
  4. navega a /var/www/
  5. chgrp www html(establezca la carpeta en el grupo)
  6. chmod g+rwx html(permitir el acceso de grupo a la carpeta; consulte tambiénhttp://ss64.com/bash/chmod.htmllo cual fue bastante útil)

Resultado: ahora puedo cargar archivos y podría hacer que otros usuarios también lo hagan si así lo deseo.

  1. Ante alguna indicación, también configuré Apache para que se ejecute como el grupo www.

Esto se hace estableciendo las variables ambientales (cuya ubicación exacta difiere según el tipo de Linux).

A pesar de otras respuestas, la forma correcta de hacerlo es:

export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www

Lo anterior supone que también he creado un usuario llamado www, mientras que debido a que se trata de un cuadro de desarrollo en mi escritorio, estoy feliz de que Apache se ejecute como root por ahora.

Descubrí cómo configurar el usuario y el grupo de Apache a través de:¿Con qué usuario deberían ejecutarse Apache y PHP? ¿Qué permisos deben tener los archivos /var/www?

información relacionada