20170722 用戶、組管理

內容綱要

  • 用戶、組
  • 用戶、組的配置文件
  • 用戶和組管理命令

一、用戶、組

用戶

  • 系統在用戶登錄時為用戶分配一個令牌便于權限管理,在linux系統中令牌即為UID
  • UID編碼規則:
    • root用戶的UID為0,普通用戶的UID為1-60000,其中系統用戶與登錄用戶的分配如下:
      • 系統用戶:1-499(CentOS 6),1-999(CentOS 7)
      • 登錄用戶:500+(CentOS 6),1000+(CentOS 7)
  • 系統用戶主要為系統運行的程序準備。

  • 系統為了方便管理,設立組的概念,組內用戶的權限繼承自組權限
  • 組同樣設置GID,其編碼規則同UID
  • 建立新用戶時系統默認同時建立同名組,其UID和GID號相同

安全上下文

  • 進程所能夠訪問資源的權限取決于進程的運行者的身份

組的類別

  • 用戶的主要組:一個用戶有且只屬于一個主組,默認其名稱與用戶名相同
  • 用戶的輔助組:一個用戶可以屬于零個或多個輔助組

二、用戶、組的配置文件

  • linux用戶、組的配置文件主要如下四個

/etc/passwd 用戶賬號相關屬性配置文件
/etc/shadow 用戶密碼相關屬性配置文件
/etc/gpasswd 組賬號相關屬性配置文件
/etc/gshadow 組密碼相關屬性配置文件

  • passwd文件格式: name:passwd:UID:GID:GECOS:directory:shell

    • name: 用戶登錄名
    • passwd: 用戶密碼,現在密碼已經移至/etc/shadow文件,被占位符x代替
    • UID: 用戶ID號
    • GID: 用戶所屬的主組ID號
    • GECO: 用戶信息注釋
    • directory: 用戶家目錄路徑
    • shell: 用戶默認shell
  • shadow文件格式:login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

    • login name:用戶登錄名
    • encrypted password: 加密的密碼
      • 加密密碼如圖
  • $6代表加密方式為SHA512,加密方式很多,例如$1代表MD5加密
  • $AArU9fX$中兩個$符號間是一段隨機字符,稱作鹽(salt),用于確保即使是相同密碼加密的結果也不同,進一步加強密碼安全性
  • 后面的字符是加密密文正文,不同加密方式長度不同,但是只要加密方式相同,密碼位數不同加密后的密文位數是相同的
  • 更改密碼加密方式:authconfig --passalgo=sha256 --update
  • date of last password change: 上次修改密碼時間,從1970-1-1起算的天數

  • minimum password age: 最短密碼時間,普通用戶更換密碼的最短間隔天數,0表示隨時可以變更

  • maximum password age: 最長密碼時間,用戶使用一個密碼最長時間,99999表示永不過期

  • password warning period: 密碼達到最長時間前提前報警提示的天數,默認7天

  • password inactivity period: 密碼達到最長時間后允許修改密碼的寬限期,超出后用戶被鎖定

  • account expiration date: 用戶賬戶有效期,從1970-1-1起算的天數

  • group文件格式:group name:passwd:GID:user list

    • group name: 組名稱
    • passwd: 組密碼,用占位符x代替,加密密碼移至/etc/gpasswd文件
    • GID: 組ID號
    • user list: 以當前組為輔助組的用戶,多用戶用,分隔
  • gshadow文件格式:group name:encrypted password:administrators:members

    • group name: 組名稱
    • encrypted password: 加密的密碼,與/etc/shadow文件中的密碼加密方式相同
    • administrators: 組管理員,可以修改組密碼,多名管理員用,分隔
    • members: 以當前組為輔助組的用戶,內容必須與/etc/group文件中的user list相同
  • 注意:修改賬號相關設置(e.g. /etc/passwd /etc/shadow /etc/group /etc/gpasswd)時,必須重新登錄才能夠生效

三、用戶和組管理命令

(一)用戶管理命令

(1)useradd 用戶創建
  • 語法:useradd [options] LOGIN
  • 用法:
-u UID                     <!--指定UID,[UID_MIN, UID_MAX]定義在/etc/login.defs-->
-o                         <!--配合-u 選項,不檢查UID的唯一性-->
-g GID                     <!--指明用戶所屬基本組,可為組名,也可以GID-->
-c "COMMENT"               <!--用戶的注釋信息-->
-d HOME_DIR                <!--以指定的路徑(不存在)為家目錄-->
-s SHELL                   <!--指明用戶的默認shell程序,可用列表在/etc/shells文件中-->
-G GROUP1[,GROUP2,...]     <!--為用戶指明附加組,組須事先存在-->
-N                         <!--不創建私用組做主組,使用users組做主組-->
-r                         <!--創建系統用戶,默認不創建家目錄,shell為/sbin/nologin-->
  • 實驗:創建一個用戶billy,指明UID=1010,屬于附加組hellopeiyang和natasha,家目錄為/app/billy,使用的shell為csh。
    • 命令:useradd -u 1010 -G hellopeiyang,natasha -d /app/billy -s /bin/csh billy

    • getent命令檢查hellopeiyang,natasha,billy三個組的/etc/group文件,確認用戶列表存放的是以此組作為輔助組的用戶

  • 用戶創建默認配置文件 /etc/default/useradd
  • 使用useradd -D命令修改用戶創建默認配置文件
useradd -D -b /app   <!--當不指定家目錄時,自動在/app下新建用戶家目錄-->
useradd -D -g group  <!--當使用useradd -N選項時,使用設置的組作為主組,默認為users組-->
useradd -D -s shell  <!--當不指定默認shell時,自動使用設置的shell-->
  • 用戶家目錄默認配置文件 /etc/skel
    使用useradd建立用戶家目錄時,將/etc/skel下的所有文件復制到家目錄中,相當于執行命令cp -a /etc/skel/.[^.]* /home/user
  • newusers passwd格式文件 批量創建用戶
  • cat 格式文件 | chpasswd 批量修改用戶密碼,格式文件格式user name:password
(2)usermod 用戶屬性修改
  • 語法:usermod [OPTION] login
  • 用法:
-u UID           <!--新UID,必須唯一不重復,除非使用-o 選項-->
-g GID           <!--新主組-->
-G GROUP1[,GROUP2,...[,GROUPN]]    
<!--新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項-->
-s SHELL         <!--新的默認SHELL-->
-c 'COMMENT'     <!--新的注釋信息-->
-d HOME          <!--新家目錄不會自動創建;若要創建新家目錄并移動原家數據,同時使用-m選項-->
-l login_name    <!--新的名字-->
-L               <!--lock指定用戶,在/etc/shadow 密碼欄首增加!-->
-U               <!--unlock指定用戶,刪除/etc/shadow 密碼欄首的"!" -->
-e YYYY-MM-DD    <!--指明用戶賬號過期日期-->
-f INACTIVE      <!--設定非活動期限-->
  • 實驗:將billy用戶的主組改為harry,附加組增加sarah,家目錄遷移到/home/billy下,賬號于2018年8月31日過期,最后將billy賬戶鎖定
  • 命令:
getent group harry
usermod -g 1004 -aG sarah -md /home/billy -e 2018-08-31 billy <!--注意a在G前,m在d前-->
usermod -L billy
(3)userdel 刪除用戶
userdel login      <!--刪除login用戶-->
userdel -r login   <!--刪除login用戶同時刪除家目錄-->
(4)id 查看用戶相關ID信息

語法:id [OPTION]... [USER]
用法:

-u     <!--顯示UID-->
-g     <!--顯示GID-->
-G    <!--顯示用戶所屬組的ID-->
-n     <!--顯示名稱,需配合ugG使用-->
(5)切換用戶 su
su user    <!--切換至user用戶,但是不切換至user目錄、不讀取user用戶配置文件-->
su - user  <!--切換至user用戶,同時切換至user目錄并讀取user用戶配置文件-->
su/ su -   <!--不寫用戶名默認切換至root用戶-->
exit       <!--退出切換的用戶,注意不要在切換的用戶下再切換用戶,會導致系統異常-->
su - root -c 'command'   <!--只使用root身份執行一次command命令即切換回原用戶-->
  • root用戶切換至普通用戶不需要密碼,普通用戶切換至root用戶需要root密碼
(6)設置密碼 passwd
  • 語法:passwd [OPTIONS] UserName
  • 用法:
-l     <!--鎖定指定用戶-->
-u     <!--解鎖指定用戶-->
-e     <!--強制用戶下次登錄修改密碼-->
-n mindays     <!--指定最短使用期限-->
-x maxdays     <!--最長使用期限-->
-w warndays     <!--提前多少天開始警告-->
-i inactivedays     <!--非活動期限-->
--stdin     <!--從標準輸入接收用戶密碼-->
  • 實驗:將harry的密碼改為"hello",同時密碼最短使用期限3天,最長使用期限42天,密碼到期前7天提示修改,過期后5天將賬戶鎖定
    • 命令:
echo "hello" | passwd -n 3 -x 42 -w 7 -i 5 --stdin harry
(7) 修改用戶密碼策略 chage

語法:chage [OPTION]... LOGIN
用法:

-d     <!--LAST_DAY,修改密碼上次修改時間-->
-E --expiredate     <!--EXPIRE_DATE,設置賬戶失效時間-->
-I --inactive     <!--INACTIVE,設置密碼修改寬限期-->
-m --mindays     <!--MIN_DAYS,設置密碼修改最短間隔時間-->
-M --maxdays     <!--MAX_DAYS,設置密碼使用最長期限-->
-W --warndays     <!--WARN_DAYS,設置密碼過期前的提前警告時間-->
–l     <!--顯示密碼策略信息-->
(8)其他用戶管理命令
  • chsh -s shell 修改shell
  • chfn 修改用戶注釋信息
  • finger 查看用戶詳細信息

(二)組管理命令

(1)創建組 groupadd
  • 語法:groupadd [OPTION]... group_name
  • 用法:
-g GID     <!--指明GID號;[GID_MIN, GID_MAX]定義在/etc/login.defs-->
-o         <!--配合-g屬性,不檢查GID的唯一性-->
-r         <!--創建系統組-->
(2)修改組屬性 groupmod
  • 語法:groupmod [OPTION]... group
  • 用法:
-n group_name     <!--設置新名字-->
-g GID            <!--設置新的GID-->
-o                <!--配合-g屬性,不檢查GID的唯一性-->
(3)刪除組 groupdel
  • 語法 groupdel group_name
(4)更改組密碼 gpasswd
  • 語法:gpasswd [OPTION] GROUP
  • 用法:
-a user     <!--將user添加至指定組中-->
-d user     <!--從指定組中移除用戶user-->
-A user1,user2,...     <!--設置有管理權限的用戶列表-->
  • 實驗:創建組david,將用戶hellopeiyang,natasha,sarah加入到組中,將natasha從組中移除
    • 命令:
groupadd david
gpasswd -a hellopeiyang,natasha,sarah david
gpasswd -d natasha
  • 結果如下圖

    • 第1步,建立組david;


    • 第2步,為組david添加用戶hellopeiyang,natasha,sarah;


    • 第3步,將natasha從組david中刪除。


  • newgrp命令:臨時切換主組,如果用戶本不屬于此組,則需要組密碼
    語法:newgrp group_name

(5)更改和查看組成員 groupmems
  • 語法:groupmems [options] [actions]
  • 用法:
options:
-g, --group group_name     <!--更改為指定組,只有root可以執行,普通用戶只能修改所在組-->
actions:
-a, --add username     <!--指定用戶加入組-->
-d, --delete username     <!--從組中刪除用戶-->
-p, --purge     <!--從組中清除所有成員-->
-l, --list     <!--顯示組成員列表-->
  • groups 顯示用戶所屬于的組 groups user_name
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,641評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內容