Управление произвольными разрешениями пользователя в PureFTPd

Мне нужно предоставить FTP-сервис, которым нужно управлять через Интернет самым простым способом. Мой клиент хочет создавать папки и пользователей и предоставлять им только чтение или произвольный доступ для чтения / записи.

Например:

Папка «Документы» должна быть прочитана только для нескольких пользователей, доступна для записи для внутренних пользователей и невидима для остальных.

Папка «Изображения» должна быть доступна только для журналистов, доступна для записи и невидима для остальных.

Папка «Медиа» должна быть доступна только для чтения, доступна для записи или невидима для произвольных пользователей, указанных администратором.

Там может быть большое количество пользователей и папок.

Я не могу найти хороший способ сделать это.

Я думал, что мог бы дать каждому пользователю домашнюю папку и поместить символические ссылки для папок, к которым у него есть доступ для чтения, и сделать пользователя частью группы папок, когда у него тоже есть права на запись, но теперь я думаю, что это не Это не работает, потому что с PureFTPd (или ProFTPd) я могу указать только сопоставление виртуального пользователя системному пользователю и только один GUID для каждого виртуального пользователя. Мой подход требует, чтобы я мог указать несколько GUID для каждого пользователя (по одному на каждую папку, к которой у него есть права на запись).

Мне нужно начать программировать этого администратора, и я до сих пор не знаю, какой подход сработает, если таковой будет.

Вопрос в том, как дать произвольные разрешения 20 папкам или около того большому количеству пользователей FTP?

3
задан 17 January 2011 в 17:09

1 ответ

ACL будет работать на вас? Для Ubuntu 10.10 монтируйте файловые системы с опцией acl.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 по умолчанию, acl 0 1

sudo mount -o remount,acl /

(или, может быть, существует отдельный / home / раздел?) Создайте группы для этого цель.

sudo groupadd journalists
sudo groupadd associates
sudo usermod -a -G journalists $username_1
sudo usermod -a -G associates $username_2

(Пользователям необходимо выйти из системы и войти снова, чтобы стать членом группы.)

Просто для иллюстрации каталога / home / ftp / Pictures для выполнения «Папка «Рисунки» должны быть доступны только для журналистов, доступны для записи и невидимы для остальных. »:

sudo chown -R root.associates /home/ftp/Pictures
sudo chmod 0770 /home/ftp/Pictures
sudo chmod g+s /home/ftp/Pictures
sudo setfacl -d -m u::rwx,g::rwx,o::--- /home/ftp/Pictures
sudo setfacl -d -m u::rwx,g:journalists:r-x,o::--- /home/ftp/Pictures

Теперь у вас есть члены группы сотрудников, которые могут читать / писать все в / home / ftp / Картинки, в то время как журналисты могут только читать (выполнять), а все остальные не имеют никакого разрешения.

Если мы хотим ограничить удаление и переименование для всех, кроме пользователя, который создал файл:

sudo chmod +t /home/ftp/Pictures
0
ответ дан 17 January 2011 в 17:09

Другие вопросы по тегам:

Похожие вопросы: