gpt4 book ai didi

linux - 按组名、用户名和上次登录 linux 管理用户帐户

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:44 24 4
gpt4 key购买 nike

我创建了一个名为 monitornsuaccounts.sh 的脚本,它应该将其输出文件附加到 useraccountstatus.log。 useraccountstatus.log 在目录/var/local/nsu/logs/中。

此脚本的输出应说明每个用户名和有关每个用户名的以下信息:用户名、上次登录、用户主目录和相关组。最好应该有包含每个信息的列。

我用于用户名的命令是 sudo cat/etc/passwd | grep '/家'。 last就是找到每个用户的最后一次登录。 Groups就是找到每个用户所在的组。当我运行该命令时,输出文件仅显示当前用户而非所有用户所需的数据。任何人的任何建议都将不胜感激。

#!/bin/bash
usernames=sudo cat /etc/passwd | grep ‘/home’
echo “$usernames” > /home/daniel/names.txt
mlast=$(cat names.txt | xargs -n1 last)
mgroup=$(cat names.txt | xargs -n1 groups)
cat names.txt > /var/local/nsu/logs/useraccountstatus.log
echo “$mlast” >>/var/local/nsu/logs/useraccountstatus.log
echo “$mgroup” >>/var/local/nsu/logs/useraccountstatus.log

最佳答案

你的脚本有很多问题。

  1. 您对用户的定义。你确定这是你想要的吗?例如:root在/home下没有目录。

  2. 注意您的报价。 cat/etc/passwd | grep ‘/home’ 什么都不返回,而 cat/etc/passwd | grep 'home' 返回/etc/passwd 中的节列表

  3. 您可能只需要用户名列表,而不是节列表。沿线的东西

    cat /etc/passwd | grep 'home' | sed 's/:.*//'
  4. 为什么 sudo cat/etc/passwd 中有 sudo

  5. 中查看您的作业
    usernames=sudo cat /etc/passwd | grep ‘/home’

    这没有意义。你可以尝试做一个

    usernames=`sudo cat /etc/passwd | grep '/home'| sed 's/:.*//'`

这只是脚本的第一行。

无论如何,如果您的脚本没有按预期运行,您将需要进行一些调试。第一个问题,特别是如果您没有经验,是“我编写的命令是否给出了我期望的结果?”所以在你的情况下,你应该尝试过 cat/etc/passwd | grep ‘/home’ 你会发现它没有给你预期的结果。即使引用正确,您也会得到一个节列表,这也不是您所期望的。您查看过 /home/daniel/names.txt 并且文件的内容是您想要的吗?我猜不是:它是空的。

只是一个快速提示,让您开始朝着正确的方向前进(尽管仍然存在一些问题并且人们可能会反对后背)

#!/bin/bash
usernames=`sudo cat /etc/passwd | grep '/home'| sed 's/:.*//'`
mlast=`echo $usernames | xargs -n1 last`
mgroup=`echo $usernames| xargs -n1 groups`
echo $usernames > /var/local/nsu/logs/useraccountstatus.log
echo "$mlast" >>/var/local/nsu/logs/useraccountstatus.log
echo "$mgroup" >>/var/local/nsu/logs/useraccountstatus.log

您将希望完善它并使输出更有用。

关于linux - 按组名、用户名和上次登录 linux 管理用户帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42580631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com