1. 程式人生 > >Linux如何檢視系統當前登入使用者資訊,linux su命令引數及用法詳解(linux切換使用者命令)

Linux如何檢視系統當前登入使用者資訊,linux su命令引數及用法詳解(linux切換使用者命令)

作為系統管理員,你可能經常會(在某個時候)需要檢視系統中有哪些使用者正在活動。有些時候,你甚至需要知道他(她)們正在做什麼。本文為我們總結了4種檢視系統使用者資訊(通過編號(ID))的方法。

1. 使用w命令檢視登入使用者正在使用的程序資訊
w命令用於顯示已經登入系統的使用者的名稱,以及他們正在做的事。該命令所使用的資訊來源於/var/run/utmp檔案。w命令輸出的資訊包括:
使用者名稱稱
使用者的機器名稱或tty號
遠端主機地址
使用者登入系統的時間
空閒時間(作用不大)
附加到tty(終端)的程序所用的時間(JCPU時間)
當前程序所用時間(PCPU時間)
使用者當前正在使用的命令
w命令還可以使用以下選項
-h忽略標頭檔案資訊
-u顯示結果的載入時間
-s不顯示JCPU, PCPU, 登入時間
 

複製程式碼 程式碼示例:$ w
 23:04:27 up 29 days,  7:51,  3 users,  load average: 0.04, 0.06, 0.02
USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57    8.00s  0.05s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01    2:53   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.00s  0.00s w

$ w -h
ramesh   pts/0    dev-db-server        22:57   17:43   2.52s  0.01s sshd: ramesh [priv]
jason    pts/1    dev-db-server        23:01   20:28   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -h

$ w -u
 23:22:06 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             

[email protected]   IDLE   JCPU   PCPU WHAT
ramesh   pts/0    dev-db-server        22:57   17:47   2.52s  2.49s top
jason    pts/1    dev-db-server        23:01   20:32   0.01s  0.01s -bash
john     pts/2    dev-db-server        23:04    0.00s  0.03s  0.00s w -u

$ w -s
 23:22:10 up 29 days,  8:08,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM               IDLE WHAT
ramesh   pts/0    dev-db-server        17:51  sshd: ramesh [priv]
jason    pts/1    dev-db-server        20:36  -bash
john     pts/2    dev-db-server         1.00s w -s
 

2.使用who命令檢視(登入)使用者名稱稱及所啟動的程序
who命令用於列舉出當前已登入系統的使用者名稱稱。其輸出為:使用者名稱、tty號、時間日期、主機地址。
 

複製程式碼 程式碼示例:$ who
ramesh pts/0        2009-03-28 22:57 (dev-db-server)
jason  pts/1        2009-03-28 23:01 (dev-db-server)
john   pts/2        2009-03-28 23:04 (dev-db-server)
 
如果只希望列出使用者,可以使用如下語句:
 

複製程式碼 程式碼示例:$ who | cut -d' ' -f1 | sort | uniq
john
jason
ramesh
 
補充:users命令,可用於列印輸出登入伺服器的使用者名稱稱。該命令除了有help和version選項外,再沒有其他選項。如果某使用者使用了多個終端,則相應的會顯示多個重複的使用者名稱。
 

複製程式碼 程式碼示例:$ users
john jason ramesh
3. 使用whoami命令檢視你所使用的登入名稱
whoami命令用於顯示登入的使用者名稱。
 

複製程式碼 程式碼示例:$ whoami
john
 
whoami命令的執行效果和id -un的效果完全一樣,例如:
 

複製程式碼 程式碼示例:$ id -un
john
 
whoami命令能顯示當前登入的使用者名稱稱,以及當前所使用的tty資訊。該命令的輸出結果包括如下內容:使用者名稱、tty名、當前時間日期,同時還包括使用者登入系統所使用的連結地址。
 

複製程式碼 程式碼示例:$ who am i
john     pts/2        2009-03-28 23:04 (dev-db-server)

$ who mom likes
john     pts/2        2009-03-28 23:04 (dev-db-server)

Warning: Don't try "who mom hates" command.

當然,如果使用su命令改變使用者,則該命令(whoami)所顯示的結果將隨之改變。
 
4. 隨時檢視系統的歷史資訊(曾經使用過系統的使用者資訊)
last命令可用於顯示特定使用者登入系統的歷史記錄。如果沒有指定任何引數,則顯示所有使用者的歷史資訊。在預設情況下,這些資訊(所顯示的資訊)將來源於/var/log/wtmp檔案。該命令的輸出結果包含以下幾列資訊:
使用者名稱稱
tty裝置號
歷史登入時間日期
登出時間日期
總工作時間
 

複製程式碼 程式碼示例:$ last jason
jason   pts/0        dev-db-server   Fri Mar 27 22:57   still logged in
jason   pts/0        dev-db-server   Fri Mar 27 22:09 - 22:54  (00:45)
jason   pts/0        dev-db-server   Wed Mar 25 19:58 - 22:26  (02:28)
jason   pts/1        dev-db-server   Mon Mar 16 20:10 - 21:44  (01:33)
jason   pts/0        192.168.201.11  Fri Mar 13 08:35 - 16:46  (08:11)
jason   pts/1        192.168.201.12  Thu Mar 12 09:03 - 09:19  (00:15)
jason   pts/0        dev-db-server   Wed Mar 11 20:11 - 20:50  (00:39

linux su 命令

建議大家切換使用者的時候 使用 su - root 這樣,否則可能發現某些命令執行不了

關於su 、su - 及 sudo的區別 請往下看

1.命令作用

su的作用是變更為其它使用者的身份,超級使用者除外,需要鍵入該使用者的密碼。

2.使用方式

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

3.引數說明

-f , –fast:不必讀啟動檔案(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。

-l , –login:加了這個引數之後,就好像是重新登陸一樣,大部分環境變數(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,並

且工作目錄也會改變。如果沒有指定USER,預設情況是root。

-m, -p ,–preserve-environment:執行su時不改變環境變數。

-c command:變更賬號為USER的使用者,並執行指令(command)後再變回原來使用者。

–help 顯示說明檔案
–version 顯示版本資訊

USER:欲變更的使用者賬號,
ARG: 傳入新的Shell引數。

4.例子

su -c ls root 變更帳號為 root 並在執行 ls 指令後退出變回原使用者。

su [使用者名稱]

a>在root使用者下, 輸入 su 普通使用者. 則切換至普通使用者, 從root切換到變通使用者不需要密碼

b>在普通使用者下, 輸入 su [使用者名稱]
提示 password:
輸入使用者的PASSWORD, 則切換至該使用者

擴充套件閱讀一:Linux下 su命令與su - 命令有什麼區別?

su 是切換到其他使用者,但是不切換環境變數(比如說那些export命令檢視一下,就知道兩個命令的區別了)

su - 是完整的切換到一個使用者環境

所以建議大家切換使用者的時候,儘量使用 su - linuxso 這樣 否則可能發現某些命令執行不了

擴充套件閱讀二:su和sudo的區別

由於su 對切換到超級許可權使用者root後,許可權的無限制性,所以su並不能擔任多個管理員所管理的系統。如果用su 來切換到超級使用者來管理系統,也不能明確哪些工作是由哪個管理員進行的操作。特別是對於伺服器的管理有多人蔘與管理時,最好是針對每個管理員的技術特長和 管理範圍,並且有針對性的下放給許可權,並且約定其使用哪些工具來完成與其相關的工作,這時我們就有必要用到 sudo。

通過sudo,我們能把某些超級許可權有針對性的下放,並且不需要普通使用者知道root密碼,所以sudo 相對於許可權無限制性的su來說,還是比較安全的,所以sudo 也能被稱為受限制的su ;另外sudo 是需要授權許可的,所以也被稱為授權許可的su;

sudo 執行命令的流程是當前使用者切換到root(或其它指定切換到的使用者),然後以root(或其它指定的切換到的使用者)身份執行命令,執行完成後,直接退回到當前使用者;而這些的前提是要通過sudo的配置檔案/etc/sudoers來進行授權;

相關推薦

Linux如何檢視系統當前登入使用者資訊linux su命令引數用法(linux切換使用者命令)

作為系統管理員,你可能經常會(在某個時候)需要檢視系統中有哪些使用者正在活動。有些時候,你甚至需要知道他(她)們正在做什麼。本文為我們總結了4種檢視系統使用者資訊(通過編號(ID))的方法。 1. 使用w命令檢視登入使用者正在使用的程序資訊 w命令用於顯示已經登入系統的使用

[ARM-Linux開發]linux dmesg命令引數用法(linux顯示開機資訊命令)

功能說明:顯示開機資訊。語  法:dmesg [-cn][-s <緩衝區大小>]補充說明:kernel會將開機資訊儲存在ring buffer中。您若是開機時來不及檢視資訊,可利用dmesg來檢視。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案

linux grep命令引數用法---linux管道命令grep

今天為了查詢檔案中某段字元,找了好久,最後成功使用指令: find . -name "*.cpp" |xargs grep -in “get_itemInfo” | grep -v obd_c 找出了自己想要的檔案。(指定cpp結尾的檔案,找出有get_itemInfo字

linux kill命令引數用法--linux終止程序命令

Linux kill 命令使用詳解 功能說明:刪除執行中的程式或工作。 語  法:kill [-s <資訊名稱或編號>][程式] 或 kill [-l <資訊編號>] 補充說明:kill可將指定的資訊送至程式。預設的資訊為SIGTERM(15),可

Linux set命令引數用法--Linux設定環境變數命令

功能說明:設定shell。 語  法:set [+-abCdefhHklmnpPtuvx] 補充說明:用set 命令可以設定各種shell選項或者列 出shell變數.單個選項設定常用的特性.在某些選項之後-o引數將特殊特性開啟.在某些選項之後使用+o引數將關閉某些特性,不

linux su命令引數用法

linux su 命令 建議大家切換使用者的時候 使用 su - root 這樣,否則可能發現某些命令執行不了 關於su 、su - 及 sudo的區別 請往下看 1.命令作用 su的作用是變更為其它使用者的身份,超級使用者除外,需要鍵入該使用者的

linux telnet命令引數用法

lnet [-8acdEfFKLrx][-b<主機alias.html' target='_blank'>別名>][-e<脫離字元>][-k<域名>][-l<使用者名稱稱>][-n<記錄檔案>][-S<

linux stat命令引數用法

功能說明:顯示inode內容。 語  法:stat [檔案或目錄] 補充說明:stat以文字的格式來顯示inode的內容。 ls 命令及其許多引數提供了一些非常有用的檔案資訊。另一個不太為人所熟知的命令 stat 提供了一些更為有用的資訊。  下面演示瞭如何對可執行檔案“

mkisofs引數用法---linux製作ISO啟動盤命令

最簡單的光碟生成ISO-----------只有-o –v兩個基本引數 [[email protected] home]# ls clamav  guan  guant  iei  simscan  yu [[email protected] home]# mkisofs -o test.

linux mlabel命令引數用法---設定磁碟的標籤

Linux mlabel命令用法詳解命令名稱:mlabel ,使用許可權:所有使用者,使用方式:mlabel [-vcs] drive:[new_label]說明: 本程式可設定磁碟的標籤 (Label)。 如果磁碟上設定過標籤,mlabel 會將他顯示給使用者。如果

Linux下用於檢視系統當前登入使用者資訊的4種方法

作為系統管理員,你可能經常會(在某個時候)需要檢視系統中有哪些使用者正在活動。有些時候,你甚至需要知道他(她)們正在做什麼。本文為我們總結了4種檢視系統使用者資訊(通過編號(ID))的方法。 1. 使用w命令檢視登入使用者正在使用的程序資訊 w命令用於顯示已經登入系統

CentOS下用於檢視系統當前登入使用者資訊的4種方法

1. 使用w命令檢視登入使用者正在使用的程序資訊 w命令用於顯示已經登入系統的使用者的名稱,以及他們正在做的事。該命令所使用的資訊來源於/var/run/utmp檔案。w命令輸出的資訊包括: 使用者名稱稱使用者的機器名稱或tty號遠端主機地址使用者登入系統的時間空閒時間

linux cp命令參數用法---linux 復制文件命令cp

linux file linux cp命令參數及用法詳解---linux 復制文件命令cp [root@Linux ~]# cp [-adfilprsu] 來源檔(source) 目的檔(destination)[root@linux

Linux檢視作業系統當前登入使用者資訊的四種方法

作為系統開發或維護人員,你可能經常會(在某個時候)需要檢視系統中有哪些使用者正在活動。有些時候,你甚至需要知道他(她)們正在做什麼。本文為我們總結了4種檢視系統使用者資訊(通過編號(ID))的方法。 1. 使用w命令檢視登入使用者正在使用的程序資訊 w命令用於顯示已經登入系統的使用者的名稱,以及他們

Linux檢視系統當前使用者命令

一, w命令 該命令用於顯示登入到系統的使用者情況,w命令功能強大,它不但可以顯示有誰登入到系統,還可以顯示出這些使用者當前正在進行的工作,並且統計資料相對who命令來說更加詳細和科學. w命令的顯示專案按以下順序排列:當前時間,系統啟動到現在的時間,登入使用者的數目,

VMware虛擬機克隆Linux(CentOS)系統後找不到eth0網卡的問題(圖文

sunny 電腦 安裝 bubuko 幹貨 IV onf 虛擬機克隆 技巧 問題現象:   有時候,會使用VMware虛擬機的的克隆功能,快速的復制已安裝好的Linux系統。   可是克隆完之後,會發現沒有eth0網卡。

Linux使用者組管理命令整理例項

使用者,組 相關檔案: /etc/passwd 使用者相關資訊 /etc/login.defs 設定使用者建立時預設相關資訊 /etc/defualt/useradd 使用者新增時會建立的相關資訊設定 /etc/skel

(轉)Linux命令之Ethtool用法

如果 size ram phy 基本設置 速度 終端 網卡驅動 sed Linux命令之Ethtool用法詳解 原文:http://www.linuxidc.com/Linux/2012-01/52669.htm Linux/Unix命令之Ethtool描述:Eth

nohup和&後臺運行進程查看終止

padding https ava logs awk nod 占用 定時 htm nohup 和重定向 功能一樣,可用於定時啟動 1.nohup 用途:不掛斷地運行命令。 語法:nohup Command [ Arg … ] [ & ]   無論是否將 noh

Linux命令--ss命令引數使用

  ss是Socket Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統計資訊,它可以顯示和netstat類似的內容。但ss的優勢在於它能夠顯示更多更詳細的有關TCP和連線狀態的資訊,而且比netstat更快速更高效。 一、ss命令的引數如下 Usage: ss [ OPTI