我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1563|回复: 4

[移动软件开发] 详解Linux服务器的用户活动和命令

[复制链接]
  • TA的每日心情

    2024-10-6 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1202

    主题

    247

    回帖

    2115

    积分

    二级逆天

    积分
    2115

    终身成就奖特殊贡献奖

    发表于 2020-9-9 09:09:00 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    [paragraph]如果您在管理Linux服务器,最好准备好使用用于检查用户活动的多个命令——用户何时登录及登录频率、属于哪些用户组、耗用多少磁盘空间、运行什么命令、占用多少磁盘空间、是否在阅读邮件等。
    本文介绍了可以帮助您了解用户有哪些、他们在如何工作的多个命令。

    finger
    finger是获取用户个人资料的一个便捷命令。它使您可以查看谁已登录或专注于单个用户,以查看上一次登录、他们从何处登录、闲置时间有多久(自运行命令以来有多久)等。在该命令中, 我们查看用户nemo。
    $ finger nemo
    Login: nemo Name: Nemo Demo
    Directory: /home/nemo Shell: /bin/bash
    On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6
    7 minutes 47 seconds idle
    New mail received Wed Jun 17 18:31 2020 (EDT)
    Unread since Sat Jun 13 18:03 2020 (EDT)
    No Plan.
    我们可以看到nemo的全名、主目录和外壳,还可以看到nemo的最新登录和电子邮件活动。仅在/etc/passwd文件中的全名字段中定义了办公室、办公室电话和家庭电话号码,这些信息才包括在内。比如说:
    nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash)。
    上面的输出还表明nemo没有“计划”,但这只是意味着该用户没有创建.plan文件、并将一些文本放入其中。这并不罕见。
    如果没有参数,finger将以如下所示的格式显示当前登录列表。您可以看到他们何时登录、从哪个IP地址登录、使用中的伪终端(比如pts/1)以及闲置了多久。
    $ finger
    Login Name Tty Idle Login Time Office Office Phone
    nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6)
    shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60
    w
    w命令也以一份格式清晰的列表显示了目前活动的用户,包括闲置时间、用户最近运行了什么命令。它还在最上面一行显示系统已运行了多久,并提供负载平均数字,表明系统有多忙碌。在这里,系统基本上处于闲置状态。
    $ w
    14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w
    nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash
    id
    如果使用id命令,您可以查看用户的数值ID和用户组ID以及该用户是哪些用户组的成员。这些信息从/etc/passwd文件和/etc/group文件获取而来。没有参数的id报告您帐户的信息。
    $ id
    uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops)
    $ id nemo
    uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish)
    auth.log
    您可以使用grep之类的命令从/var/log/auth.log文件获取信息。为了使用auth.log数据显示最近登录活动,您可以运行这样的命令:
    $ grep “New session” /var/log/auth.log | awk ‘{print $1,$2,$3,$11}’ | tail -5
    Jun 17 17:22:38 shs.
    Jun 17 17:58:43 gdm.
    Jun 17 18:09:58 shs.
    Jun 19 12:57:36 shs.
    Jun 19 12:58:44 nemo.
    last
    last命令可能最擅长查看所有用户或某一个用户的最近登录。记住一点:last首先显示最近的活动,因为这是大多数管理员最感兴趣的信息。
    $ last | head -5
    nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in
    shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in
    shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)
    reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running
    shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)
    $ last nemo | head -5
    nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22)
    nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16)
    nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10)
    nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52)
    nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02)
    du
    如果针对/home中的每个目录运行,du命令会报告每个用户的主目录在使用多少空间,就像这样:
    $ sudo du -sk /home/*
    289 /home/dorothy
    116 /home/dory
    88 /home/eel
    28 /home/gino
    28 /home/jadep
    12764 /home/nemo
    732 /home/shark
    418046 /home/shs
    108 /home/tadpole
    默认情况下,报告的大小以1024字节为单位。
    ps和history
    针对当前登录的用户,您始终可以使用ps -ef | grep ^nemo之类的命令,查看用户目前在运行哪些命令和进程。想查看以前运行的命令,可以试着查看用户的历史记录文件(比如.bash_history),不过要注意,用户可以设置帐户,以便某些命令不被捕获到历史记录文件中,他们还可以编辑这些文件,如果选择这么做的话。
    统计登录次数
    如果您想查看自/var/log/wtmp文件上一次翻转以来每个用户登录的次数,可以使用这样的命令:
    $ forUSERin `ls /home`
    》 do
    》 cnt=`last $USER | grep ^$USER | wc -l` # count logins
    》 echo $USER: $cnt # show login count
    》 done
    输出会像是这样:
    dorothy: 0
    dory: 0
    eel: 8
    gino: 0
    jadep: 102
    nemo: 39
    shark: 50
    shs: 105
    tadpole: 0
    如果您想要更多的细节,可以创建一个较复杂的脚本,以便添加另外一些信息,比如登录细节和格式。
    #!/bin/bash
    sepline=“====================”
    forUSERin `ls /home`
    do
    len=`echo $USER | awk ‘{print length($0)}’` # get length of username
    echo $USER
    sep=“${sepline:1:$len}” # set separator
    echo $sep # print separator
    cnt=`last $USER | grep ^$USER | wc -l` # count logins
    echo logins: $cnt # show login count
    last $USER | grep ^$USER | head -5 # show most recent logins
    echo
    done
    上述脚本将显示的数据限制在最近的五次登录,但是您可以轻松改变。以下是一个用户的数据的格式会什么样:
    shs
    ===
    logins: 105
    shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in
    shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)
    shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)
    shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36)
    shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38)
    检查企图使用sudo的情况
    如果您想看看用户中有谁企图使用sudo、而他们本无这项权限,可以运行这样的命令:
    $ grep “NOT in sudoers” /var/log/auth.log | awk ‘{print $6}’
    nemo
    如果您在无权提升权限的情况下试图使用sudo,而系统发出警告信息“用户名不在sudoers文件中。将报告该事件”,您可能会知道这个日志条目是该报告的精髓。除非管理员竭力寻找sudo使用违规,否则它们不会被人注意。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 109 天

    [LV.6]常住居民II

    3

    主题

    3003

    回帖

    1320

    积分

    二级逆天

    积分
    1320

    社区居民终身成就奖特殊贡献奖优秀斑竹奖

    QQ
    发表于 2020-9-9 10:18:29 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 12:59
  • 签到天数: 84 天

    [LV.6]常住居民II

    128

    主题

    1万

    回帖

    8428

    积分

    二级逆天

    积分
    8428

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2020-9-9 12:07:17 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    6218

    回帖

    8731

    积分

    二级逆天

    积分
    8731

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-9-10 07:48:38 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-12-18 15:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    61

    主题

    2245

    回帖

    914

    积分

    二级逆天

    积分
    914

    终身成就奖特殊贡献奖优秀斑竹奖

    发表于 2020-9-10 08:21:38 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表