首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tripwire:忽略根文件夹更改的时间戳

tripwire:忽略根文件夹更改的时间戳
EN

Unix & Linux用户
提问于 2019-01-12 10:57:42
回答 1查看 464关注 0票数 2

每次我更新数据库时:

tripwire --check --interactive

但是我仍然收到来自tripwire的通知,告诉我/root已经改变了。

代码语言:javascript
复制
-------------------------------------------------------------------------------
Rule Name: Root config files (/root)
Severity Level: 100
-------------------------------------------------------------------------------
  ----------------------------------------
  Modified Objects: 1
  ----------------------------------------

Modified object name:  /root

  Property:            Expected                    Observed                    
  -------------        -----------                 -----------                 
  Object Type          Directory                   Directory                   
  Device Number        2049                        2049                        
  File Device Number   0                           0                           
  Inode Number         1572865                     1572865                     
  Mode                 drwx------                  drwx------                  
  Num Links            8                           8                           
  UID                  root (0)                    root (0)                    
  GID                  root (0)                    root (0)                    
  Size                 4096                        4096                        
* Modify Time          Fri Jan 11 18:45:54 2019    Sat Jan 12 03:46:50 2019    
* Change Time          Fri Jan 11 18:45:54 2019    Sat Jan 12 03:46:50 2019    
  Blocks               8                           8  

这里是S的政策,在重新安装后,我只删除了.bash_history,因为我不知道如何从该文件中的“坏更改”中识别自己的更改:

代码语言:javascript
复制
# These files change the behavior of the root account
(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        /root/test_results              -> $(SEC_CONFIG) -s;
        /root/.joe_state                -> $(SEC_CONFIG) -s;
#       /root/mail                      -> $(SEC_CONFIG) ;
#       /root/Mail                      -> $(SEC_CONFIG) ;
#       /root/.xsession-errors          -> $(SEC_CONFIG) ;
#       /root/.xauth                    -> $(SEC_CONFIG) ;
#       /root/.tcshrc                   -> $(SEC_CONFIG) ;
#       /root/.sawfish                  -> $(SEC_CONFIG) ;
#       /root/.pinerc                   -> $(SEC_CONFIG) ;
#       /root/.mc                       -> $(SEC_CONFIG) ;
#       /root/.gnome_private            -> $(SEC_CONFIG) ;
#       /root/.gnome-desktop            -> $(SEC_CONFIG) ;
#       /root/.gnome                    -> $(SEC_CONFIG) ;
#       /root/.esd_auth                 -> $(SEC_CONFIG) ;
#       /root/.elm                      -> $(SEC_CONFIG) ;
#       /root/.cshrc                    -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
#       /root/.bash_profile             -> $(SEC_CONFIG) ;
#       /root/.bash_logout              -> $(SEC_CONFIG) ;
#       /root/.bash_history             -> $(SEC_CONFIG) -s;
        !/root/.bash_history ;
#       /root/.amandahosts              -> $(SEC_CONFIG) ;
#       /root/.addressbook.lu           -> $(SEC_CONFIG) ;
#       /root/.addressbook              -> $(SEC_CONFIG) ;
#       /root/.Xresources               -> $(SEC_CONFIG) ;
#       /root/.Xauthority               -> $(SEC_CONFIG) -i ; # Changes Inode number on login
#       /root/.ICEauthority                 -> $(SEC_CONFIG) ;
}

我不知道是什么导致了“修改时间的改变”,但它是S提出的。是否有一种方法可以忽略时间的变化,但仍然保持一个删除,添加和修改的文件在根文件夹?

也许是/root -> $(SEC_CRIT) -m;

但我不知道-m是否也忽略了文件更改。

EN

回答 1

Unix & Linux用户

发布于 2019-01-30 17:23:11

第一个:这不是直接的答案,如何忽略/root的时间戳,它更像是howto configure tripwire to ignore some special changes inside the root folder的一个信息(因为我还没有回答我最初的问题)。

S仍然感到沮丧的是,在文件夹上只看到时间戳的变化,而不知道在文件夹中发生了什么变化。在inotify的帮助下(请参阅注释),我能够识别根目录中的一些更改。

下面是一些可能导致根更改的示例:

  • 像joe这样的编辑器中的临时文件(joe在末尾创建带有~的文件,以保存最后的更改)
  • 脚本保存/更新根目录中某些内容的cron作业
  • 使用/root/.cache/的程序如mc (午夜指挥官)使用/root/.cache/mc
  • 使用/root/.config (如htop或mc )的程序
  • 使用/root/.local/ (如mc (/root/.local/share/mc) )的程序
  • /root/.bash_history的变化
  • 编辑器joe使用/root/.joe_state

当然,有很多事情会导致根内部的变化,inotify在这里是一个很好的助手来识别这些变化。

在我的特殊情况下,我停止了tripwire抱怨使用这个配置所做的更改:

代码语言:javascript
复制
        /root -> $(SEC_CONFIG) ; # Catch all additions to /root
        !/root/.bash_history ;
        !/root/.joe_state ;
        /root/.cache  -> $(SEC_CONFIG) ;
        /root/.config -> $(SEC_CONFIG) ;
        /root/.local  -> $(SEC_CONFIG) ;

/root应该是$(SEC_CRIT),但在我的例子中,大多数事情都是以根方式完成的,不管这是否糟糕,所以为了保持安静,我现在使用$(SEC_CONFIG)做得很好。

当然,我们应该指出,许多这样的问题可以避免,如果不使用根,而是使用sudo。但是,如果你不能或不愿意,你必须小心所有在根内部变化的东西,这可能是一个非常大的挑战。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/494089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档