Vsftpd: diferentes permisos de lectura y escritura para una carpeta para diferentes grupos de usuarios virtuales

Vsftpd: diferentes permisos de lectura y escritura para una carpeta para diferentes grupos de usuarios virtuales

He configurado Vsftpd en Ubuntu 16.04. Todo funciona bien, pero necesito una cosa más.

Digamos que tengo:

  • carpeta /var/www/carpeta1/uploads
  • Usuarios virtuales: admin1, admin2, admin3, cliente
  • Utilizo la carpeta vsftpd_user_conf para almacenar usuarios local_root

Quiero que los usuarios de adminX tengan permisos para leer/escribir en 'carpeta1' y 'cargas', pero quiero que el usuario 'cliente' solo tenga permiso de lectura para 'carpeta1' y permiso de lectura/escritura para 'cargas'. Ahora tengo la situación en la que la 'carpeta1' es de solo lectura y cada usuario con acceso a /var/www/folder1 puede escribir en 'cargas'. ¿Es posible?

$ ls -la /var/www/folder1
drwxrwxr-x 3 root   root    4096 May  9 17:14 .
drwxr-xr-x 3 root   root    4096 May  9 17:13 ..
drwxr-xr-x 2 vsftpd nogroup 4096 May  9 17:15 upload


$ vsftpd.conf:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
local_root=/var/www
chroot_local_user=YES
allow_writeable_chroot=YES
hide_ids=YES
#virtual user settings
user_config_dir=/etc/vsftpd_user_conf
guest_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
nopriv_user=vsftpd
guest_username=vsftpd

Respuesta1

¿Puedes proporcionar ls -la /var/www/folder1y tu cat vsftpd.conf?

Y, tal vez, puedas usar esto:

user_config_dir

Esta poderosa opción permite anular cualquier opción de configuración especificada en la página del manual, por usuario. El uso es simple y se ilustra mejor con un ejemplo:

Si configura user_config_dir como usuario /etc/vsftpd_user_confy luego inicia sesión como usuario chris, vsftpdse aplicará la configuración en el archivo /etc/vsftpd_user_conf/chrisdurante la sesión. El formato de este archivo es el que se detalla en esta página de manual (consulte el enlace a continuación).


TENGA EN CUENTAque no todas las configuraciones son efectivas para cada usuario. Por ejemplo, muchas configuraciones solo antes de que se inicie la sesión del usuario. Ejemplos de configuraciones que no afectarán ningún comportamiento por usuario incluyen:

  • dirección_escucha
  • archivo_banner
  • max_per_ip
  • clientes maximos
  • archivo_xferlog
  • etc...

De forma predeterminada, ninguno de estos está configurado.


dePágina de manual VSFTPD.CONF

información relacionada