Linux su命令用於把當前使用者變更為其他使用者的身份,通過該命令可以實現任何身份的切換,包括從普通使用者切換為 root
使用者、從 root
使用者切換為普通使用者以及普通使用者之間的切換,除 root 外,需要輸入該使用者的密碼,這是什麼意思呢?
普通使用者之間切換以及普通使用者切換至root使用者,都需要輸入對方的密碼才能實現切換;從root使用者切換至其他使用者,無需對方密碼,直接可切換成功。
一、Linux使用者切換命令:su
su 命令的格式如下:
su [選項] 使用者名稱
該命令常用的選項及各自的含義如下:
-
:不僅把當前使用者切換到指定使用者,同時所用的工作環境也切換為此使用者的環境(包括 PATH 變數、MAIL 變數等),使用 - 選項如果省略使用者名稱,則預設切換到 root 使用者。-l
:作用和上一個引數-
類似,也就是在切換使用者身份的同時,完整切換工作環境,但後面必須要加上需要切換的賬號-p
、-m
:表示切換為指定使用者的身份,但不改變當前的工作環境-c
:僅切換使用者執行一次命令,執行後自動切換回來
1、比如當前登入系統的使用者是 chuan
,我想切換到 root
使用者:
$ su root
2、切換帳號為 root
並在執行 ls
命令後自動切換到原來的使用者:
$ su -c ls root
具體什麼意思呢?我現在登入的賬號是 chuan
,在執行su -c ls root
命令之後,首先要我們輸入root使用者密碼,輸入回車之後,系統會以root
使用者執行ls
命令,執行完成之後,立馬自動切換回chuan
使用者了。
3、注意,使用 su 命令時,有 - 和沒有 - 是完全不同的
-
選項表示在切換使用者身份的同時,連當前使用的環境變數也切換成指定使用者的。我們知道,環境變數是用來定義作業系統環境的,因此如果系統環境沒有隨使用者身份切換,很多命令無法正確執行。
4、切換回以前的使用者
比如當前登入使用者是chuan
,執行了su root
命令之後,想切換回chuan
使用者,執行 exit
命令即可。
二、whoami
命令和 who am i
命令
別看這兩個個命令字母都是一樣,唯一的差別是第二個命令多了兩個空格,但是這是兩條完全是不同的,前者用來列印當前執行操作的使用者名稱,後者則用來列印登陸當前 Linux 系統的使用者名稱。
比如我現在登入的是chuan
使用者,分別執行這兩條命令看下:
然後我用su
命令切換到root
使用者:
可以看出,在未切換使用者之前,whoami
和 who am i
命令的輸出都是chuan
使用者的資訊,但使用 su
命令切換使用者後,使用 whoami
命令列印的是切換後的使用者名稱,而 who am i
命令列印的仍然是登陸系統時所用的使用者名稱。
三、新增使用者組命令:groupadd
新增使用者組的命令是 groupadd
,新工作組的資訊將被新增到系統檔案中,命令格式如下:
groupadd [選項] 組名
該命令常用的選項及各自的含義如下:
-g
:指定新建工作組的id-r
:建立系統工作組,系統工作組的組ID小於500
使用者組相關的檔案:
/etc/group
組賬戶資訊。/etc/gshadow
安全組賬戶資訊。
比如建立一個新組,組名是groupname1
,並設定組ID加入系統:
groupadd -g 344 groupname1
我們檢視一下使用者組檔案/etc/group
:
四、修改使用者組資訊:groupmod
該命令用於更改群組識別碼或名稱,命令格式如下:
groupmod [選項] 組名
該命令常用的選項及各自的含義如下:
-g GID
:修改組 ID-n 新組名
:修改組名
比如把上一步建立的組名 groupname1
修改為 testgroup
:
$ groupmod -n testgroup groupname1
提示:組名和 GID 不要隨意修改,因為非常容易導致管理員邏輯混亂。如果非要修改使用者名稱或組名,則建議大家先刪除舊的,再建立新的。
五、刪除使用者組資訊:groupdel
groupdel
命令用於刪除指定的工作組,倘若該群組中仍包括某些使用者,則必須先刪除這些使用者後,方能刪除群組。命令格式如下:
groupdel 組名
通過前面的學習我們知道,使用 groupdel
命令刪除群組,其實就是刪除 /etc/gourp
檔案和 /etc/gshadow
檔案中有關目標群組的資料資訊。
比如現在系統中有名為 groupname2
的群組,通過檢視上述兩個檔案可以看到該群組的資訊。執行使用者組刪除命令之後,再次檢視上述兩個檔案資訊已經查詢不到了:
注意:使用
groupdel
不能隨意刪除群組,如果有群組還是某使用者的初始群組,則無法刪除。
如上圖,執行命令 groupdel chuan
刪除名為chuan
的群組刪除失敗。
Linux使用者管理到這裡就基本講解完畢了,下一章開始未大家開始講解Linux軟體包管理相關知識。
本作品採用《CC 協議》,轉載必須註明作者和本文連結