1. 程式人生 > >Linux的使用者和組(03)

Linux的使用者和組(03)

楔子

  • 登入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 Blondieuseradd Princeuseradd Madonna
  • 他們都希望屬於次要組music:groupadd musicusermod –G music Blondieusermod –G music Princeusermod –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 wrestleusermod -a –G wrestle Blondie(不新增-a選項會把該使用者之前的次要組都刪掉)。
  • Prince要將他的使用者名稱改為tafkap:usermod –l tafkap Prince
  • Madonna開始對風水感興趣,加入組fengshui,並要求將她的userid改為888:groupadd fengshuiusermod -a –G fengshui Madonnausermod –u 888 Madonna
  • Prince又要改名字了,我們覺得太麻煩,乾脆鎖住他的帳號(禁止登陸):usermod –L Prince
  • Blondie最近表現不好,我們決定將他踢出去(刪除):userdel –r Blondie(想把該使用者所有資訊都一起刪除可以使用-r