Linux - 如何在登录时判断哪些文件是来源?

Jak*_*son 8 linux

当特定用户登录到 Linux 机器时,某些文件是来源,例如 .bashrc、.bash_profile 等......有时不同的 shell 意味着不同的文件来源。当然,用户可能有一些设置来获取他们自己的某些自定义文件。

我的问题:有没有办法让 root/su 在登录时确定任何给定用户的每个文件的列表?

joe*_*joe 7

inotifywatch 可能会有所帮助。打包在 inotify-tools 中。用作正在监视的主目录的 files/dir 用户,而不是 sudo,否则如果运行较新的 gnome,您将在 .gvfs 上遇到错误。

inotify 只会告诉您哪些文件被访问/创建/修改/删除。

$ inotifywatch -r /home/username/.* /home/username/*
Establishing watches...
Run Code Online (Sandbox Code Playgroud)

在另一个终端

$ cat /home/username/.bashrc 
Run Code Online (Sandbox Code Playgroud)

在 inotifywatch 终端 ctrl-c 结束

Finished establishing watches, now collecting statistics.
total  access  modify  close_nowrite  open  filename
3      1       0       1              1     /home/username/.bashrc
Run Code Online (Sandbox Code Playgroud)

对于您的特定请求,登录期间访问的所有文件。

$ inotifywatch -r /home/username/.* /home/username/*
Establishing watches...
Run Code Online (Sandbox Code Playgroud)

在另一个终端

$ sudo su
# login username
Run Code Online (Sandbox Code Playgroud)

在 inotifywatch 终端 ctrl-c 结束

如果使用像 gnome 或 kde 这样的胖桌面,您可能希望将 inotifywatch 重定向到一个文件。或者在 inotifywatch 终端中增加回滚。在 gnome 3 中,登录期间会访问数千个 homedir 文件。您可能想要排除目录或制作一个特定的目录/文件列表来观看。