Apache регистрирует права других пользователей на чтение [закрыто]

23

У нас есть несколько разработчиков, которые поддерживают систему, и я хочу, чтобы они легко читали файлы журналов в / var / log / httpd, не нуждаясь в root-доступе. Я установил разрешение на чтение для «других» пользователей, но когда я запускаю tail в файлах журнала, я получаю разрешение отклонено:

[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

Может быть, я что-то упускаю из-за того, как работают разрешения, но я не нахожу простых ответов на это.

user2344668
источник
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, управляющий системой моего клиента, я ... фальшивый. Благодарность!
Дан Ниссенбаум
3
Stackoverflow и друзья сосут. Закрытие и подавление нацистов разрушают его.
Лотар
2
Похоже, это довольно жесткое закрытое голосование. Если это ОТ для ServerFault, куда люди должны идти, чтобы найти ответ? В любом случае, ответ, который был дан до его закрытия, по-прежнему полезен благодаря Google.
Эван Донован

Ответы:

26

Для каталогов (например, / var / log / httpd) требуются разрешения как на чтение, так и на выполнение. Поэтому, когда вы добавляете «r» в каталог, он только позволяет миру видеть содержимое, но не может входить в него и переходить в другие каталоги.

Пытаться chmod -R go+rX /var/log/httpd

Джошуа Миллер
источник
2
Только одна отметка здесь, в команде вам не нужен ключ -R, потому что вы обновляете каталог, а не файлы. Просто чтобы поделиться этим ... Команда будет:chmod go+rX /var/log/httpd
Матия