经常会遇到Linux系统用户登录命令行或执行命令显示日志文件异常,比如:-bash: /var/log/xxx_audit/xxx_audit.log: Permission denied 其实是说开启日志审计功能后有日志文件权限被拒绝。

查看提示异常的文件权限:

[root@reg test]# sudo ls -lath /var/log/xxh_audit/
[root@reg test]# sudo chmod -R 666 /var/log/xxh_audit/xxh_audit.log
chmod: changing permissions of ‘/var/log/xxh_audit/xxh_audit.log’: Operation not permitted

可以看到也报异常Operation not permitted,切换到root也不行,修改不了写权限。

解决办法

继续往下,查看attr权限:

[root@reg test]# lsattr /var/log/xxh_audit/
-----a---------- /var/log/xxh_audit/xxh_audit.log

lsattr命令是显示chattr命令设置的文件属性。显示 a 权限意思是:让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件。

所以要先去掉 a权限:

chattr -i /var/log/xxh_audit/  #目录不行,必需是文件

[root@reg test]# sudo chattr -a /var/log/xxh_audit/xxh_audit.log
[root@reg test]#
[root@reg test]# lsattr /var/log/xxh_audit/
---------------- /var/log/xxh_audit/xxh_audit.log

看到通过chattr -a 已经去掉a权限了,接下来在修改文件写入权限:

[root@reg test]# ls -lath /var/log/xxh_audit/
total 144K
-rw-r--r-- 1 xxh xxh 139K Nov 16 10:15 xxh_audit.log
drwxr-xr-x. 11 root root 4.0K Nov 16 03:31 ..
drwxrwxrwx 2 root root 27 Jun 7 2021 . [root@reg test]# chmod -R +666 /var/log/xxh_audit/xxh_audit.log
[root@reg test]#
[root@reg test]# ls -lath /var/log/xxh_audit/
total 144K
-rw-rw-rw- 1 xxh xxh 139K Nov 16 10:16 xxh_audit.log
drwxr-xr-x. 11 root root 4.0K Nov 16 03:31 ..
drwxrwxrwx 2 root root 27 Jun 7 2021 .

到这里就Ok了,再去执行其他命令不再文档开头那个异常输出了。

参考:Linux lsattr命令与chattr命令

Linux系统用户登录命令行或执行命令显示日志文件异常-bash: /var/log/ 解决办法的更多相关文章

  1. 查看Linux系统用户登录日志

    日志: /var/log/wtmp说明: 此文件是二进制文件,查看方法如下:该日志文件永久记录每个用户登录.注销及系统的启动.停机的事件.因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加 ...

  2. Mac系统终端命令行不执行命令 总出现command not found解决方法

    配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的     保存命令是:  source .bas ...

  3. [转] Mac系统终端命令行不执行命令 总出现command not found解决方法

    配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的     保存命令是: source .bash ...

  4. 关于windows和linux系统更换JDK版本后,修改环境变量也无法生效的原因和解决办法

    今天遇到了一个问题: 我linux系统之前安装JDK12,今天将其改成了JDK1.8,并修改了环境变量,但是通过java -version命令显示的依旧是JDK12的版本. 这是因为,当使用安装版本的 ...

  5. 出现windows启动服务失败(无法从命令行或调试器启动,需要安装InstallUtil.exe)的解决办法

    两种方法1 从命令行安装2 选择项目-视图-自定义操作   然后将 安装,提交,回滚,卸载分别加入自定义操作,注意InstallClass属性为true

  6. CMD命令行提示被禁用的情况下如何继续使用命令行工具执行命令

    1.直接在Windows搜索 左下 输入要执行的 CMD 命令单句.多句同时执行没有试出来. 暂时记录这一条.2016-12-20

  7. VUE之Router命令行警告:Named Route 'Home' has a default child route. 解决办法

    Named Route 'Home' has a default child route. When navigating to this named route (:to="{name: ...

  8. 华为OPS,自定义命令,动态执行命令

     OPS     开放可编程系统OPS(Open Programmability System)是指设备通过提供统一的应用程序接口API(Application Programming Interfa ...

  9. linux查看用户登录时间以及命令历史

    1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1)-b:查 ...

  10. ref:linux查看用户登录时间以及命令历史

    ref:https://blog.csdn.net/csdn924618338/article/details/73555725/ 1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终 ...

随机推荐

  1. STM32单片机 32.768Khz和8Khz晶振外部电容容值选取问题

    一.前言 绘制STM32C8T6最小系统的晶振电路的时候,看到了并联在晶振两端的电容,就好奇具体的容值该怎么选取,故有了这篇博客. 二.外部晶振电路

  2. Go中数组和切片

    数组和切片 [1].数组 1.什么是数组 一组数 数组需要是相同类型的数据的集合 数组是需要定义大小的 数组一旦定义了大小是不可以改变的. package main import "fmt& ...

  3. Python脚本消费多个Kafka topic

    在Python中消费多个Kafka topic,可以使用kafka-python库,这是一个流行的Kafka客户端库.以下是一个详细的代码示例,展示如何创建一个Kafka消费者,并同时消费多个Kafk ...

  4. spring 跟 诠释及区别

    <context:annotation-config> 和 <context:component-scan>的区别 Difference between <context ...

  5. 移动端自动化之Autox.js

    github: https://github.com/kkevsekk1/AutoX 官方文档:http://doc.autoxjs.com/ 1. 安装vscode的扩展插件 如果之前有使用 aut ...

  6. golang之context

    context 用来解决 goroutine 之间退出通知.元数据传递的功能. context 使用起来非常方便.源码里对外提供了一个创建根节点 context 的函数: func Backgroun ...

  7. docker-compose之配置docker-compose.yml

    当前有三种版本的Compose配置文件格式: Version 1 旧版格式,通过省略YAML的根配置项version来指定. 未声明版本的Compose配置文件都被视为V1版,所有的服务都作为根选项在 ...

  8. 接口压力测试工具之go-wrk

    go-wrk 是一个用Go语言实现的轻量级的http基准测试工具,类似于wrk,本文将简单介绍一下如何使用go-wrk实现接口的性能(压力)测试. github地址:https://github.co ...

  9. Mybatis【17】-- Mybatis自关联查询一对多查询

    注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-13-oneself-one2many,需要自取, ...

  10. 再用RNN神经网络架构设计生成式语言模型

    上一篇:<用谷歌经典ML方法方法来设计生成式人工智能语言模型> 序言:市场上所谓的开源大语言模型并不完全开源,通常只提供权重和少量工具,而架构.训练数据集.训练方法及代码等关键内容并未公开 ...