Apache реєструє дозволи для читання інших користувачів [закрито]


23

У нас є кілька розробників, які підтримують систему, і я хочу, щоб вони легко читали файли журналу в / var / log / httpd, не потребуючи кореневого доступу. Я встановлюю дозвіл на читання для "інших" користувачів, але коли я запускаю хвостики на файли журналу, мені стає дозволено відмовити:

[root@ourserver httpd]# chmod -R go+r /var/log/httpd
[root@ourserver httpd]# ls -la
drwxr--r--  13 root root 4096 Oct 25 03:31 .
drwxr-xr-x.  6 root root 4096 Oct 20 03:24 ..
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite.com
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite2.com
-rw-r--r--   1 root root    0 May  7 03:46 access_log
-rw-r--r--   1 root root 3446 Oct 24 22:05 error_log

[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log
tail: cannot open `/var/log/httpd/oursite/error.log' for reading: Permission denied

Можливо, мені щось не вистачає, як працюють дозволи, але я не знаходжу на це легких відповідей.


2
Я дослідив декілька статей, намагаючись знайти рішення для цього на основі помилки (включаючи документацію Apache); це єдина причина, яку я розмістив тут. Я не знаю, чому це було знято з голосу. Чи потрібно публікувати, які веб-сайти я досліджував? Виходячи з відповіді, це виглядало так, що щось про Linux я не зовсім зрозумів, але цей атрибут не згадувався в прочитаних статтях.
user2344668

1
[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log<--- Отже, щодо яких дозволів /var/log/httpd/oursite.com/error.log- це було б НАЙКРАЙНО ВІДПОВІДНО . (Також зверніть увагу на відповідь Джошуа нижче )
voretaq7

7
@ voretaq7 та інші. - Смішно, що таке питання стає закритим та закритим. - Розберемося так: Ви повинні знати відповідь, щоб правильно поставити запитання? Розумію. Як програміст на C ++ та PHP, якому потрібно надати іншим користувачам некореневий доступ до цих журналів, я думаю, що я ... повинен соромитися себе за те, що не знаю, як зробити це можливим? Я зараз піду повісити голову в кутку. Насправді це говорить про те, що питання стосується не професійного адміністрування системи. Я бачу - таким чином, як програміст PHP, який керує системою мого клієнта, я ... фальшивий. Спасибі!
Dan Nissenbaum

3
Stackoverflow і друзі смокчуть. Закриття та заборона нацистів руйнують його.
Лотар

2
Це, здається, є суворим закритим голосуванням, imo. Якщо це OT для ServerFault, куди люди повинні піти, щоб знайти відповідь? У будь-якому випадку, відповідь, яка була надана до її закриття, все ще корисна завдяки Google.
Еван Донован

Відповіді:


26

Каталоги (наприклад, / var / log / httpd) вимагають як дозволу на читання, так і для виконання, щоб їх пройти. Отже, коли ви додаєте "r" до каталогу, він дозволяє лише світу бачити вміст, але не входити до нього та продовжувати його в інших каталогах.

Спробуйте chmod -R go+rX /var/log/httpd


2
Лише одна примітка тут у команді, що вам не потрібен перемикач -R, оскільки ви оновлюєте каталог, а не файли. Тільки щоб поділитися цим ... Командою було б:chmod go+rX /var/log/httpd
Matija
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.