Если кто не в курсе, есть такой сервер ftp, под названием vsftpd. Попробовав его раз, я остался на нем на все время. Если внимательно посмотреть по ссылке, то можно увидеть, что почти все сервера известных дистрибутивов GNU/Linux и других проектов OpenSource работают на нем.
Ничего более наглядного и простого я пока не встречал. Вариант в виде ProFTPD меня не устроил несколько громоздкой настройкой… Впрочем, его тоже можно настроить достаточно удобно, через WebMin, но речь я поведу не об нем…
По умолчанию vsftpd либо работает только на чтение, либо дает доступ на редактирование всем (ну, разве что разграничивает доступ на уровне авторизованный /анонимный пользователь). Сначала меня это устраивало, но в один момент понадобилось, чтобы парочка пользователей все таки умела писать, а другие все только читали.
Я использую авторизацию пользователей, заведенных в системе (мне так удобнее, чем делать виртуальных). И через некоторое время изучения интернета меня осенило… Теперь у меня все имеют доступ на редактирование и запись в FTP, но разграничение происходит уже на уровне ACL файлов — там я просто запрещаю доступ на редактирование в папке или файла — и тогда пользователь не сможет ни удалить, ни создать, зато сможет спокойно прочитать.
Есть также мысля использовать для этих целей особую группу и дать доступ на редактирование только ей, соответственно угодных мне пользователей включать в нее, а при необходимости просто исключить.
Не спорю, что мой способ не так элегантен, зато он работает и меня устраивает. К тому же настраивается vsftpd гораздо проще, чем ProFTPD, если не устраивают настройки по умолчанию.
Скажите, а вы могли бы написать подробнее? Я пользуюсь vsftpd, отличный сервер, но не без тонкостей, вот:
[aslok@3r]20.01.2010-23:34:41:~$ cat /etc/vsftpd.conf | grep anon_
no_anon_password=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[aslok@3r]20.01.2010-23:34:45:~$ cat /etc/vsftpd.conf | grep chown_
chown_uploads=YES
chown_username=ftp
[aslok@3r]20.01.2010-23:34:51:~$ cat /etc/vsftpd.conf | grep local_
local_enable=YES
local_umask=066
# the possible risks in this before using chroot_local_user or
chroot_local_user=YES
# directory. If chroot_local_user is YES, then this list becomes a list of
#local_charset=UTF8
[aslok@3r]20.01.2010-23:34:58:~$
На local_umask мы не реагируем, ставим всегда
ftp │nogroup │-rw——-
Хоть
local_umask=066
хоть
local_umask=022
Наверняка я чего-то не понимаю 🙁
>Не спорю, что мой способ не так элегантен, зато он работает и меня устраивает.
Я правильно понимаю, что ваш способ не так элегантен, как нечто не попавшее в статью, но он еще и не так интересен и правилен, как остальные нормальные способы? К примеру, оно все понятно, что фетепе пользователей, как бы нужно заводить, как локальных. Вопрос: зачем?
>Вариант в виде ProFTPD меня не устроил несколько громоздкой настройкой…
Аргумент….
Arghhhh — вопрос лишь в упрощениях, мне пользователя удобнее завести в одном месте, а потом иметь возможность использовать как FTP, так и SFTP соединение. Я может не так выразился, просто настроить можно всегда разными путями и я считаю, что мой путь далеко не самый правильный, но лично для меня — удобнее всего