Прошу прощения за сверхнубийский вопрос, я новичок в Linux и пытаюсь изучить и практиковать безопасное администрирование LAMP для моего предстоящего небольшого проекта.
Я установил vsftpd, но не могу настроить разрешения так, как хочу. Кажется, что файлы в / var / www должны принадлежать пользователю www-data (по умолчанию в ubuntu), чтобы apache мог читать и писать там, но я хотел бы загружать файлы непосредственно в / var / www и иметь возможность редактировать их. FTP с использованием блокнота ++ из окна Windows. Теперь я не могу получить доступ к FTP с пользовательскими www-данными, так как я не знаю пароля, поэтому я создал нового пользователя-веб-мастера, но затем apache не может получить доступ к файлам из-за другого владельца. В гневе я попытался установить анонимный доступ по FTP, чтобы это работало, поэтому в vsftpd.conf я разрешил вход в систему и создание файлов анонимно и установил его для создания новых загрузок, которые никому не принадлежат, но тогда я не могу ничего загружать вообще.
Итак, как я могу заставить это работать? Я хочу, чтобы файлы в / var / www были безопасными, доступными только для apache из системы и ftp deamon. Я говорю сейчас о незащищенном FTP, попробую изучить FTPS или SFTP позже.
Моя идея на производственном сервере заключалась в том, чтобы войти через SSH, включить FTP (S), передать файлы, отключить FTP, выйти из системы. Вот как это делается в реальном мире?
Спасибо за ответы.
Пожалуйста, не разрешайте анонимным соединениям загружать какие-либо файлы. Он будет использоваться для распространения вирусов и порно.
Apache нужен только доступ для чтения к каталогам, которые он будет обслуживать (в большинстве конфигураций).
chown -R john: www-data web-data-folder и chmod 755 web-data-folder предоставят Джону права на запись в каталог и каждый файл / папку в нем, сохраняя при этом права на чтение и выполнение (список папок) для обоих apache и любой другой пользователь в системе. Если вы параноик, вы можете использовать вместо этого chmod 750.
Теперь, когда я в основном дал вам команды: пожалуйста, прочтите, как chmod и chown работают вместе. Для каждой установки unix / linux / bsd установлены страницы управления.
Ссылаясь на справочную страницу VSFTPD conf (http://vsftpd.beasts.org/vsftpd_conf.html), в вашем файле vsftpd.conf есть параметр конфигурации, называемый local_umask.
По умолчанию это 077, что дает вам разрешение -rw -------. Чтобы дать каждому файлу разрешение -rw-r - r--, установите local_umask к 022.
Не забудьте перезапустить сервер vsftpd после изменения файла conf.