经常会遇到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. 通向架构师的道路(第五天)之tomcat集群-群猫乱舞

    一.为何要集群 单台App Server再强劲,也有其瓶劲,先来看一下下面这个真实的场景. 当时这个工程是这样的,tomcat这一段被称为web zone,里面用spring+ws,还装了一个jbos ...

  2. ANTLR语法层的选项及动作 - ANTLR

    ANTLR语法层的选项 ANTLR语法层的选项中可以设置一系列的键值从而影响ANTLR输出的代码.这些选项是全局的,除非在某条规 则中覆盖了这些选项,否则这些选项会影响到该语法中的所有元素.选项应该紧 ...

  3. 创建一个具有商业品质的 Eclipse IDE

    创建具有商业品质且可插入 Eclipse 的专业 IDE Prashant Deva (pdeva@placidsystems.com), 创始人, Placid Systems 简介:  " ...

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

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

  5. 服务器间文件实时双向同步(rsync+inotify)

    场景: 主从服务器项目文件实时双向同步(参考:http://www.xcx1024.com/ArtInfo/3026389.html) 一.rsync安装 yum在线: yum install -y ...

  6. redis教程(Mac)

    1.首先,检查是否已经安装Homebrew,如果没有安装Homebrew,请先安装 2.使用Homebrew安装命令,在终端输入以下命令 brew install redis 当前默认安装5.0.8版 ...

  7. 2022 Hangzhou Normal U Summer Trials

    Subarrays 给定一个长度为n的由正整数组成的序列,请你输出该序列中子段和能被\(k\)整除的所有符合要求的子段数量 题解:组合计数 + 前缀和 + 思维 \[sum[l,r]\ \ mod\ ...

  8. 一种小资源情况下RDS数据实时同步StarRocks方案

    一.背景 目前需要将阿里云RDS数据库的数据同步到自建的StarRocks集群.之前使用DolphinScheduler通过定时调度Datax任务,将数据同步到StarRocks集群中,但是随着业务的 ...

  9. Jenkis 简单介绍—持续集成、持续交付的工具

    Jenkis是什么? 首先是一款持续集成.持续交付的工具. Jenkis的思想是自动化部署:当我们向版本库提交最新的代码后,应用服务器(tomcat)就会自动从Git / svn上拉取最新的包,再重新 ...

  10. C# 获取系统盘符

    1.使用.net管理对象(引入System.Management) public static List<string> getDisk() { WqlObjectQuery wmique ...