Як ми можемо знати, що в каталозі можна записувати апарат?


21

Мені сказали, що я повинен створити папку зображень і папку активів, і що мені потрібно переконатися, що: "вони записуються в апаш". Також мені сказали зробити каталог додатків / програм виконання для веб-запису. Це те саме, що апач для запису? Якщо так:

Як я можу це зробити одразу чи знати це?

Займаючись, ls -lя отримую щось на кшталт:

drwxr-xr-x 13 user user 4096 2011-08-26 10:23 app
drwxr-xr-x 4 user user 4096 2011-08-26 10:23 runtime
drwxr-xr-x 2 user user 4096 2011-08-26 11:11 images
drwxr-xr-x 2 user user 4096 2011-08-26 11:12 assets

Відповіді:


24

Apache, це програма, що працює у фоновому режимі. Apache спочатку запускається користувачем root(його також називають root-process). Це root-processзапускає кілька дочірніх процесів, які обробляють запити клієнта. З міркувань безпеки дочірні процеси виконуються не користувачем, rootа користувачем з мінімальними привілеями. Зазвичай цього користувача називають apacheабо www-data.

Щоб дізнатися, що це за користувач apache v1:

ps -ef | grep httpd | grep -v grep

або для apache v2:

ps -ef | grep apache | grep -v grep

Результат для apache 2 буде приблизно таким:

корінь 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок
www-дані 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k початок

У цьому випадку користувач / група є www-data

Отже, для того, щоб зробити веб-сервер каталогізним для каталогу, ми повинні встановити власника або групу каталогу власнику або групі Apache та надати дозвіл на запис на нього. Зазвичай ми встановлюємо, що каталог належить до групи Apache ( apacheабо `www-data або будь-який користувач, який використовується для запуску дочірніх процесів) і даємо дозвіл на запис для групи.

chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir

( www-dataце ім'я, яке ви знайшли за допомогою psкоманди вище).

Щодо:

2) Мені також сказали зробити каталог додатків / програм виконання для веб-запису. Це те саме, що апач для запису?

Так, це каталог, який потрібно встановити для групи, яку очікує Apache. Можливо, це буде десь /var/www/або він встановлений як віртуальний хост в /etc/apache2/sites-enabled/та / або/etc/apache2/sites-available


Дуже дякую. Чи є спосіб створити каталог за допомогою mkdir і одночасно дати ці дозволи?
MEM

Чи правда, що ми також можемо робити: chmod -R o + w / або / path / тут? (Очевидно, -R є варіантом). ?
MEM

Так, 1 метод буде:mkdir dirname && chgrp www-data dirname
Rinzwind

@MEM так. Rзробить усі панове, звідки ви видасте команду. Є багато способів зробити це;)
Rinzwind

2
ps -ef | grep [a]pache- це загальна ідіома, щоб уникнути помилкової grepлінії у висновку.
enzotib
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.