我想使www-data(运行webserver的用户)可以读取apache的访问日志文件,这样我就可以通过HTTPS提供服务了,这样每次我想检查的时候,都可以省掉SSH服务器的麻烦。
我尝试了chmod o+r access.log ,但似乎权限自动重置为-rw-r----- 1 root adm 。
如果你正在运行一个logrotate,它也设置了新的日志文件的权限,这可能是一个很好的地方进行更改。 例如,这是Ubuntu服务器上的默认apache2 logrotate。
andreas@halleck:~$ sudo cat /etc/logrotate.d/apache2 /var/log/apache2/*.log { weekly missingok rotate 52 compress dateext delaycompress notifempty create 640 root adm sharedscripts postrotate if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then /etc/init.d/apache2 reload > /dev/null fi endscript }
如你所见,有一个叫做create的设置? 随意将其更改为您希望新日志文件拥有的任何模式和所有权。 另外,这里是如何在logrotate(8)man文件中描述创build选项。
创build模式所有者组
旋转之后(在postrotate脚本运行之前)立即创build日志文件(与刚刚旋转的日志文件名称相同)。 mode以八进制(与chmod(2)相同)指定日志文件的模式,owner指定将拥有日志文件的用户名,group指定日志文件将属于的组。 任何日志文件属性都可以省略,在这种情况下,新文件的这些属性将使用与原始日志文件相同的值作为省略的属性。 该选项可以使用nocreate选项禁用。
我通过改变文件的所有权(这似乎不会自动重置)来得到这个工作。 这是正确的方式吗?