Linux查看用戶及其權限管理


https://www.cnblogs.com/fxlttkl/p/7601224.html

查看用戶

請打開終端,輸入命令:

$ 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 打印運行等級

2.2 創建用戶

在 Linux 系統里, root 賬戶擁有整個系統至高無上的權利,比如 新建/添加 用戶。

root 權限,系統權限的一種,與 SYSTEM 權限可以理解成一個概念,但高於 Administrator 權限,root 是 Linux 和 UNIX 系統中的超級管理員用戶帳戶,該帳戶擁有整個系統至高無上的權力,所有對象他都可以操作,所以很多黑客在入侵系統的時候,都要把權限提升到 root 權限,用 Windows 的方法理解也就是將自己的非法帳戶添加到 Administrators 用戶組。更比如安卓操作系統中(基於 Linux 內核)獲得 root 權限之后就意味着已經獲得了手機的最高權限,這時候你可以對手機中的任何文件(包括系統文件)執行所有增、刪、改、查的操作。

我們一般登錄系統時都是以普通賬戶的身份登錄的,要創建用戶需要 root 權限,這里就要用到 sudo 這個命令了。不過使用這個命令有兩個大前提,一是你要知道當前登錄用戶的密碼,二是當前用戶必須在 sudo 用戶組。shiyanlou 用戶也屬於 sudo 用戶組(稍后會介紹如何查看和添加用戶組)。

su,su- 與 sudo

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

現在我們新建一個叫 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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM