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/folder1
y 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_conf
y luego inicia sesión como usuario chris
, vsftpd
se aplicará la configuración en el archivo /etc/vsftpd_user_conf/chris
durante 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.