Linux的使用者和組(03)
阿新 • • 發佈:2018-12-15
楔子
- 登入linux系統時,必須通過指定的使用者名稱和密碼進行登入。我們的使用者名稱是
zjh
,但是Linux不把我們看作zjh
,而是一個數字。 - 在Linux中,用userid(一個32位的二進位制整數)來表示使用者。
- 可以通過id命令,檢視自己的userid
- Userid為0的表示根使用者,即使用者名稱稱為root的使用者
- 系統執行的每個程序、所建立的每個檔案都有一個userid,這個userid代表執行這個程式的使用者,或者檔案的所有者
使用者和組
簡述 & /etc/passwd
& /etc/shadow
Linux系統中,使用者被儲存在/etc/passwd
檔案中。該檔案有7列:使用者名稱
密碼
、使用者id
、主要組id
、備註資訊
、主目錄
、登入shell
。
- 密碼儲存在第二個欄位、出於安全考慮,linux採用一種更新叫做“影子密碼”,使用者的密碼被專門儲存在/etc/shadow檔案中。這裡只顯示X。
shell
:指為使用者提供操作介面的軟體(命令解析器)。它接收使用者命令,然後呼叫相應的應用程式。- 登陸shell就是說這個shell是可以用於使用者登入使用的,一般Linux預設的使用者shell都是bash ,也就是說你可以登入進去敲命令。非登陸shell ,經典的
/bin/nologin
就是一個非登陸shell,也就是說如果一個使用者預設的shell是它的話,這個使用者即使登入進Linux也無法使用Linux。shell是使用者和計算機交流的中介,“登入shell”保證使用者和計算機交流,“非登陸shell”無法讓使用者與計算機交流。關於使用者的預設登入shell是在 /etc/passwd 檔案中記錄的。“非登陸”shell 有它特定的用途,比如一個用Linux搭建一個ftp伺服器,並且建立了很多的ftp使用者,那麼就可以將這些使用者的預設shell改為nologin,這樣一來,這些雖然是Linux上的使用者可是卻無法登入進Linux主機,只能登入ftp伺服器了。保證了安全性。
/etc/passwd
:
/etc/shadow
:使用者名稱
加密密碼
最近更改密碼的日期
密碼不可更改的天數
密碼需要重新更改的天使
密碼更改期限前的警告期限
密碼過期的寬限時間
帳號失效日期
保留欄位
三種使用者
- 一般使用者 userid>=500
- 超級使用者 userid=0
- 系統使用者 userid<500
- linux在安裝某些軟體包時會自動分配它們自己的userid和使用者“mail”、“news等使用者名稱
passwd命令
可以通過passwd命令更改自己的密碼,只有自己或者根使用者(root)才有權利更改密碼。
useradd(adduser)
根使用者通過這兩個命令來新增新使用者,並且通過passwd設定密碼,建立後在/home目錄下會建立一個當前使用者的家目錄。 如果沒有,請點選這篇文章。
- 分配一個新的userid,是/etc/passwd中數字最大的
- 在/etc/passwd中新增一行
- 為使用者建立一個新的主目錄 /home/cauc
- 在/etc/group中為使用者建立一個新的個人組
su
Su命令可以從當前使用者切換到其他使用者
- [[email protected] ~]$ su fxr
- 從普通使用者切換到其他使用者或者根使用者需要密碼
- 從根使用者切換到其他使用者不需要密碼
- [[email protected] ~]$ su fxr
groups
顯示當前登入使用者所支援的組
usermod & userdel
usermod命令用於建立使用者後修改其屬性
-G
改變使用者支援的使用者組-e
“YYYY-MM-DD” 設定失效日期-L
不讓他們登入-U
反轉-L的效果-s
改變shell的實際檔案-c
新增備註
userdel命令用於刪除使用者,-r
選項讓使用者的主目錄及其以下的所有條目都回被刪除。
例
- 在系統中新增三個使用者, Blondie、Prince和Madonna:
useradd Blondie
、useradd Prince
、useradd Madonna
- 他們都希望屬於次要組music:
groupadd music
、usermod –G music Blondie
、usermod –G music Prince
、usermod –G music Madonna
- Blondie要求在
/etc/passwd
中給他的條目新增備註“heart of glass”:usermod –c "heart of glass" Blondie
- Prince要求使用/bin/csh作為登入shell:
usermod –s /bin/csh Prince
- Madonna的使用期限為2012-12-1:
usermod –e "2012-12-1" Madonna
- Blondie決定加入摔跤俱樂部wrestle組:
groupadd wrestle
、usermod -a –G wrestle Blondie
(不新增-a
選項會把該使用者之前的次要組都刪掉)。 - Prince要將他的使用者名稱改為tafkap:
usermod –l tafkap Prince
- Madonna開始對風水感興趣,加入組fengshui,並要求將她的userid改為888:
groupadd fengshui
、usermod -a –G fengshui Madonna
、usermod –u 888 Madonna
- Prince又要改名字了,我們覺得太麻煩,乾脆鎖住他的帳號(禁止登陸):
usermod –L Prince
- Blondie最近表現不好,我們決定將他踢出去(刪除):
userdel –r Blondie
(想把該使用者所有資訊都一起刪除可以使用-r
)