Интересное

Сообщение об ошибке

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in drupal_environment_initialize() (line 684 of /home/www/nixtalk.com/includes/bootstrap.inc).

FTP - настраиваем под Apache

Опубликовано чт, 11/24/2011 - 20:43 пользователем Demontager

Статья содержит небольшую заметку о том, как можно настроить FTP сервер для удобного закачивания и скачивания файлов с сервера, но задача делать это внутри директории где находятся файлы сайтов. По умолчанию в Debian это /var/www, но это не суть, для любого дистрибутива тоже самое. Самое интересное то, что я сначала испробывал более сложный путь, но истина находилась совсем рядом, благодарю за её нахождение уважаемого mak_v_ .
Опишу только то, что является наиболее быстрым и рабочим.
Apache в данном случае работает от пользователя www-data и группы www-data и соответсвенно, директории сайтов в /var/www имеют такие разрешения

  1. drwxr-xr-x 13 www-data www-data 4.0K Nov 22 17:09 nixtalks
  2. drwxr-xr-x 10 www-data www-data 4.0K Nov 22 17:44 ennixtalks

У пользователя www-data пароля нет, поэтому создаём его

  1. passwd www-data

Теперь правим конфиг /etc/proftpd/proftpd.conf . Вот мой рабочий:

  1. ServerName "ProFTPD Debian Server"
  2. ServerType standalone
  3. DefaultServer on
  4. RequireValidShell off
  5. AuthPAM off
  6. AuthPAMConfig ftp
  7.  
  8. # Listen on the standard FTP port 21.
  9. Port 21
  10.  
  11. # New directories and files should not be group or world writable.
  12. Umask 022
  13.  
  14. # To prevent DoS attacks set the maximum number of child processes
  15. # to 30. If you need to allow more than 30 concurrent connections
  16. # at once simply increase this value.
  17. MaxInstances 30
  18.  
  19. # The server will run under ftp/ftp.
  20. User proftpd
  21. Group nogroup
  22.  
  23. # Every FTP sessions is "jailed" into the user's home directory.
  24. DefaultRoot /var/www
  25.  
  26. # Generally files are overwritable.
  27. AllowOverwrite on
  28.  
  29. # Disallow the use of the SITE CHMOD command.
  30. <Limit SITE_CHMOD>
  31. DenyAll
  32. </Limit>
  33.  
  34. # A basic anonymous FTP account without an upload directory.
  35. <Anonymous ~ftp>
  36. User ftp
  37. Group nogroup
  38.  
  39. # Clients can login with the username "anonymous" and "ftp".
  40. UserAlias anonymous ftp
  41.  
  42. # Limit the maximum number of parallel anonymous logins to 10.
  43. MaxClients 10
  44.  
  45. # Prohibit the WRITE command for the anonymous users.
  46. <Limit WRITE>
  47. DenyAll
  48. </Limit>

Выделю в конфиге директиву DefaultRoot /var/www , тоесть при логине, пользователь будет попадать сразу в эту директорию. Всё, сохраняем и делаем рестарт ftp сервера

  1. /etc/init.d/proftpd restart

Также в целях безопасности можно откючить shell для www-data

  1. chsh www-data

и ставим /bin/false

Возможно ещё понадобится настроить права на папки и файлы, поэтому ещё несколько полезных команд

  1. chmod -R 644 /var/www #рекурсивно меняем права на всё что находится в /var/www. Вместо 644, подставляете нужные значения

и

  1. find . -type d -exec chmod 0755 {} ';' #находим только директории и изменяем их права на 0755, при этом права на файлы остаются 644

И таблица для расчёта прав доступа
rccconf

Поделится: 

Добавить комментарий