0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何才能管理Linux中的用戶活動

Wildesbeast ? 來源:21IC ? 作者:21IC ? 2020-07-04 11:38 ? 次閱讀

如果要管理Linux服務器,則需要準備好使用幾個命令來檢查用戶活動-用戶何時連接以及他們連接的頻率、所屬的用戶組以及使用了多少空間、是否在讀電子郵件等。

本文介紹了可以幫助您了解用戶有哪些、他們在如何工作的多個命令。

finger

finger是獲取用戶個人資料的一個便捷命令。它使您可以查看誰已登錄或?qū)W⒂趩蝹€用戶,以查看上一次登錄、他們從何處登錄、閑置時間有多久(自運行命令以來有多久)等。在該命令中, 我們查看用戶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文件中的全名字段中定義了辦公室、辦公室電話和家庭電話號碼,這些信息才包括在內(nèi)。比如說:

nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash)。

上面的輸出還表明nemo沒有“計劃”,但這只是意味著該用戶沒有創(chuàng)建.plan文件、并將一些文本放入其中。這并不罕見。

如果沒有參數(shù),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命令也以一份格式清晰的列表顯示了目前活動的用戶,包括閑置時間、用戶最近運行了什么命令。它還在最上面一行顯示系統(tǒng)已運行了多久,并提供負載平均數(shù)字,表明系統(tǒng)有多忙碌。在這里,系統(tǒng)基本上處于閑置狀態(tài)。

$ 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命令,您可以查看用戶的數(shù)值ID和用戶組ID以及該用戶是哪些用戶組的成員。這些信息從/etc/passwd文件和/etc/group文件獲取而來。沒有參數(shù)的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數(shù)據(jù)顯示最近登錄活動,您可以運行這樣的命令:

$ 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首先顯示最近的活動,因為這是大多數(shù)管理員最感興趣的信息。

$ 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字節(jié)為單位。

ps和history

針對當前登錄的用戶,您始終可以使用ps -ef | grep ^nemo之類的命令,查看用戶目前在運行哪些命令和進程。想查看以前運行的命令,可以試著查看用戶的歷史記錄文件(比如.bash_history),不過要注意,用戶可以設置帳戶,以便某些命令不被捕獲到歷史記錄文件中,他們還可以編輯這些文件,如果選擇這么做的話。

統(tǒng)計登錄次數(shù)

如果您想查看自/var/log/wtmp文件上一次翻轉(zhuǎn)以來每個用戶登錄的次數(shù),可以使用這樣的命令:

$ 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

如果您想要更多的細節(jié),可以創(chuàng)建一個較復雜的腳本,以便添加另外一些信息,比如登錄細節(jié)和格式。

#!/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

上述腳本將顯示的數(shù)據(jù)限制在最近的五次登錄,但是您可以輕松改變。以下是一個用戶的數(shù)據(jù)的格式會什么樣:

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,而系統(tǒng)發(fā)出警告信息“用戶名不在sudoers文件中。將報告該事件”,您可能會知道這個日志條目是該報告的精髓。除非管理員竭力尋找sudo使用違規(guī),否則它們不會被人注意。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11312

    瀏覽量

    209714
  • 服務器
    +關注

    關注

    12

    文章

    9205

    瀏覽量

    85548
收藏 人收藏

    評論

    相關推薦

    Linux用戶與創(chuàng)建

    Linux用戶與創(chuàng)建 用戶的類型 超級管理用戶: 權限最高的
    的頭像 發(fā)表于 12-20 14:24 ?240次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>的<b class='flag-5'>用戶</b>與創(chuàng)建

    高手Linux運維管理必備工具大全

    一、統(tǒng)一賬號管理 1.LDAP 統(tǒng)一管理各種平臺帳號和密碼,包括但不限于各種操作系統(tǒng)(Windows、Linux),Linux系統(tǒng)sudo集成,系統(tǒng)
    的頭像 發(fā)表于 12-18 10:03 ?253次閱讀

    Linux用戶管理終極指南:從基礎到進階

    登陸系統(tǒng),只不過Linux支持多個用戶同時登陸。 F:難道Windows就不算多用戶操作系統(tǒng)嗎? Q:其實不是,在Windows系統(tǒng)可以創(chuàng)建多個
    的頭像 發(fā)表于 12-04 11:42 ?204次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>用戶</b><b class='flag-5'>管理</b>終極指南:從基礎到進階

    用戶與組管理全攻略之確保權限分配無懈可擊

    何為用戶何為組? Linux用戶和組相關的配置文件 用戶和組相關的管理命令 何為用戶何為組?
    的頭像 發(fā)表于 11-25 16:26 ?229次閱讀

    Linux學習之用戶管理

    Linux學習——用戶管理 1用戶/組概覽 Linux系統(tǒng)是多用戶、多任務的分時操作系統(tǒng),系統(tǒng)上
    的頭像 發(fā)表于 11-25 10:47 ?254次閱讀

    【RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux

    【RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux
    的頭像 發(fā)表于 11-16 01:02 ?255次閱讀
    【RA8D1試用<b class='flag-5'>活動</b>】RA8D1B-CPKCOR開發(fā)板移植<b class='flag-5'>linux</b>

    Linux系統(tǒng)shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux的命令解
    的頭像 發(fā)表于 11-05 15:40 ?278次閱讀

    Linux用戶管理詳解

    用戶分為普通用戶和超級用戶,超級用戶在Windows系統(tǒng)為Administrator在Linux
    的頭像 發(fā)表于 11-01 09:48 ?184次閱讀

    自連科技物聯(lián)網(wǎng)解決方案 助力線下活動智能化管理

    近期線下活動舉辦逐漸復蘇,針對線下活動的相關人員與資產(chǎn)統(tǒng)籌管理問題,自連科技利用物聯(lián)網(wǎng)技術為展會等各類線下活動提供物聯(lián)網(wǎng)智能化管理解決方案,
    的頭像 發(fā)表于 10-24 17:25 ?365次閱讀
    自連科技物聯(lián)網(wǎng)解決方案 助力線下<b class='flag-5'>活動</b>智能化<b class='flag-5'>管理</b>

    Linux開發(fā)怎么學?

    令是使用 Linux 的基礎,包括文件操作、目錄管理、用戶管理、進程管理、網(wǎng)絡管理等方面??梢酝?/div>
    發(fā)表于 10-10 14:34

    Linux內(nèi)核的頁面分配機制

    Linux內(nèi)核是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內(nèi)核是如何管理
    的頭像 發(fā)表于 08-07 15:51 ?300次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核<b class='flag-5'>中</b>的頁面分配機制

    Linux查看IP地址的方法

    ifconfig是一個網(wǎng)絡管理工具,用于配置、控制和查詢網(wǎng)絡接口。在許多舊的Linux發(fā)行版,ifconfig是查看和配置網(wǎng)絡接口的主要工具。
    的頭像 發(fā)表于 08-07 15:16 ?7636次閱讀
    在<b class='flag-5'>Linux</b><b class='flag-5'>中</b>查看IP地址的方法

    Linux高級文件系統(tǒng)管理詳解

    如果您的 Linux 服務器有多個用戶經(jīng)常存取數(shù)據(jù)時,為了維護所有使用者在硬盤容量的公平使用,磁盤配額 (Quota) 就是一項非常有用的工具,另外,如果你的用戶常常抱怨磁盤容量不夠用,那么更進
    的頭像 發(fā)表于 07-16 16:31 ?368次閱讀

    Linux系統(tǒng)LVM磁盤管理的應用與實踐

    邏輯卷管理提供了比傳統(tǒng)的磁盤和分區(qū)視圖更高級別的計算機系統(tǒng)上磁盤存儲的視圖。這使得系統(tǒng)管理員可以更靈活地將存儲分配給應用程序和用戶。
    發(fā)表于 04-09 14:39 ?916次閱讀

    AWTK 開源串口屏開發(fā)(9) - 用戶和權限管理

    在AWTK串口屏,內(nèi)置用戶管理和權限控制的模型,無需編碼即可實現(xiàn)登錄、登出、修改密碼、權限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下
    的頭像 發(fā)表于 02-19 12:10 ?517次閱讀
    AWTK 開源串口屏開發(fā)(9) - <b class='flag-5'>用戶</b>和權限<b class='flag-5'>管理</b>