用戶、組和權限及相關命令

本文主要介紹Linux用戶管理的一些基礎概念和一些基礎命令的用法。內容分為三個部分:1、用戶和組相關介紹;2、用戶管理命令;3、組管理命令

第一部分:用戶和組相關介紹

? ? ?1、用戶和組類型

? ? ? ? ? ? ? ? ? linux系統,用戶的類型分為兩大類:

  • <1>管理員用戶:具有對Linux系統運行一些管理權限,系統上,初始的管理員用戶默認為root,UID為0。(UID為0則代表是管理員,不論用戶名是否為root)
  • <2>普通用戶:普通用戶有分為系統用戶和普通登錄用戶

系統用戶:用來Linux系統上運行一些軟件和服務的用戶,大部分都是非交互式(shell程序為/sbin/nologin)的,UID范圍:1-499(centOS 6);1-999(centOS 7)

普通用戶:在系統上進行交互式的登錄完成某些操作的用戶,UID:500+(centOS 6);在1000+(centOS 7)

? ? ? ? ? ? ? ? ? Linux系統上,對應的組也分為兩大類:

  • <1>管理員組:具有管理員權限的用戶所在的組,GID(組的身份標識)為0,默認是root組
  • <2>普通組:分為系統組和普通組

系統組:1-499(centOS 6);1-999(centOS 7)

普通組:500+(centOS 6);1000+(centOS 7)

 

? ? ? ? ? ? ? ? ? Linux系統上用戶和組的對應關系:

  • 主組:每個用戶必須要有且僅有一個主組,在創建用戶時默認是與用戶名同名
  • 私有組:組名同用戶名,且組內僅有一個用戶的組
  • 附加組:一個用戶可以有零個或多個附加組

? ? ?2、用戶和組管理涉及到的一些配置文件

? ? ? ? ? ? ? ? ? 配置文件目錄:

  • ①/etc/passwd? ? ? ? ? ? ? ? ? ? ? 用戶及其屬性信息
  • ②/etc/shadow? ? ? ? ? ? ? ? ? ? ? 用戶密碼及其相關屬性
  • ③/etc/group? ? ? ? ? ? ? ? ? ? ? ? ?組及其屬性信息
  • ④/etc/gshadow? ? ? ? ? ? ? ? ? ? 組密碼及其相關屬性
  • ⑤/etc/default/useradd? ? ? ?新增用戶模板
  • ⑥/etc/skel/*? ? ? ? ? ? ? ? ? ? ? ? ? ? ?新增用戶家目錄模板
  • ⑦/etc/login.defs? ? ? ? ? ? ? ? ? ?關于用戶口令及組口令組成解釋及默認設置

? ? ? ? ? ? ? ? ? ?配置文件格式內容詳細解釋(內容較長,不喜可跳過)

①/etc/passwd? ? 用戶及其屬性信息

該配置文件里面主要是記錄用戶信息,每一行代表一個用戶的信息,每一行分為7個字段,分別表示:用戶名:密碼占位符:UID:GID:注釋信息:家目錄:默認shell

如下圖所示:

passwd格式

 

②/etc/shadow? ?用戶密碼及其相關屬性

該配置文件主要定義了用戶密碼相關的配置,每一行代表一個用戶的信息,每行有9個字段,分別表示:

用戶名:加密后的密碼:上次修改密碼的日期:最小使用期:最長使用期:警告期:寬限期限:賬戶有效期;保留字段

加密的密碼:分為三個$分隔,第一個后面是加密算法;第二個后面是salt;第三個才是加密后的密碼,CentOS6和CentOS上默認采取sha512單向加密算法進行加密

修改加密方式? ?authconfig? –passalgo=sha256? –update

最近一次改密碼的時期:如果值為0,則表示用戶下次登錄必須要更改密碼。(從1970-01-01算起)

最小使用期:密碼最短要使用多久(0表示隨時可被變更)

最長使用期:密碼最長要使用多久(99999表示永不過期)

警告期?在最長使用期到期之前,提前多少天提示用戶(默認一周)

寬限期限:最大使用期限到期后寬限多少天

?賬戶有效期:賬號本身的有效期,(從1970-1-1算起)

保留字段

如下圖所示:

shadow格式

③/etc/group? ? ? 組及其屬性信息

分為4個字段: 組名:密碼占位符:GID:用戶列表(分隔符為逗號)

如下圖所示:

group格式

④/etc/gshadow? ? ? ?組密碼及其相關屬性

每行有4個字段:組名:加密后的密碼(感嘆號加鎖):組管理員用戶的賬戶:用戶列表(分隔符為逗號)

如下圖所示:

gshadow格式

 

⑤/etc/default/useradd? ? ? ?新增用戶模板

如下圖所示:

1

 

GROUP:表示當用戶創建利用-N選項不創建主組時,默認以哪個組作為主組

HOME:表示創建用戶時的家目錄位置

? INACTIVE:表示非活動期限,也就是密碼達到最大有效期后,用戶的在這短時間內登錄仍然能夠修改密碼,改密后正常使用

EXPIRE:表示賬號有效期

SHELL:創建用戶時用戶的默認shell

? SKEL:定義用戶家目錄相關配置文件和環境變量文件的拷貝模板目錄

CREATE_MAIL_SPOOL:表示是否在創建用戶時為其創建郵箱

⑥/etc/skel/*? ? ? ? 新增用戶家目錄模板目錄(都是隱藏文件)

如下圖所示:

2

⑦/etc/login.defs? ? ? ?關于用戶口令及組口令組成解釋及默認設置

如下圖所示:

3

4

 

MAIL_DIR:用戶郵件的目錄

PASS_MAX_DAYS:密碼最大有效期

PASS_MIN_DAYS:密碼最小有效期

PASS_MIN_LEN:密碼最短長度

PASS_WARN_AGE:密碼警告期

UID_MIN:默認最小UID

UID_MAX:默認最大UID

GID_MIN:默認最小GID

GID_MAX:默認最大GID

CREATE_HOME:是否為用戶自動創建家目錄

UMASK:創建用戶默認的UMASK值

第二部分:用戶管理命令

? ? ? ? ? ? ? ?用戶管理命令目錄:

① useradd? ? ② usermod? ? ③ userdel? ? ④ id? ? ⑤ su? ? ⑥ passwd? ? ⑦ chage? ? ⑧ 其他相關命令? ? ⑨批量創建用戶及批量修改用戶口令

? ? ? ? ? ? ? ?命令詳解:

  • ① useradd? ? 創建用戶
  • 語法:useradd [OPTIONS] USERNAME? ? 創建用戶
  • ? ? ? ? ? ? ?useradd -D? ? 顯示新增用戶家目錄
  • ? ? ? ? ? ? ?useradd -D [OPTIONS]? ? ?更改新增用戶模板默認設置
  • 選項:

-u UID? ? ? ? ? ?指定UID

-o? ? ? ? ?不檢查UID的唯一性,可用來指定已存在的UID為自己的UID

-g GROUP? NAME? ? ? ? 指定主組

-G? GROUP? NAME1,GROUP? NAME2,…? ? ? ? ? 指定附加組

-c “DISCIPTION”? ? ? ? 指定注釋信息

-d? ? ? ? 指定家目錄(給定的目錄要事先不存在)

-N? ? ? ?表示不創建以自己的名稱命名的主組,而是以默認的user組作為自己的主組

-r? ? ? ? 表示創建系統用戶,系統賬號的家目錄、郵箱目錄都不會自動生成

-s SHELL? ? ? ? ?指定用戶SHELL類型

-M? ? ? ?不創建家目錄

useradd -D ?顯示或更改創建用戶時的默認配置,同cat? /etc/default/useradd

useradd -D -s SHELL? ?改變/etc/default/useradd文件里面默認shell的內容

useradd -D -b /DIR ?改變/etc/default/useradd文件里面默認家目錄的內容

  • ② usermod? ? ? 用戶屬性修改
  • 語法:usermod [OPTIONS] USERNAME
  • 選項:

-u UID? ? ? ?指定新UID

-g GID? NAME? ? ?指定主組(組必須存在)

-G GROUP1,GROUP2,… NAME? ? 指定附加組(覆蓋原有的附加組,若要追加配合-a選項)

-s SHELL? ? ?指定新的SHELL

-c ‘DISCRIPTION’? ? ?指定新的注釋信息

-d ?/PATH/DIR ? 指定新的家目錄(新家目錄中不會自動創建,原家目錄中的文件不會同時移動至新的家目錄,如果要創建新家目錄的時候移動原家目錄的數據,要同時使用-m選項)

-l USERNAME? ? ?指定新的用戶名

-U ? 解鎖用戶 (即:去掉密碼前的?。?/p>

-L ? 鎖定用戶 (相當于在/etc/shadow密碼前加!)

-e? YYYY-mm-dd? ? ?指明用戶賬號的過期日期

-f ?DAYS? ? ? 指定賬戶密碼的寬限期限

  • ③ userdel? ? ? 刪除用戶
  • 語法:userdel [OPTIONS]… NAME,默認刪除用戶不會刪除用戶的家目錄和郵箱
  • 選項: -r? ? ? ?刪除用戶的同時刪除家目錄和郵箱
  • ④ id? ? 查看用戶相關ID信息
  • 語法:id [OPTION]… [USERNAME]
  • 選項:

-u ?顯示用戶UID

-g? ?顯示主組GID

-G ?顯示所屬的全部組ID

-n? ?顯示名稱,而非ID (需配合-u -g -G使用)

  • ⑤ su? ? ?切換用戶或以其他用戶身份執行命令

登錄式切換:會重新讀取用戶的配置文件,切換至家目錄,完全切換。

格式:su –? NAME

su -l? NAME

非登錄式切換:不會讀取目標用戶的配置文件,且不改變當前工作目錄

格式:su? NAME

注意:管理員可以無密碼切換至其他任何用戶,非管理員在切換用戶時都需要給出目標用戶的密碼

特殊用法:su –root? -c ‘COMMAND’? 表示不切換用戶,而是僅以此用戶身份運行指定的命令,命令執行完成后即恢復原用戶(例:su –root? -c ‘cat? /etc/shadow’ 表示暫時用root身份查看一下文件)

  • ⑥ passwd? ? ?設置密碼
  • 格式:passwd? [OPTIONS]? ?NAME? ?修改指定用戶的密碼

passwd后不跟任何選項,表示修改自己的密碼

passwd 用戶名:用于root用戶修改其他用戶的密碼,不需要知道該用戶之前的密碼

  • 選項:

-l,-u? ? ?鎖定和解鎖用戶,相當于在/etc/shadow密碼字段前加!和去掉!

-d? ? 刪除指定用戶密碼

-e DATE? ? ? 過期期限,日期

-i DAYS? ? ? ?寬限期限

-n DAYS? ? ? ?密碼最短使用期限

-x DAYS? ? ? ?密碼最長使用期限

-w DAYS? ? ? ?密碼警告期

-f? ? ? ?強制操作

對應是修改/etc/shadow里面相應的信息

–stdin 密碼來源重定向,從標準輸入接受用戶密碼

例:echo “123456” |passwd –stdin NAME? ? 為NAME用戶修改密碼為123456

  • ⑦ chage?
  • 格式:chage? [OPTION]? NAME
  • 選項:

-d? ? ? ?修改用戶密碼最后的修改日期

-E? ? ? ?修改用戶密碼的過期期限

-W? ? ? 修改用戶密碼的警告期限

-m? ? ? ? 修改用戶密碼的最短有效期

-M? ? ? ? 修改用戶密碼的最長有效期

-I? ? ? ? ?修改用戶密碼失效后的寬限期

-l? NAME? ? ? ?顯示用戶口令詳情

示例:chage -d 0 tom 下一次登陸強制重設密碼

chage -m 0 -M 42 -W 14? tom

chage -E 2019-09-28 tom

  • ⑧ 其他相關命令

groups [username] ?查看當前用戶屬于哪些組

getent passwd [username] ?相當于cat /etc/passwd中指定用戶名的行

getent shadow [username] ?相當于cat /etc/shadow中指定用戶名的行

getent group? NAME 相當于cat /etc/group中指定用戶名的行

getent gshadow NAME相當于cat /etc/gshadow中指定用戶名的行

  • ⑨批量創建用戶及批量修改用戶口令

nano userlist.txt? ? ? 編輯要創建的新用戶列表(格式要正確,如tom:x:1001:1001:tom:/home/tom:/bin/bash)

newusers userlist.txt? ? ? 批量創建用戶

nano pass.txt? ? ?編輯對應的用戶口令(格式如: tom:tompasswd)

cat pass.txt | chpasswd? ? ?批量修改對應用戶口令

 

第三部分:組管理命令

? ? ? ? ? ? ? ?組管理命令目錄:

① groupadd? ? ② groupmod? ? ③ groupdel? ? ④ gpasswd? ? ⑤ groupmems? ? ⑥ groups

? ? ? ? ? ? ? ?命令詳解:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ① groupadd? ? ? 創建組

語法格式:groupadd? [OPTION]? ?group_name

常用選項:

-g GID? ? ? 指定GID

-r? ? ? ? ?創建系統組

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ② groupmod? ??修改和刪除組

語法格式:groupmod [選項] group_name

常用選項:

-g GID? ? ? 修改GID

-n newname? ? ? 修改組名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ③ groupdel? ?? 刪除組

語法格式:groupdel [OPTION]? group_name? ?(一般不用加選項,不能刪除組內有用戶的組)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ④ gpasswd? ?? 更改組密碼

格式:gpasswd? [OPTION]? GROUP

選項 :

-a NAME? ? ? 向組中添加用戶

-d NAME? ? ? 刪除組中用戶

-A? user1,user2,…設置有管理權限的用戶列表

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ⑤ groupmems? ? 更改和查看組成員

groupmems -l -g? GROUP_NAME ?顯示組內有哪些用戶

groupmems -a USERNAME -g GROUP_NAME ?向組內添加用戶

groupmems -d USERNAME -g GROUP_NAME ?刪除組內的用戶

groupmems -p -g GROUP_NAME ? 清空組內的所有用戶

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ⑥ groups? ?

groups [OPTIONS] USERNAME ?查看用戶屬于哪些組

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95403

(1)
bican813bican813
上一篇 2018-04-08 16:00
下一篇 2018-04-08 16:17

相關推薦

欧美性久久久久