Linux檢視使用者及其許可權管理

2021-09-26 09:58:12 字數 4074 閱讀 9875

檢視使用者

請開啟終端,輸入命令:

$ who am i

或者$ who mom likes

輸出的第一列表示開啟當前偽終端的使用者的使用者名稱(要檢視當前登入使用者的使用者名稱,去掉空格直接使用whoami即可),第二列的pts/0pts表示偽終端,所謂偽是相對於/dev/tty裝置而言的,還記得上一節講終端時的那七個使用[ctrl]+[alt]+[f1]~[f7]進行切換的/dev/tty裝置麼,這是「真終端」,偽終端就是當你在圖形使用者介面使用/dev/tty7時每開啟乙個終端就會產生乙個偽終端,pts/0後面那個數字就表示開啟的偽終端序號,你可以嘗試再開啟乙個終端,然後在裡面輸入who am i,看第二列是不是就變成pts/1了,第三列則表示當前偽終端的啟動時間。

who命令其它常用引數

引數說明

-a列印能列印的全部

-d列印死掉的程序

-mam i,mom likes

-q列印當前登入使用者數及使用者名稱

-u列印當前登入使用者登入資訊

-r列印執行等級

在 linux 系統裡,root賬戶擁有整個系統至高無上的權利,比如 新建/新增 使用者。

root 許可權,系統許可權的一種,與 system 許可權可以理解成乙個概念,但高於 administrator 許可權,root 是 linux 和 unix 系統中的超級管理員使用者帳戶,該帳戶擁有整個系統至高無上的權力,所有物件他都可以操作,所以很多黑客在入侵系統的時候,都要把許可權提公升到 root 許可權,用 windows 的方法理解也就是將自己的非法帳戶新增到 administrators 使用者組。更比如安卓作業系統中(基於 linux 核心)獲得 root 許可權之後就意味著已經獲得了手機的最高許可權,這時候你可以對手機中的任何檔案(包括系統檔案)執行所有增、刪、改、查的操作。

我們一般登入系統時都是以普通賬戶的身份登入的,要建立使用者需要 root 許可權,這裡就要用到sudo這個命令了。不過使用這個命令有兩個大前提,一是你要知道當前登入使用者的密碼,二是當前使用者必須在sudo使用者組。shiyanlou 使用者也屬於 sudo 使用者組(稍後會介紹如何檢視和新增使用者組)。

su,su- 與 sudo

su可以切換到使用者 user,執行時需要輸入目標使用者的密碼,sudo可以以特權級別執行 cmd 命令,需要當前使用者屬於 sudo 組,且需要輸入當前使用者的密碼。su -命令也是切換使用者,同時環境變數也會跟著改變成目標使用者的環境變數。

現在我們新建乙個叫 lilei 的使用者:

$ sudo adduser lilei
實驗樓的環境目前設定為 shiyanlou 使用者執行 sudo 不需要輸入密碼,通常此處需要按照提示輸入 shiyanlou 密碼(linux 下密碼輸入是不顯示任何內容的)。然後是給 lilei 使用者設定密碼,後面的選項的一些內容你可以選擇直接回車使用預設值:

這個命令不但可以新增使用者到系統,同時也會預設為新使用者建立 home 目錄:

$ ls /home
現在你已經建立好乙個使用者,並且你可以使用你建立的使用者登入了,使用如下命令切換登入使用者:

$ su -l lilei

輸入剛剛設定的 lilei 的密碼:

退出當前使用者跟退出終端一樣可以使用exit命令或者使用快捷鍵ctrl+d

2.3 使用者組

在 linux 裡面每個使用者都有乙個歸屬(使用者組),使用者組簡單地理解就是一組使用者的集合,它們共享一些資源和許可權,同時擁有私有資源,就跟家的形式差不多,你的兄弟姐妹(不同的使用者)屬於同乙個家(使用者組),你們可以共同擁有這個家(共享資源),爸媽對待你們都一樣(共享許可權),你偶爾寫寫日記,其他人未經允許不能檢視(私有資源和許可權)。當然乙個使用者是可以屬於多個使用者組的,正如你既屬於家庭,又屬於學校或公司。

在 linux 裡面如何知道自己屬於哪些使用者組呢?

方法一:使用 groups 命令

$ groups shiyanlou
其中冒號之前表示使用者,後面表示該使用者所屬的使用者組。這裡可以看到 shiyanlou 使用者屬於 shiyanlou 使用者組,每次新建使用者如果不指定使用者組的話,缺省會自動建立乙個與使用者名稱相同的使用者組(差不多就相當於家長的意思,或者說是老總)。預設情況下在 sudo 使用者組裡的可以使用 sudo 命令獲得 root 許可權。shiyanlou 使用者也可以使用 sudo 命令,為什麼這裡沒有顯示在 sudo 使用者組裡呢?可以檢視下/etc/sudoers.d/shiyanlou檔案,我們在/etc/sudoers.d目錄下建立了這個檔案,從而給 shiyanlou 使用者賦予了 sudo 許可權:

方法二:檢視/etc/group檔案

$ cat /etc/group | sort

這裡cat命令用於讀取指定檔案的內容並列印到終端輸出,後面會詳細講它的使用。| sort表示將讀取的文字進行乙個字典排序再輸出,然後你將看到如下一堆輸出,你可以在最下面看到 shiyanlou 的使用者組資訊:

沒找到,沒關係,你可以使用命令過濾掉一些你不想看到的結果:

$ cat /etc/group | grep -e "shiyanlou"

etc/group檔案格式說明

/etc/group 的內容包括使用者組(group)、使用者組口令、gid 及該使用者組所包含的使用者(user),每個使用者組一條記錄。格式如下:

group_name:password:gid:user_list

你看到上面的 password 欄位為乙個x並不是說密碼就是它,只是表示密碼不可見而已。

將其它使用者加入 sudo 使用者組

預設情況下新建立的使用者是不具有 root 許可權的,也不在 sudo 使用者組,可以讓其加入 sudo 使用者組從而獲取 root 許可權:

$ su -l lilei

$ sudo ls

會提示 lilei 不在 sudoers 檔案中,意思就是 lilei 不在 sudo 使用者組中,至於 sudoers 檔案(/etc/sudoers)你現在最好不要動它,操作不慎會導致比較麻煩的後果。

使用usermod命令可以為使用者新增使用者組,同樣使用該命令你必需有 root 許可權,你可以直接使用 root 使用者為其它使用者新增使用者組,或者用其它已經在 sudo 使用者組的使用者使用 sudo 命令獲取許可權來執行該命令。

這裡我用 shiyanlou 使用者執行 sudo 命令將 lilei 新增到 sudo 使用者組,讓它也可以使用 sudo 命令獲得 root 許可權:

$ su shiyanlou # 此處需要輸入shiyanlou使用者密碼

$ groups lilei

$ sudo usermod -g sudo lilei

$ groups lilei

然後你再切換回 lilei 使用者,現在就可以使用 sudo 獲取 root 許可權了。

2.4 刪除使用者

刪除使用者是很簡單的事:

$ sudo deluser lilei --remove-home

Linux檢視使用者及其許可權管理

檢視使用者 請開啟終端,輸入命令 who am i 或者 who mom likes 輸出的第一列表示開啟當前偽終端的使用者的使用者名稱 要檢視當前登入使用者的使用者名稱,去掉空格直接使用whoami即可 第二列的pts 0中pts表示偽終端,所謂偽是相對於 dev tty裝置而言的,還記得上一節講...

使用者及其許可權管理

linux系統是在純命令列下是實現對系統的管理的,命令的常見格式是 command options paratemeter,選項修正命令,命令再作用與引數。轉入正題,對於計算機來說,使用者只是以乙個數字的形式存在於其中,使用者的每一次登陸都需要認證 authenticacion 以及之後授權 aut...

Oracle檢視所有使用者及其許可權

oracle資料字典檢視的種類分別為 user,all 和 dba.user 有關使用者所擁有的物件資訊,即使用者自己建立的物件資訊 all 有關使用者可以訪問的物件的資訊,即使用者自己建立的物件的資訊加上 其他使用者建立的物件但該使用者有權訪問的資訊 dba 有關整個資料庫中物件的資訊 這裡的 可...