天天看點

linux使用者群組管理,/etc/passwd 、/etc/shadow和/etc/group 檔案内容解釋 - 清晨的陽光☆

linux使用者群組管理,/etc/passwd 、/etc/shadow和/etc/group 檔案内容解釋

與使用者相關的系統配置檔案主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是使用者資訊的加密檔案,比如使用者的密碼密碼的加密儲存等;

/etc/passwd 和/etc/shadow 檔案是互補的;

/etc/passwd 是系統識别使用者的一個檔案,系統所有的使用者都在這裡有登入記載;當我們以beinan 這個賬号登入時,系統首先會查閱 /etc/passwd

檔案,看是否有beinan 這個賬号,然後确定beinan的UID,通過UID 來确認使用者和身份,如果存在則讀取/etc/shadow影子檔案中所對應的beinan的密碼;如果密碼核實無誤則登入系統,讀取使用者的配置檔案;

1)/etc/passwd 的内容了解:

  在/etc/passwd 中,每一行都表示的是一個使用者的資訊;一行有7個段位;每個段位用:号分割,例如:

   beinan:x:500:500:beinan sun:/home/beinan:/bin/bash

   linuxsir:x:501:502::/home/linuxsir:/bin/bash

  第一字段:使用者名(也被稱為登入名);在上面的例子中,我們看到這兩個使用者的使用者名分别是 beinan 和linuxsir;

  第二字段:密碼;在例子中我們看到的是一個x,其實密碼已被映射到/etc/shadow 檔案中;

  第三字段:UID ;請參看本文的UID的解說;

  第四字段:GID;請參看本文的GID的解說;

  第五字段:使用者名全稱,這是可選的,可以不設定,在beinan這個使用者中,使用者的全稱是beinan sun ;而linuxsir 這個使用者是沒有設定全稱;

  第六字段:使用者的家目錄所在位置;beinan 這個使用者是/home/beinan ,而linuxsir 這個使用者是/home/linuxsir ;

  第七字段:使用者所用SHELL 的類型,beinan和linuxsir 都用的是 bash ;是以設定為/bin/bash ;

2)關于UID 的了解:

  UID 是使用者的ID 值,在系統中每個使用者的UID的值是唯一的,更确切的說每個使用者都要對應一個唯一的UID

,系統管理者應該確定這一規則。系統使用者的UID的值從0開始,是一個正整數,至于最大值可以在/etc/login.defs

可以查到,一般Linux發行版約定為60000;

  UID 是确認使用者權限的辨別,使用者登入系統所處的角色是通過UID 來實作的,而非使用者名,切記; 在Linux 中,root的UID是0,擁有系統最高權限;比如我在/etc/passwd 中把beinan的UID改為0後,你設想會發生什麼呢?beinan這個使用者會被确認為root使用者。beinan這個帳号可以進行所有root的操作;

  

  一般情況下,每個Linux的發行版都會預留一定的UID和GID給系統虛拟使用者占用,虛拟使用者一般是系統安裝時就有的,是為了完成系統任務所必須的使用者,但虛拟使用者是不能登入系統的,比如ftp、nobody、adm、rpm、bin、shutdown等;預留數量以各個系統中/etc/login.defs

中的 UID_MIN 的最小值為準;比如Fedora 系統 login.defs的UID_MIN是500,而UID_MAX

值為60000,也就是說我們通過adduser預設添加的使用者的UID的值是500到60000之間;

2、關于/etc/shadow ;

  1)/etc/shadow 概說;

  /etc/shadow檔案是/etc/passwd 的影子檔案,這個檔案并不由/etc/passwd

而産生的,這兩個檔案是應該是對應互補的;shadow内容包括使用者及被加密的密碼以及其它/etc/passwd

不能包括的資訊,比如使用者的有效期限等;這個檔案隻有root權限可以讀取和操作,權限如下:

  -r——– 1 root root 1.5K 10月 16 09:49 /etc/shadow

  2)/etc/shadow 的内容分析;

  /etc/shadow 檔案的内容包括9個段位,每個段位之間用:号分割;我們以如下的例子說明;

  beinan:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::

  linuxsir:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:

  第一字段:使用者名(也被稱為登入名),在/etc/shadow中,使用者名和/etc/passwd 是相同的,這樣就把passwd 和shadow中用的使用者記錄聯系在一起;這個字段是非空的;

  第二字段:密碼(已被加密),如果是有些使用者在這段是x,表示這個使用者不能登入到系統;這個字段是非空的;

  第三字段:上次修改密碼的時間;這個時間是從1970年01月01日算起到最近一次修改密碼的時間間隔(天數),您可以通過passwd 來修改使用者的密碼,然後檢視/etc/shadow中此字段的變化;

  第四字段:兩次修改密碼間隔最少的天數;如果設定為0,則禁用此功能;也就是說使用者必須經過多少天才能修改其密碼;此項功能用處不是太大;預設值是通過/etc/login.defs檔案定義中擷取,PASS_MIN_DAYS 中有定義;

  第五字段:兩次修改密碼間隔最多的天數;這個能增強管理者管理使用者密碼的時效性,應該說在增強了系統的安全性;如果是系統預設值,是在添加使用者時由/etc/login.defs檔案定義中擷取,在PASS_MAX_DAYS 中定義;

  第六字段:提前多少天警告使用者密碼将過期;當使用者登入系統後,系統登入程式提醒使用者密碼将要廢棄;如果是系統預設值,是在添加使用者時由/etc/login.defs檔案定義中擷取,在PASS_WARN_AGE 中定義;

  第七字段:在密碼過期之後多少天禁用此使用者;此字段表示使用者密碼廢棄多少天後,系統會禁用此使用者,也就是說系統會不能再讓此使用者登入,也不會提示使用者過期,是完全禁用;

  第八字段:使用者過期日期;此字段指定了使用者廢棄的天數(從1970年的1月1日開始的天數),如果這個字段的值為空,帳号永久可用;

  第九字段:保留字段,目前為空,以備将來Linux發展之用;

  如果更為詳細的,請用 man shadow來檢視幫助,您會得到更為詳盡的資料;

二、關于使用者組;

  具有某種共同特征的使用者集合起來就是使用者組(Group)。使用者組(Group)配置檔案主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密資訊檔案;

  1、/etc/group 解說;

檔案是使用者組的配置檔案,内容包括使用者和使用者組,并且能顯示出使用者是歸屬哪個使用者組或哪幾個使用者組,因為一個使用者可以歸屬一個或多個不同的使用者組;同一用

戶組的使用者之間具有相似的特征。

2、/etc/group 内容具體分析

  /etc/group 的内容包括使用者組(Group)、使用者組密碼、GID及該使用者組所包含的使用者(User),每個使用者組一條記錄;格式如下:

  group_name:passwd:GID:user_list

  在/etc/group 中的每條記錄分四個字段:

  第一字段:使用者組名稱;

  第二字段:使用者組密碼;

  第三字段:GID

  第四字段:使用者清單,每個使用者之間用,号分割;本字段可以為空;如果字段為空表示使用者組為GID的使用者名;

  我們舉個例子:

  root:x:0:root,linuxsir 注:使用者組root,x是密碼段,表示沒有設定密碼,GID是0,root使用者組下包括root、linuxsir以及GID為0的其它使用者(可以通過/etc/passwd檢視);;

2、關于GID ;

  GID和UID類似,是一個正整數或0,GID從0開始,GID為0的組讓系統付予給root使用者組;系統會預留一些較靠前的GID給系統虛拟

使用者(也被稱為僞裝使用者)之用;檢視系統添加使用者組預設的GID範圍應該檢視 /etc/login.defs 中的 GID_MIN 和GID_MAX 值;

  我們可以對照/etc/passwd和/etc/group 兩個檔案;我們會發現有預設使用者組之說;即當一個用屬于多個組時會有一個預設的組;在建立目錄和檔案時,會使用預設的使用者組;

3、/etc/gshadow 解說;

  /etc/gshadow是/etc/group的加密資訊檔案,比如使用者組(Group)管理密碼就是存放在這個檔案。/etc

/gshadow和/etc/group是互補的兩個檔案;對于大型伺服器,針對很多使用者群組,定制一些關系結構比較複雜的權限模型,設定使用者組密碼是極

有必要的。比如我們不想讓一些非使用者組成員永久擁有使用者組的權限和特性,這時我們可以通過密碼驗證的方式來讓某些使用者臨時擁有一些使用者組特性,這時就要用

到使用者組密碼;

  /etc/gshadow 格式如下,每個使用者組獨占一行;

  groupname:password:admin,admin,…:member,member,…

  第一字段:使用者組

  第二字段:使用者組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼;

  第三字段:使用者組管理者,這個字段也可為空,如果有多個使用者組管理者,用,号分割;

  第四字段:組成員,如果有多個成員,用,号分割;

  舉例:

  beinan:!::linuxsir

   linuxsir:oUS/q7NH75RhQ::linuxsir

  第一字段:這個例子中,有兩個使用者組beinan用linuxsir

  第二字段:使用者組的密碼,beinan使用者組無密碼;linuxsir使用者組有已經,已經加密;

  第三字段:使用者組管理者,兩者都為空;

  第四字段:beinan使用者組所擁有的成員是linuxsir ,然後還要對照一下/etc/group和/etc/passwd

檢視是否還有其它使用者,一般預設添加的使用者,有時同時也會建立使用者組和使用者名同名稱; linuxsir 使用者組有成員linuxisir ;

  如何設定使用者組的密碼? 我們可以通過 gpasswd 來實作;不過一般的情況下,沒有必要設定使用者組的密碼;不過自己實踐一下也有必要;下面是一個為linuxsir使用者組設定密碼的例子;

  gpasswd 的用法: gpasswd 使用者組

  

[email=root@localhost]root@localhost[/email]

~]# gpasswd linuxsir

  正在修改 linuxsir 組的密碼

  新密碼:

  請重新輸入新密碼:

  使用者組之間的切換,應該用 newgrp ,這個有點象使用者之間切換的su ;我先舉個例子:

  [beinan@localhost ~]$ newgrp linuxsir

  密碼:

  [beinan@localhost ~]$ mkdir lingroup

   [beinan@localhost ~]$ ls -ld lingroup/

  drwxr-xr-x 2 beinan linuxsir 4096 10月 18 15:56 lingroup/

  [beinan@localhost ~]$ newgrp beinan

   [beinan@localhost ~]$ mkdir beinangrouptest

   [beinan@localhost ~]$ ls -ld beinangrouptest

  drwxrwxr-x 2 beinan beinan 4096 10月 18 15:56 beinangrouptest

  說明:我是以beinan使用者組切換到linuxsir使用者組,并且建了一個目錄,然後再切換回beinan使用者組,又建了一個目錄,請觀察兩個目錄屬使用者組的不同;還是自己體會吧;

三、通過使用者和使用者組配置檔案來查詢或管理使用者;

  1、使用者和使用者組查詢的方法;

  1)通過檢視使用者(User)和使用者組的配置檔案的辦法來檢視使用者資訊

  我們已經使用者(User)和使用者組(Group)的配置檔案已經有個基本的了解,通過檢視使用者(User)和使用者組的配置檔案,我們就能做到對系統使用者的了解,當然您也可以通過id 或finger 等工具來進行使用者的查詢等任務。

  對于檔案的檢視,我們可以通過 more 或cat 來檢視,比如 more /etc/passwd 或cat /etc/passwd ;其它工具也一樣,能對文本檢視就行,比如less 也好

  比如我們可以通過more 、cat 、less指令對/etc/passwd 的檢視,雖然指令不同,但達到的目的是一樣的, 都是得到/etc/passwd 的内容;

  [root@localhost ~]# more /etc/passwd

   [root@localhost ~]# cat /etc/passwd

   [root@localhost ~]# less /etc/passwd

  2)通過id和finger 工具來擷取使用者資訊;

  除了直接檢視使用者(User)和使用者組(Group)配置檔案的辦法除外,我們還有id和finger工具可用,我們一樣通過指令行的操作,來

完成對使用者的查詢;id和finger,是兩個各有測重的工具,id工具更測重使用者、使用者所歸屬的使用者組、UID 和GID 的檢視;而finger

測重使用者資訊的查詢,比如使用者名(登入名)、電話、家目錄、登入SHELL類型、真實姓名、空閑時間等等;

  id 指令用法;

  id 選項 使用者名

  比如:我想查詢beinan和linuxsir 使用者的UID、GID 以及歸屬使用者組的情況:

  [root@localhost ~]# id beinan

   uid=500(beinan) gid=500(beinan) groups=500(beinan)

  注:beinan的UID 是 500,預設使用者組是beinan,預設使用者組的GID 是500,歸屬于beinan使用者組;

  [root@localhost ~]# id linuxsir

   uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)

  注:linuxsir的UID 是505,預設使用者組是linuxsir ,預設使用者組的GID 是502,歸屬于linuxsir(GID為502)、root(GID為0),beinan(GID為500);

  關于id的詳細用法,我會在專門使用者查詢的文章來介紹;您可以通過man id 來檢視用法,用起來還是比較簡單的;

  finger 的用法

  finger 選項 使用者名1 使用者名2 …

  詳細用法請參看man finger ;關于更為詳細用法,我會在專門使用者查詢的文章來介紹;

  如果finger 不加任何參數和使用者,會顯示出目前線上使用者,和w指令類似;對比一下;不過各有測重;

  [root@localhost ~]# w

   14:02:42 up 1:03, 3 users, load average: 0.04, 0.15, 0.18

   USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

   linuxsir tty1 - 13:39 22:51 0.01s 0.01s -bash

   beinan tty2 - 13:53 8:48 11.62s 0.00s /bin/sh /usr/X1

   beinan pts/0 :0.0 13:57 0.00s 0.14s 1.08s gnome-terminal

   [root@localhost ~]# finger

   Login Name Tty Idle Login Time Office Office Phone

   beinan beinan sun tty2 8 Oct 18 13:53

   beinan beinan sun pts/0 Oct 18 13:57 (:0.0)

   linuxsir linuxsir open tty1 22 Oct 18 13:39 linuxsir o +1-389-866-771

  如果我們在finger 後面加上使用者名,就可以看到使用者更為詳細的資訊,可以一次檢視多個使用者,用空格分開,比如下面的例子中,我們一次查詢兩個使用者beinan和linuxsir的資訊;

  [root@localhost ~]# finger beinan linuxsir

   Login: beinan 注:使用者名(也是登入名) Name: beinan sun (使用者名全稱)

   Directory: /home/beinan 注:家目錄 Shell: /bin/bash 注:所用SHELL類型

   On since Tue Oct 18 13:53 (CST) on tty2 10 minutes 55 seconds idle 注:空閑時間;

   On since Tue Oct 18 13:57 (CST) on pts/0 from :0.0

   No mail.

   No Plan.

   Login: linuxsir Name: linuxsir open

   Directory: /home/linuxsir Shell: /bin/bash

   Office: linuxsir office, +1-389-866-7715

   On since Tue Oct 18 13:39 (CST) on tty1 24 minutes 58 seconds idle

   No mail.

   No Plan.

  3)使用者組查詢的辦法;

  我們可以通過使用者來查詢所歸屬的組,用groups 來查詢;比如我查詢beinan和linuxsir 所歸屬的組,我們可以用groups 來查詢;

  [root@localhost ~]# groups beinan linuxsir

   beinan : beinan

   linuxsir : linuxsir root beinan

  注:這是通過groups 同時檢視了使用者beinan和linuxsir所歸屬的組;

  2、通過修改使用者(User)和使用者組(Group)配置檔案的辦法來添加;

  由于我們已經在前面說過,可以通過修改配置檔案的辦法來管理使用者,是以此主題應該包括此内容;當然通過使用者及使用者組管理工具(比如

adduser、userdel、usermod 、userinfo、groupadd 、groupdel

、groupmod等)也是可以的,通過管理工具對使用者的管理我們将要在專門一篇文章中介紹;

  通過修改使用者(User)和使用者組(Group)配置檔案的方法管理使用者之使用者的添加流程;

  我們先以添加使用者為例,對使用者的删除和修改都比較簡單;

  1)修改 /etc/passwd ,添加使用者記錄;

  我們按/etc/passwd的格式的約定來添加新的使用者記錄;當然您要讓一個使用者失效,可以删除您想要删除的使用者記錄;值得注意的是,不能讓UID 重複;

  比如我想添加lanhaitun 這個使用者,我發現UID 508沒有使用者用,并且我想把其使用者組也設定為lanhaitun ,使用者組的GID 也設定為508,如果GID 沒有占用的話;

  我們要打開 /etc/passwd ,在最下面加一行;

  lanhaitun:x:508:508::/home/lanhaitun:/bin/bash

  然後執行pwconv ,讓/etc/passwd 和/etc/shadow同步,您可以檢視 /etc/shadow的内容是否同步;

  [root@localhost beinan]# pwconv

  2)修改/etc/group

  首先,我們得檢視是否有lanhaitun使用者組,以及GID 508 是否被其它使用者組占用;

  [root@localhost ~]# more /etc/group |grep lanhaitun

   [root@localhost ~]# more /etc/group |grep 508

  通過檢視,我們發現沒有被占用;是以我們要添加lanhaitun 的記錄到 /etc/group

  lanhaitun:x:508:

  其次,是運作 grpconv 來同步/etc/group 和/etc/gshadow内容,您可以通過檢視/etc/gshadow的内容變化确認是不是添加組成功了;

  [root@localhost beinan]# grpconv

  3)建立使用者的家目錄,并把使用者啟動檔案也複制過去;

  建立使用者的家目錄,我們要以/etc/passwd 中添加的新使用者的記錄為準,我們在/etc/passwd

中添加新使用者lanhaitun ,她的家目錄是處于/home/lanhaitun ;另外我們還需要把/etc/skel

目錄下的.*隐藏檔案複制過去;

  [root@localhost ~]# cp -R /etc/skel/ /home/lanhaitun

   [root@localhost ~]# ls -la /home/lanhaitun/

   總用量 48

   drwxr-xr-x 3 root root 4096 10月 18 14:53 .

   drwxr-xr-x 10 root root 4096 10月 18 14:53 ..

   -rw-r–r– 1 root root 24 10月 18 14:53 .bash_logout

   -rw-r–r– 1 root root 191 10月 18 14:53 .bash_profile

   -rw-r–r– 1 root root 124 10月 18 14:53 .bashrc

   -rw-r–r– 1 root root 5619 10月 18 14:53 .canna

   -rw-r–r– 1 root root 438 10月 18 14:53 .emacs

   -rw-r–r– 1 root root 120 10月 18 14:53 .gtkrc

   drwxr-xr-x 3 root root 4096 10月 18 14:53 .kde

   -rw-r–r– 1 root root 658 10月 18 14:53 .zshrc

  4)改變新增使用者家目錄的屬主和權限;

  我們發現新增使用者的家目錄的屬主目前是root ,并且家目錄下的隐藏檔案也是root權限;

  [root@localhost ~]# ls -ld /home/lanhaitun/

   drwxr-xr-x 3 root root 4096 10月 18 14:53 /home/lanhaitun/

  是以我們要通過chown 指令來改變/home/lanhaitun目錄歸屬為lanhaitun使用者;

  [root@localhost ~]# chown -R lanhaitun:lanhaitun /home/lanhaitun

  檢視是否已經更換了屬主為lanhaitun使用者所有;

  [root@localhost ~]# ls -ld /home/lanhaitun/

   drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/

   [root@localhost ~]# ls -la /home/lanhaitun/

   總用量 48

   drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .

   drwxr-xr-x 10 root root 4096 10月 18 14:53 ..

   -rw-r–r– 1 lanhaitun lanhaitun 24 10月 18 14:53 .bash_logout

   -rw-r–r– 1 lanhaitun lanhaitun 191 10月 18 14:53 .bash_profile

   -rw-r–r– 1 lanhaitun lanhaitun 124 10月 18 14:53 .bashrc

   -rw-r–r– 1 lanhaitun lanhaitun 5619 10月 18 14:53 .canna

   -rw-r–r– 1 lanhaitun lanhaitun 438 10月 18 14:53 .emacs

   -rw-r–r– 1 lanhaitun lanhaitun 120 10月 18 14:53 .gtkrc

   drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .kde

   -rw-r–r– 1 lanhaitun lanhaitun 658 10月 18 14:53 .zshrc

  看來已經實作了;

  但這樣還是不夠的,因為/home/lanhaitun/的目錄權限可能會過于公開;

  drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/

  我們看到 /home/lanhaitun/ 目錄的權限為 drwxr-xr-x ,也就是同組使用者和其它使用者組所能檢視,為了保密,我們有理由把新增使用者家目錄的權限設定為隻有其自己可讀可寫可執行;于是… …

  [root@localhost ~]# chmod 700 /home/lanhaitun/

   [root@localhost ~]# ls -ld /home/lanhaitun/

   drwx—— 3 lanhaitun lanhaitun 4096 10月 18 14:53 /home/lanhaitun/

  我們用其它使用者,當然得把具有超級權限的root使用者除外;比如我以beinan使用者來檢視lanhaitun的家目錄會得到如下資訊;

  [beinan@localhost ~]$ ls -la /home/lanhaitun/

   ls: /home/lanhaitun/: 權限不夠

  如此看來,lanhaitun使用者的家目錄是安全的 

  5)設定新增使用者的密碼;

  以上各步驟都就序了,我們得為新增使用者設定密碼了;要通過passwd 指令來生成;這個沒有辦法通過修改檔案解決;

  passwd 的用法:

  passwd 使用者

  [root@localhost ~]# passwd lanhaitun

   Changing password for user lanhaitun.

   New UNIX password: 注:輸入您的密碼

   Retype new UNIX password: 再輸入一次

   passwd: all authentication tokens updated successfully. 注:設定密碼成功

  6)測試添增使用者是否成功;

  您可以用新增使用者登入測試,也可以通過su 來切換使用者測試;

  [beinan@localhost ~]$ su lanhaitun

   Password:

   [lanhaitun@localhost beinan]$ cd ~

   [lanhaitun@localhost ~]$ pwd

   /home/lanhaitun

   [lanhaitun@localhost ~]$ ls -la

   總用量 52

   drwx—— 3 lanhaitun lanhaitun 4096 10月 18 15:15 .

   drwxr-xr-x 10 root root 4096 10月 18 14:53 ..

   -rw-r–r– 1 lanhaitun lanhaitun 24 10月 18 14:53 .bash_logout

   -rw-r–r– 1 lanhaitun lanhaitun 191 10月 18 14:53 .bash_profile

   -rw-r–r– 1 lanhaitun lanhaitun 124 10月 18 14:53 .bashrc

   -rw-r–r– 1 lanhaitun lanhaitun 5619 10月 18 14:53 .canna

   -rw-r–r– 1 lanhaitun lanhaitun 438 10月 18 14:53 .emacs

   -rw-r–r– 1 lanhaitun lanhaitun 120 10月 18 14:53 .gtkrc

   drwxr-xr-x 3 lanhaitun lanhaitun 4096 10月 18 14:53 .kde

   -rw——- 1 lanhaitun lanhaitun 66 10月 18 15:15 .xauthOhEoTk

   -rw-r–r– 1 lanhaitun lanhaitun 658 10月 18 14:53 .zshrc

   [lanhaitun@localhost ~]$ mkdir testdir

   [lanhaitun@localhost ~]$ ls -lh

   總用量 4.0K

   drwxrwxr-x 2 lanhaitun lanhaitun 4.0K 10月 18 15:16 testdir

  通過上面一系列動作,我們會發現所建立的lanhaitun使用者已經成功;

  2、通過修改使用者(User)和使用者組(Group)配置檔案的辦法來修改使用者或使用者組;

  我們可以修改/etc/passwd 和/etc/group 來達到修改使用者和使用者所歸屬的組,這個過程和添加新使用者時差不多;比如我想修改lanhaitun的使用者名全稱、公司以及電話等資訊;我們可以修改/etc/passwd 實作;

  1)修改使用者資訊;

  lanhaitun:x:508:508::/home/lanhaitun:/bin/bash 注:這是初始記錄;

  我們可以修改為

  lanhaitun:x:508:508:lanhaitun wu,Office Dalian,13000000000:/home/lanhaitun:/bin/bash

  當然我們還可以修改使用者的bash 類型,家目錄等,當然如果修改家目錄,還得進行建家目錄、屬主和權限的操作,這和前面添加使用者的辦法在程式上有些是相同的;

  修改完成後,我們要進行pwconv 同步,通過finger 來檢視使用者的資訊等;

  [root@localhost lanhaitun]# pwconv

   [root@localhost lanhaitun]# finger lanhaitun

   Login: lanhaitun Name: lanhaitun wu

   Directory: /home/lanhaitun Shell: /bin/bash

   Office: Office Dalian, +1-300-000-0000

   Never logged in.

   No mail.

   No Plan.

  2)修改使用者所歸屬的組,可以通過/etc/group 修改實作;

  當然修改使用者和使用者組,不僅能通過修改配置檔案來實作,還能過過 usermod 及chfn來實作;我将在以後的文檔中寫一寫,也比較簡單;您可以通過man來檢視用法;在這裡我們先講一講如何通過修改配置檔案來達到目的;

  如果我們想把lanhaitun 這個使用者歸屬到root使用者組,是以我們還能修改/etc/group 的辦法來達到目的;找到/etc/group 中的root開頭的一行,按其規劃加入lanhaitun;

  root:x:0:root,lanhaitun

  如果不明白,看前面/etc/group的解釋,謝謝;

  然後執行 grpconv 指令來同步/etc/group 和/etc/gshadow兩個檔案的内容;

  [root@localhost ~]# grpconv

  檢視lanhaitun歸屬組的資訊;

  [root@localhost ~]# id lanhaitun

   uid=508(lanhaitun) gid=508(lanhaitun) groups=508(lanhaitun),0(root)

  3)删除使用者及使用者組的辦法;

  這個比較簡單,我們可以通過删除/etc/passwd 和/etc/group 相應的使用者和使用者組記錄就能達到目的,也能過過userdel 和groupdel 來實作對使用者及使用者組的删除;

  如果是通過修改使用者和使用者組配置檔案的辦法來删除使用者,就是删除相應的記錄就行了,如果不想保留其家目錄,删除就是了。

  [root@localhost ~]# userdel lanhaitun

   [root@localhost ~]# userdel -r lanhaitun

  注:可以用userdel 來删除lanhaitun 使用者,我們看到第二個例子中多了一個參數-r

,第一個例子是說隻删除lanhaitun使用者,其家目錄和mail等仍會儲存;加上-r

參數,是删除家目錄及mail等;是以要小心操作;用userdel 删除使用者的同時,也會把其使用者組删除;我們可以通過/etc/passwd

和/etc/group 的内容變化來檢視;

linux使用者群組管理,/etc/passwd 、/etc/shadow和/etc/group 檔案内容解釋 - 清晨的陽光☆