Linux用戶和組

Linux用戶和組
一、安全3A
Authentication(認證)、Authorization(授權)、Accounting|Audition(審計)
二、用戶user
Linux系統使用令牌(token),identity判斷用戶。
Linux 安全上下文:進程所能夠訪問資源的權限取決於進程的運行者的身份。
用戶與組是多對多的關係,但必須有且只有一個主組。用戶的權限是所屬組權限累加。
Linux 用戶:Username/UID
管理員:root,0
普通用戶:1-65535
系統用戶:1-499,1-999(CentOS7),對守護進程獲取資源進行權限分配
登錄用戶:500+, 1000+(CentOS7),交互式登錄
2.1用戶的配置文件
(1)/etc/passwd :用戶及其屬性信息( 名稱、UID 、主組ID等)
每行文件內容由7個字段組成,用":"分隔,代表一個用戶屬性 zhang:x:1000:1000:zhang:/home/zhang:/bin/bash
用戶:密碼佔位符:用戶ID:組ID:用戶全名或註釋:用戶家目錄:默認使用shell
getent passwd unername 只顯示指定用戶屬性信息
vipw 功能和使用vi /etc/passwd一樣,vipw可以檢查語法格式
pwck 檢查passwd文件格式
(2)/etc/shadow :用戶密碼及其相關屬性
文件內容格式,9個字段,用":"分隔 zhang:$6$ZfSe5iYykiO/zJDN$HQrs.DlLtSx6YqfmdO3oETpMpAXQxrApLcSU8QxS/Lbl9fdR.yPcWrgBs149jVGs5o9xKsMFA02dKLXuS2b5k0::0:99999:7:::
賬號:$6使用sha512加密密碼:密碼最近一次被更改的時間:密碼再過幾天可以被變更:密碼再過幾天必須被變更:密碼過期前幾天系統提醒用戶:密碼過期幾天後帳號會被鎖定:密碼失效日期
如果密碼位置用'!'佔位,表示鎖定用戶,用戶就不能登錄
usermod -U username 解鎖用戶
usermod -L username 鎖定用戶
passwd username 修改用戶密碼
passwd -e username 設置不使用初始密碼登錄,登錄後立即修改密碼
change -d 0 username 設置立即修改密碼
設置默認用戶密碼最大有效期 cat /etc/login.defs 修改PASS_MAX_DAYS的值爲指定大小

2.2新建用戶相關文件
/etc/login.defs 設置用戶帳號限制的文件(密碼最大有效期、最小有效期、組ID範圍、自動創建家目錄等),但該文件裏的配置對root用戶無效
/etc/defaul/useradd 該目錄在創建用戶時默認分配用戶的家目錄、默認組、默認shell、是否建立郵箱等
/etc/skel/* 目錄是用來存放新用戶配置文件的目錄,當我們添加新用戶的時候,這個目錄下的所有文件會自動被複制到新添加的用戶的家目錄下
newusers:批量創建用戶
chpasswd:批量修改用戶密碼
假如要把一臺服務器下的多個用戶在另外一臺服務器中創建出來,流程如下:
(1)把用戶及其屬性信息複製在user_list.txt文件中
(2)遠程複製文件 scp user_list.txt ip:/data 把user_list.tx文件複製到ip/data目錄下
newusers user_list.txt 批量創建用戶
(3)創建完成後設置用戶密碼,把用戶和密碼保存在pass_list.txt文件,格式 username:password
(4)設置完密碼後,批量修改用戶密碼 cat pass_list.txt | chpasswd
2.3用戶管理命令
2.3.1useradd
useradd [options] username
-u 指定UID,默認系統分配
-o 配合-u選項,不檢查UID的唯一性,創建uid相同的用戶(一般不推薦用一樣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,默認不創建家目錄
-m 強制創建家目錄,用於系統用戶
-M 不創建家目錄,用於非系統用戶
2.3.2usermod
usermod [options] username
-u UID: 新UID
-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: 設定非活動期限
2.3.3userdel
userdel [options] username
-r 刪除用戶家目錄
2.3.4查看用戶ID 信息
id [OPTION]... [USER]
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱,需配合ugG
2.3.5切換用戶
切換用戶的方式:
(1)su username 非登錄式切換,即不會讀取目標用戶的配置文件,也不改變當前工作目錄
(2)su - UserName :登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換,相當於使用該用戶登錄
(3)root su 至其他用戶無須密碼;非root用戶切換時需要密碼
(4)su [-] UserName -c 'COMMAND' 切換用戶執行命令,執行完返回之前用戶
說明:exit 使用完後切換回原來的用戶
2.3.6設置用戶密碼
passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶有權限修改普通用戶密碼
passwd: 修改自己的密碼
常用選項:
-l: 鎖定指定用戶
-u: 解鎖指定用戶
-e: 強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天開始警告
-i inactivedays :非活動期限
--stdin :從標準輸入接收用戶密碼 echo " PASSWORD " | passwd --stdin USERNAME
echo centos | passwd --stdin sarah 把sarah的密碼設置爲centos
2.3.7修改用戶密碼策略
chage [OPTION]... username
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 顯示密碼策略
三、組group
Linux 組:Groupname/GID
管理員組:root, 0
普通組:
系統組:1-499, 1-999 (CENTOS7)
普通組:500+, 1000+ (CENTOS7)

  1. Linux 組的類別
    用戶的主要組(primary group):用戶必須屬於一個且只有一個主組,組名同用戶名,且僅包含一個用戶,私有組。
    用戶的附加組(supplementary group):一個用戶可以屬於零個或多個輔助組
    3.1組的配置文件
    (1)/etc/group :組及其屬性信息
    文件內容格式,4個字段,用":"分隔 zhang:x:1000:zhang
    組名:密碼佔位符:組ID:以當前組爲附加組的用戶列表( 分隔符爲逗號)
    linux裏用戶必須至少屬於一個組-->主組
    普通用戶可以把自己加在組裏
    vigr 功能和使用vi /etc/group一樣,vigr可以檢查語法格式
    grpck 檢查group文件格式
    (2)/etc/gshadow :組密碼及其相關屬性
    文件內容格式,4個字段,用":"分隔 zhang:!!::zhang
    組名:密碼:組管理員列表:以當前組爲附加組的用戶列表(分隔符爲逗號)
    newgrp groupname 臨時切換用戶主組
    說明:在Linux中一個用戶加入root組並不代表該用戶具有完全的管理員權限,Linux系統根據用戶id判斷是不是管理員用戶,只有id=0的是管理員用戶。
    3.2組管理命令
    3.2.1groupadd
    groupadd [OPTION]... group_name
    -g GID: 指明GID 號;[GID_MIN, GID_MAX]
    -r: 創建系統組
    CentOS 6: ID<500
    CentOS 7: ID<1000
    3.2.2groupmod

組屬性修改:groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
3.2.3groupdel

組刪除:groupdel
groupdel GROUP
3.2.4gpasswd

組密碼:gpasswd 更改組密碼
gpasswd [OPTION] GROUP
-a user 將user 添加至指定組中
-d user 從指定組中移除用戶user
-A user1,user2,... 設置有管理權限的用戶列表
newgrp 命令:臨時切換主組如果用戶本不屬於此組,則需要組密碼
3.2.5groupmems

groupmems [options] [action] 更改和查看組成員
options:
-g, --group groupname 組更改爲指定組 ( 只有root有權限)
Actions:
-a, --add username 指定用戶加入組
-d, --delete username 從組中刪除用戶
-p, --purge 從組中清除所有成員
-l, --list 顯示組成員列表

groups [OPTION].[USERNAME]... 查看用戶所屬組列表
四、密碼
4.1密碼加密
加密機制:
加密:明文--> 密文
解密:密文--> 明文
單向加密:哈希算法,原文不同,密文必不同
相同算法定長輸出,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變,引起結果的巨大改變
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
更改加密算法 authconfig --passalgo=sha256 -- update
4.1密碼複雜性策略
使用數字、大寫字母、小寫字母及特殊字符中至少3種
足夠長
使用隨機密碼
定期更換, 不要使用最近曾經使用過的密碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章