檢視使用者
請開啟終端,輸入命令:
$ who am i
或者$ who mom likes
輸出的第一列表示開啟當前偽終端的使用者的使用者名稱(要檢視當前登入使用者的使用者名稱,去掉空格直接使用whoami
即可),第二列的pts/0
中pts
表示偽終端,所謂偽是相對於/dev/tty
裝置而言的,還記得上一節講終端時的那七個使用[ctrl]
+[alt]
+[f1]~[f7]
進行切換的/dev/tty
裝置麼,這是「真終端」,偽終端就是當你在圖形使用者介面使用/dev/tty7
時每開啟乙個終端就會產生乙個偽終端,pts/0
後面那個數字就表示開啟的偽終端序號,你可以嘗試再開啟乙個終端,然後在裡面輸入who am i
,看第二列是不是就變成pts/1
了,第三列則表示當前偽終端的啟動時間。
who
命令其它常用引數
引數說明
-a
列印能列印的全部
-d
列印死掉的程序
-m
同am 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 有關整個資料庫中物件的資訊 這裡的 可...