Войти

Показать полную графическую версию : ProFTPd не могу закачать файлы на сервер


Призрак
30-09-2011, 18:44
Здравствуйте уважаемые участники дискуссии

На FreeBSD 8.2 поставил я proFTPd, настроил, и попробовал подключиться к нему через filezilla. Подключение прошло успешно, я вижу папку, могу в нее заходить и скачивать из нее файлы. Но когда я пытаюсь перетащить файлы с рабочего стола на FTP (закачать их на сервер) то мне выдаются то одна, то другая ошибка (видимо по настроению FTP сервера):

permission denied
operation not permitted

Первая ошибка по видимому обозначает, что недостаточно прав для записи в данную папку. Но я настраивал proftpd.conf следующим образом:

Umask 22

User proftpd
Group proftpdgrp (я создал ее самостоятельно)

<directory /data/ftpdata>
<limit READ DIRS>
Order allow,deny
AllowGroup proftpgroup
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
</directory>

<directory /data/ftpdata/folder1>
<limit READ DIRS>
Order allow,deny
AllowUser Pavel (это системный юзер, я создавал его сам)
DenyAll
</limit>
<limit WRITE>
Order allow,deny
AllowUser Pavel
DenyAll
</limit>
</directory>

Далее я выполнил следующие действия:

#chown -R proftpd:proftpdgrp /data/ftpdata

#pw groupmod proftpdgrp -m Pavel (то есть включил в эту группу юзера, фактически дав ему права на запись!)

#chmod -R 770 /data/ftpdata (то есть сделал так, чтобы владелец и члены группы могли читать, записывать и запускать на выполнение (но все остальные не могли ничего делать), но записывать только если это явно не запрещено директивой Limit WRITE). Был также вариант 070 то есть только группе разрешить все действия)

Вроде бы все права раздал, а сервер все равно капризничает. Помогите пожалуйста разобраться в чем дело, может быть я что-то недопонимаю. Заранее спасибо.

PhilB
30-09-2011, 19:02
Вообще (если не ошибаюсь) на каталоги для upload надо назначить права 777, для download 755. Возможно, что это поможет также решить проблему предыдущей вашей темы.

Призрак
03-10-2011, 11:18
С правами разобрался. Но появилась не менее серьезная проблема. Вот немного подправленный конфиг:

<directory /data/ftpdata>
<limit READ DIRS>
Order allow,deny
AllowGroup proftpgroup
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
<limit DELE RMD>
DenyAll
</limit>
</directory>

<directory /data/ftpdata/folder1>
<limit READ DIRS>
Order allow,deny
AllowUser Pavel
DenyAll
</limit>
<limit WRITE>
AllowUser Pavel
DenyAll
</limit>
<limit DELE>
AllowUser Pavel
</limit>
</directory>

Сначала мне пришлось ограничить доступ на удаление каталог из каталога /data/ftpdata (директива для этого каталога выделена жирным шрифтом), т.к. пользователь, который был включен в содержимое директивы limit WRITE каталога /data/ftpdata/folder1 мог удалить этот каталог (folder1) со всем содержимым. Но после этого мне пришлось явно давать разрешение на удаление файлов (директива limit DELE каталога /data/ftpdata/folder1), иначе нельзя было удалять файлы (с установленной директивой каталога /data/ftpdata выделенной жирным). Теперь если дать пользователю разрешение на удаление файлов в каталоге, то при попытке удаления каталога /data/ftpdata/folder1 удаляется все его содержимое а каталог сам не удаляется. Как сделать так, чтобы каталог folder 1 не очищался после попытки удаления? Смысл если я дал запрет на удаление каталога, а файлы в нем теряются автоматически.




© OSzone.net 2001-2012