Santosh Linkha Asked: 2011-03-31 01:56:10 +0800 CST2011-03-31 01:56:10 +0800 CST 2011-03-31 01:56:10 +0800 CST 如何永久更改在启动时设置回默认值的文件的文件权限 772 我有一个文件/var/logs/apache2/error.log。并且每次启动时,系统都会将其文件权限更改为默认(不可写)。chmod所以,我每次启动时都必须运行命令。如何永久更改其文件权限。 permissions 3 个回答 Voted Javier Rivera 2011-03-31T02:45:56+08:002011-03-31T02:45:56+08:00 日志文件通常由 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 } 如果查看 create 选项,关键字后面的值是权限、用户和组。只需编辑您的文件并更改此值。 Mikel 2011-03-31T02:45:46+08:002011-03-31T02:45:46+08:00 我猜anacron是logrotate在启动时运行。 如果是这样,请尝试编辑配置文件/etc/logrotate.d/apache2,并更改 create 640 root adm 无论你喜欢什么,例如 create 666 root adm 但是除了apache2服务之外,还有什么需要写入这个文件呢? 如果这是在服务器上,那么使文件世界可写可能是个坏主意。例如,如果有人闯入您的系统,他们可以删除有助于您发现问题的日志条目。 如果您想要读取权限,最好将自己添加到adm组中,例如 gpasswd -a `whoami` adm 如果您确实需要写访问权限,这也会有所帮助,例如 create 660 root adm 就足够了。 Best Answer Rory Alsop 2011-03-31T04:41:50+08:002011-03-31T04:41:50+08:00 根据评论中的讨论,对于 OP 试图实现的目的(查看特定目的的简单日志子集),这可能是一个合适的替代解决方案: Tail将让您查看文件的最后几行 Grep可让您在文件中搜索要查找的实例 两者都可以作为 Unix/Linux 的一部分使用,并且应该是您基本工具包的一部分。
日志文件通常由 logrotate 创建。apache 日志文件定义存储在 /etc/logrotate.d/apache2
该文件在我的一台服务器中如下所示:
如果查看 create 选项,关键字后面的值是权限、用户和组。只需编辑您的文件并更改此值。
我猜
anacron
是logrotate
在启动时运行。如果是这样,请尝试编辑配置文件
/etc/logrotate.d/apache2
,并更改无论你喜欢什么,例如
但是除了
apache2
服务之外,还有什么需要写入这个文件呢?如果这是在服务器上,那么使文件世界可写可能是个坏主意。例如,如果有人闯入您的系统,他们可以删除有助于您发现问题的日志条目。
如果您想要读取权限,最好将自己添加到
adm
组中,例如如果您确实需要写访问权限,这也会有所帮助,例如
就足够了。
根据评论中的讨论,对于 OP 试图实现的目的(查看特定目的的简单日志子集),这可能是一个合适的替代解决方案:
Tail将让您查看文件的最后几行
Grep可让您在文件中搜索要查找的实例
两者都可以作为 Unix/Linux 的一部分使用,并且应该是您基本工具包的一部分。