Почему моему "appuser" не разрешено читать журнал apche2, хотя у пользователя есть группа adm?
Я уже нашел некоторые решения здесь: AWStats: не могу получить доступ к /var/log/apache2/access.log, но это "методы молотка", такие как смена владельца и так далее. Мне не нравится.
Я хочу понять, что происходит (возможно, тогда я использую один из этих молотков)
Каков сценарий: у меня есть пользователь "myapp" (в моем случае пользователь использует мое приложение rails)
myapp@myapp-pre ~/appdir$ id
uid=1000(myapp) gid=100(users) groups=100(users),4(adm),27(sudo)
Как видите, у пользователя есть группа "adm". Давайте посмотрим на файл журнала
myapp@myapp-pre ~/appdir$ sudo ls -l /var/log/apache2/error.log
-rw-r----- 1 root adm 17503 Apr 28 17:05 /var/log/apache2/error.log
Здесь мы видим, что error.log принадлежит root:adm - root(rw) - adm(r)
Но не "содоед"
myapp@myapp-pre ~/appdir$ ls -l /var/log/apache2/error.log
ls: cannot access /var/log/apache2/error.log: Permission denied
Если я взгляну на родительский каталог:
myapp @ myapp-pre ~ / appdir $ ls -l / var / log
...
-rw-r--r-- 1 root root 347 May 26 2017 alternatives.log.7.gz
-rw-r--r-- 1 root root 419 Mar 14 2017 alternatives.log.8.gz
-rw-r--r-- 1 root root 369 Feb 14 2017 alternatives.log.9.gz
dr-xr--r-T 2 root adm 4096 Apr 28 06:05 apache2
-rw-r----- 1 root adm 4013282 Apr 28 17:22 auth.log
-rw-r----- 1 root adm 4467467 Apr 23 06:05 auth.log.1
-rw-r----- 1 root adm 269469 Apr 15 06:05 auth.log.2.gz
...
Я вижу, что многие файлы имеют один и тот же корень: привилегии adm, и пользователь myapp может их читать.
Попробуй просто прочитать файл
myapp@myapp-pre ~/appdir$ cat /var/log/apache2/error.log
cat: /var/log/apache2/error.log: Permission denied
тот же результат...
Так почему мой пользователь "myapp" не может читать?