我有一个文件。每次启动时,系统都会将其文件权限更改为默认(不可写)。因此,每次启动时/var/logs/apache2/error.log
我都必须运行命令。如何永久更改其文件权限。chmod
答案1
日志文件通常由 logrotate 创建。apache 日志文件定义存储在 /etc/logrotate.d/apache2 上
该文件在我的某个服务器中如下所示:
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
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
}
如果您查看创建选项,关键字后面的值是权限、用户和组。只需编辑文件并更改这些值即可。
答案2
我猜是在启动时anacron
运行。logrotate
如果是这样,请尝试编辑配置文件/etc/logrotate.d/apache2
,并更改
create 640 root adm
你喜欢什么就做什么,例如
create 666 root adm
但是除了apache2
服务之外,还有什么需要写入此文件?
如果这是在服务器上,将文件设置为全局可写可能不是一个好主意。例如,如果有人闯入您的系统,他们可以删除可以帮助您找到问题的日志条目。
如果您想要读取权限,最好将自己添加到adm
组中,例如
gpasswd -a `whoami` adm
如果你确实需要写权限,这也会有所帮助,例如
create 660 root adm
就足够了。