Общий FTP-сервер Linux: ни один файл не должен быть удален

Общий FTP-сервер Linux: ни один файл не должен быть удален

Два пользователя:

A1:x:1001:1002::/home/A1:/bin/sh
A2:x:1002:1002::/home/A1:/bin/sh

Одна группа:

A1:x:1002:

FTP-сервер: новая установка ProFTPd OS: новая установка Ubuntu Server 12.04

Одна папка (/home/A1), которую я хочу сделать общей для A1 и A2:

/home/A1: A1:A1 rwxrwxr-x
/home/A1/B1.txt: A1:A1 rw-rw-r--
/home/A2/B2.txt: A1:A1 rw-r--r--

Что я хочу:

  • B1.txt должен быть изменяем A1 и A2
  • Файл B1.txt может изменяться пользователем A1, но не пользователем A2, поэтому A2 может только читать его.

Когда я сейчас подключаюсь к FTP, A2 может изменять что угодно, и я не совсем понимаю это. Если я удалю групповое разрешение на запись из /home/A1 (то есть rwxr-xr-x), A2 не сможет ничего изменять.

Что я делаю не так?

решение1

Загрузка файла происходит путем создания нового временного файла и перемещения его на место, а не путем перезаписи существующего файла. Это связано с тем, что если соединение было потеряно в процессе перезаписи файла, вы бы остались с неполным файлом.

Загрузка нового файла, удаление существующего файла и загрузка новой версии существующего файла требуют только права записи в каталог. Разрешения на существующий файл, если таковые имеются, не имеют значения. Таким образом, A2 может в равной степени изменять B1.txtи B2.txt.

Если вам нужны разные разрешения для обновления этих двух файлов, поместите их в разные каталоги с разными разрешениями.

Если вам нужно, чтобы оба файла были доступны в одном каталоге, создайте B1.txtсимволическую ссылку на writable-by-A2/B1.txtкаталог writable-by-A2, в котором у A2 есть разрешение на запись.

решение2

Какое сообщение об ошибке вы получаете?

Если возникает ошибка «Отказано в разрешении на перезапись», то вам необходимо включить перезапись в вашем компьютере proftpd.conf— по умолчанию она отключена.

Для этого добавьте:

AllowOverwrite yes

либо в <Global>раздел (это позволит перезаписывать данные в любом месте, где это разрешено правами доступа к файлу), либо в <Directory /home/A1>раздел (это позволит перезаписывать данные только в этом каталоге и только если это разрешено правами доступа к файлу).

Если это не сообщения об ошибках, пожалуйста, добавьте больше подробностей к вашему вопросу — как минимум сообщение об ошибке и, желательно, выдержку из журнала.

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