欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos 在admin管理员的 crontab 中获取 登录状态的其它用户 monica chatgpt 有大用 有大大用

在 macOS 的 crontab 中,如果你想要获取当前登录的其他用户,可以使用以下命令:

  1. 使用 who 命令:这个命令可以列出当前登录的用户。  who 最准确

    bash
    复制
    * * * * * who>> /path/to/logfile.log

     我的做法是:  #  who | grep console | cut -d ' ' -f 1       #获取当前登录状态的用户

    这条命令会每分钟将当前登录的用户信息追加到指定的日志文件中。

  2. 使用 users 命令:如果你只想要当前登录的用户列表,可以使用 users 命令。

    bash
    复制
    * * * * * users >> /path/to/logfile.log


  3. 使用 last 命令:这个命令可以查看最近登录的用户。

    bash
    复制
    * * * * * last >> /path/to/logfile.log


这些命令可以帮助你在 crontab 中获取其他登录用户的信息。如果你需要更详细的信息或有其他问题,请告诉我!



js-temp@localhost ~ % who js-temp  console  Aug 21 21:16 js-temp  ttys000  Aug 21 21:32 详解

在 macOS 或类 Unix 系统中,who 命令用于显示当前登录到系统的用户信息。当你运行 who 命令时,它会列出所有当前登录的会话,包括每个会话的用户名、登录的终端类型、登录时间等信息。

对于你给出的输出:

复制代码

   js-temp  console  Aug 21 21:16

   js-temp  ttys000  Aug 21 21:32

这里是对输出的详细解释:

  1. 用户名js-temp

  • 这表示用户 js-temp 正在系统上活动。两行都显示了这个用户名,意味着 js-temp 用户有两个会话同时开启。

  • 登录终端

    • 第一行中的 console 通常指的是通过物理控制台(比如直接连接到计算机的显示器和键盘)登录的会话。在一些情况下,它也可能指的是通过图形界面的远程桌面会话(尽管在 macOS 上,这更可能通过 ttysXXX 或其他类似的终端类型表示)。

    • 第二行中的 ttys000 是伪终端(pseudo-terminal)的缩写,它通常用于通过 SSH 或图形终端模拟器(如 iTerm2、Terminal.app 等)登录的会话。ttys 后面的数字(如 000)是分配给该会话的唯一标识符。

  • 登录时间

    • 第一行显示 Aug 21 21:16,表示 js-temp 用户通过 console 登录的时间是 8 月 21 日晚上 21:16。

    • 第二行显示 Aug 21 21:32,表示 js-temp 用户通过 ttys000 登录的时间是 8 月 21 日晚上 21:32。

    这个输出表明 js-temp 用户有两个活动会话:一个是通过物理控制台或某种形式的直接登录界面登录的,另一个是通过 SSH 或图形终端模拟器登录的。

    如果你想要更详细的信息,比如每个会话的当前工作目录、运行的命令等,你可能需要使用 w 命令或 whoami(尽管 whoami 只显示当前会话的用户名,而不是所有会话的列表)。w 命令会显示类似于 who 的信息,但通常还包括用户正在执行的命令和空闲时间等额外信息。



    普通分类: