1、用戶的標識符:UID與GID
每個登錄的用戶都至少會識別兩個ID,那么就是UID與GID(username與groupneme)當我們要顯示文件屬性時,系統會根據/etc/passwd與/etc/group的內容,找到id對應的賬號與組名再顯示出來。
/etc/passwd文件結構
他的每一行都代表一個賬號,并且里面許多賬號都是系統正常運行所必要的稱之為系統賬號,切不可隨意刪除。
我們可以看出,每一行都用:分隔開,每一個行都有七個字段分別是:
1、賬號名稱
就是創建賬號的名字用來對應UID
2、密碼
這里存放的是賬號密碼,但是由于他能被讀取會導致數據竊取,所以后來密碼都被加密并放置在/etc/shadow中。
3、UID
4、GID
這個跟UID差不多,它用來規定組名與GID的對應關系。
5、用戶信息說明
相當備注,用來解釋賬號的作用。
6、主文件夾
這里就是用戶的家目錄,比如root的主文件夾在/root中,所以當root登錄后會自動跳轉至/root目錄里。
7、Shell
Shell有很多類型,bush只是其中的其中,在這里我們可以看見對應用戶所使用的shell類型。
2、密碼
很多的程序運行跟權限有關,而權限又跟UID/GID有關,早期的密碼存放在 /etc/passwd中,所以很容易導致信息泄露,所以大牛們就把密碼加密搬家到/etc/shadow中。
如上面一樣每一行都用:分隔開,每一個行有九個字段!
1、賬號名稱
密碼是要與賬號對應的,所以第一個字段就是賬號的名字。
2、密碼
這個字段就是經過加密的密碼了
加密機制:
加密:明文–> 密文
解密:密文–> 明文
單向加密:哈希算法,原文不同,密文必不同 相同算法定長輸出,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變,引起結果的巨大改變
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
更改加密算法 authconfig –passalgo=sha256 –update
3、最近密碼改動日期
這個字段記錄了密碼改動的日期,在linux中,日期時間是以1970年1月1日作為1而累加的。
4、密碼不可被更改的天數
它表示這個密碼被更改后需要多久才可以繼續更改密碼。
5、密碼需要重新更改的天數
它表示密碼更改之后,多少天后需要再次更改密碼,你必須要在這個天數內更改你的用戶密碼。
6、密碼需要更改期限前的警告天數。
它是相對于5的,表示需要再次更改密碼期限期快到時,在期限期前多少天提醒用戶更改密碼。
7、密碼過期后的賬號寬限日期
它也是相對于5的,表示密碼依舊沒有被更改,還能夠使用多少天,過了之后系統會強制要求你必須重新設置密碼才能夠登錄繼續使用賬號。
8、賬號失效日期
這個日期也需要從1970年來設置,表示這個賬號在規定能的日期才能使用。
9、保留
最后保留,方便以后加入新功能。
3、用戶組
Linux組的類別:
用戶的主要組(主組): 用戶必須屬于一個且只有一個主組 組名同用戶名,且僅包含一個用戶:
私有組 用戶的附加組(輔助組): 一個用戶可以屬于零個或多個輔助組。
繼續介紹這四個字段!
1、用戶組名稱
就是組的名字
2、用戶組密碼
同樣移到了/etc/gshadow
3、GID
就是用戶組的id
4、這個用戶組支持的賬號名稱
一個賬號可以加入多個組,賬號想加入用戶組時,在這個字段里添加就好了。
4、相關用法概念與命令
介紹完了這些相信對linux用戶、用戶組也有了一定的了解,但是我們不可能每次添加用戶,用戶組都去改配置文件,這樣不僅出錯率高,而且危險。所以接下來,就介紹相關的命令使用方法。
直接更改配置文件檢查命令
vipw和vigr
vipw=vi /etc/passwd(他會檢查格式是否符合要求)
vigr=vi /etc/group
pwck和grpck
pwck (passwd check)檢查用戶
grpck (group check)檢查組
用戶管理命令
useradd、usermod、userdel
組帳號維護命令
groupadd、groupmod、groupdel
1、用戶相關命令
創建用戶
useradd [options] LOGIN
-u 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: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000
配置文件
默認值設定:/etc/default/useradd文件中
顯示或更改默認設置: useradd -D useradd –D -s SHELL
/etc/default/useradd(保存了創建用戶時如果不設置屬性的默認項)
/etc/skel/*(家目錄的默認文件)
刪除用戶
userdel [OPTION]… login
-r: 刪除用戶家目錄;
用戶屬性修改
usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-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: 設定非活動期限;
更改密碼
passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅 root用戶權限
passwd: 修改自己的密碼;
常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限;
–stdin:從標準輸入接收用戶密碼; echo "PASSWORD" |
passwd –stdin USERNAME
更改密碼配置
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,顯示密碼策略
下一次登錄強制重設密碼 chage -d 0 tom
批量創建用戶。
創建一個文件,以用戶配置文件中格式寫新文件。
然后使用newusers passwd格式文件 批量創建用戶
批量創建密碼
創建一個文件,以密碼配置文件中格式寫新文件。
chpasswd 批量修改用戶口令
切換用戶命令
su [options…] [-] [user [args…]]
切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的 配置文件,不改變當前工作目錄
su – UserName:登錄式切換,會讀取目標用戶的配置 文件,切換至家目錄,完全切換
root su至其他用戶無須密碼;非root用戶切換時需要密碼
換身份執行命令:
su [-] UserName -c 'COMMAND'
選項:-l –login:
su -l UserName 相當于 su – UserName
2、組相關命令
組創建/刪除
創建
groupadd [OPTION]… group_name
-g GID: 指明GID號;
-r: 創建系統組;
刪除
groupdel groupdel GROUP
組屬性修改:
groupmod [OPTION]… group
-n group_name: 新名字
-g GID: 新的GID;
組密碼:
gpasswd [OPTION] GROUP
-a user: 將user添加至指定組中;
-d user: 從指定組中移除用戶user
-A user1,user2,…: 設置有管理權限的用戶列表
newgrp命令:臨時切換基本組; 如果用戶本不屬于此組,則需要組密碼
更改和查看組成員
groupmems [options] [action] options:
-g, –group groupname 更改為指定組 (只有root) Actions:
-a, –add username 指定用戶加入組
-d, –delete username 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
groups [OPTION].[USERNAME]… 查看用戶所屬組列表
原創文章,作者:502795641,如若轉載,請注明出處:http://www.www58058.com/28741
用戶和組管理相關的命令都已經總結好了,如果能相應的有些示例說明,就更好了哦。