
Два пользователя:
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>
раздел (это позволит перезаписывать данные только в этом каталоге и только если это разрешено правами доступа к файлу).
Если это не сообщения об ошибках, пожалуйста, добавьте больше подробностей к вашему вопросу — как минимум сообщение об ошибке и, желательно, выдержку из журнала.