Vsftpd - разные права на чтение и запись для одной папки для разных групп виртуальных пользователей

Vsftpd - разные права на чтение и запись для одной папки для разных групп виртуальных пользователей

Я настроил Vsftpd на Ubuntu 16.04. Все работает отлично, но мне нужна еще одна вещь.

Допустим, у меня есть:

  • папка /var/www/folder1/uploads
  • Виртуальные пользователи: admin1, admin2, admin3, customer
  • Я использую папку vsftpd_user_conf для хранения пользователей local_root

Я хочу, чтобы пользователи adminX имели разрешения на чтение/запись в 'folder1' и 'uploads', но я хочу, чтобы пользователь 'customer' имел только разрешение на чтение в 'folder1' и разрешение на чтение/запись в 'uploads'. Теперь у меня ситуация, когда 'folder1' доступен только для чтения, и каждый пользователь с доступом к /var/www/folder1 может писать в 'uploads'. Возможно ли это?

$ 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

решение1

Можете ли вы предоставить ls -la /var/www/folder1и ваш cat vsftpd.conf?

И, возможно, вам подойдет это:

user_config_dir

Эта мощная опция позволяет переопределять любую опцию конфигурации, указанную на странице руководства, для каждого пользователя. Использование простое и лучше всего проиллюстрировано на примере:

Если вы установите user_config_dir на /etc/vsftpd_user_confи затем войдете в систему как пользователь chris, то vsftpdнастройки в файле будут применены /etc/vsftpd_user_conf/chrisна протяжении сеанса. Формат этого файла подробно описан на этой странице руководства (см. ссылку ниже).


ПОЖАЛУЙСТА, ОБРАТИ ВНИМАНИЕчто не все настройки эффективны для каждого пользователя. Например, многие настройки действуют только до начала сеанса пользователя. Примеры настроек, которые не повлияют ни на какое поведение для каждого пользователя, включают:

  • прослушивать_адрес
  • файл_баннера
  • max_per_ip
  • макс_клиентов
  • xferlog_файл
  • и т. д...

По умолчанию ни один из этих параметров не установлен.


отСтраница руководства VSFTPD.CONF

Связанный контент