Vsftpd - diferentes permissões de leitura/gravação para uma pasta para diferentes grupos de usuários virtuais

Vsftpd - diferentes permissões de leitura/gravação para uma pasta para diferentes grupos de usuários virtuais

Eu configurei o Vsftpd no Ubuntu 16.04. Tudo funciona bem, mas preciso de mais uma coisa.

Digamos que eu tenha:

  • pasta /var/www/pasta1/uploads
  • Usuários virtuais: admin1, admin2, admin3, cliente
  • Eu uso a pasta vsftpd_user_conf para armazenar usuários local_root

Quero que os usuários adminX tenham permissões para r/w em 'pasta1' e 'uploads', mas quero que o usuário 'cliente' tenha apenas permissão de leitura para 'pasta1' e permissão de leitura/gravação para 'uploads'. Agora tenho uma situação em que 'pasta1' é somente leitura e todos os usuários com acesso a/var/www/pasta1 podem escrever em 'uploads'. É possível?

$ 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

Responder1

Você pode fornecer ls -la /var/www/folder1e o seu cat vsftpd.conf?

E, talvez, você possa usar isto:

user_config_dir

Esta opção poderosa permite a substituição de qualquer opção de configuração especificada na página de manual, por usuário. O uso é simples e é melhor ilustrado com um exemplo:

Se você definir user_config_dir como /etc/vsftpd_user_confe, em seguida, efetuar logon como usuário chris, vsftpdas configurações no arquivo serão aplicadas /etc/vsftpd_user_conf/chrisdurante a sessão. O formato deste arquivo é detalhado nesta página de manual (veja o link abaixo).


OBSERVEque nem todas as configurações são efetivas por usuário. Por exemplo, muitas configurações somente antes do início da sessão do usuário. Exemplos de configurações que não afetarão nenhum comportamento por usuário incluem:

  • endereço_de_escuta
  • arquivo_banner
  • max_per_ip
  • max_clients
  • arquivo_xferlog
  • etc...

Por padrão, nenhum deles está definido.


dePágina de manual VSFTPD.CONF

informação relacionada