1. 程式人生 > >用戶和組管理用戶和組管理

用戶和組管理用戶和組管理

活動 更改 成員 詳細信息 entos 設定 stdin root用戶 接收

Linux運維之路 基礎篇:(三) 用戶和組管理用戶和組管理:實現資源分派

Linux用戶:

root用戶:UID為0
普通用戶:UID為1-65535

系統用戶:UID為1-499(RHEL7為1-999)
登錄用戶:UID為500+(RHEL7為1000+)

Linux組:將多個用戶與權限相關聯

root組:GID=0
普通組:
系統組:GID為1-499(RHEL7為1-999)
普通組:GID為500+(RHEL7為1000+)

Linux安全上下文:

運行中的程序,進程以發起者的身份運行,進程能訪問哪些資源,取決於進程的發起者  
  1. 發起者同文件的屬住,則應用文件屬主權限
  2. 進程的發起者屬於文件的屬組,則應用文件屬組權限
  3. 應用文件其他權限

啟動為進程之後,其進程的屬主為發起者,屬組為發起者所屬的組

Linux組的類別

用戶的基本組(主組):每個用戶只有一個主組,組名同用戶名。且僅包含一個用戶,私有組  
用戶的附加組(額外組):用戶可以屬於多個附加組  

Linux用戶和組的配置文件

/etc/passwd:保存用戶及其屬性信息,每個字段以:分隔

weiying:x:1000:1000:weiying:/home/weiying:/bin/bash  
用戶名:密碼占位符:UID:GID:家目錄:描述信息:登錄使用的shell

/etc/group:組及其相關屬性信息,每個字段以:分隔

weiying:x:1000:  
組名:密碼占位符:GID:用戶列表(僅顯示以當前組為附加組的用戶列表)

/etc/shadow:用戶密碼及其相關屬性,每個字段以:分隔

weiying:$6$OHa7LB1m$3R.aexcJg0H1M5dHCsi9KHreVzgMCn8LUb812Xt4nC3Zr4Ua2uW2iQYSB3B044lKMaFcN8vWBf3e57d8zL6Hw0:17334:0:99999:7:::
用戶名:加密的密碼:最後一次修改密碼的時間:密碼使用最小期限:密碼使用最大期限:密碼警告時間段:密碼禁用期:賬號過期日期:保留字段

加密機制:單向加密:明文文件加密為密文,不可逆
加密工具:md5sum sha(1、224、256、384、512)sum sharesec

CentOS 6以後默認使用的加密方式是:sha512

/etc/gshadow:組密碼 及其相關屬性信息

用戶創建

useradd:添加用戶

格式:useradd 選項 用戶名
    -u:指定用戶UID,並且大於UID_MIN(/etc/login.dfs)
    -o 配合-u 選項,不檢查UID的唯一性
    -g:指定GID,組必須存在(基本組)
    -G:指定用戶附加組
    -c:用戶登錄時的描述信息,註釋信息
    -d:指明家目錄,默認在/home下與用戶名同名
    -N 不創建私用組做主組,使用users組做主組
    -s:指明shell文件路徑,默認為/etc/bash
    -D:更改默認值  /etc/defult/useradd           
        -s:更改默認shell
        -f:賬號禁用期時間                  
        -e:禁用賬號過期時間
    -r:創建系統用戶
    -m 創建家目錄,用於系統用戶
    -M 不創建家目錄,用於非系統用戶

chsh更改用戶使用的shell:

chsh -s shell username

newusers批量創建用戶

newusers passwd格式文件

chpasswd 批量修改用戶口令

cat passwd文件 | chpassed 文件格式(用戶名:密碼)

創建組

groupadd:創建組
    格式:groupadd 選項 groupname
        -g:指明GID
        -r:創建系統組

用戶相關命令:

id:顯示用戶的詳細信息
    -u:只查看用戶的UID
    -g:只查看用戶的GID
    -G:顯示用戶所屬的主組和附加組
su:切換用戶
    格式:su 選項 [-] 用戶名
        —表示登錄式切換,不加表示非登錄式切換,不會讀取用戶的配置文件
        -c:su - 用戶名 -c 命令 以指定用戶執行命令,不登錄
        -l:相當於加 -,登錄式切換

修改用戶屬性

usermod:
    格式:usermod 選項 用戶名
        -d:指定用戶新的家目錄,原有家目錄中的內容不會移動到新的家目錄中,如果要移動加-m選項
        -u:指定用戶新的UID
        -c:指定新的註釋
        -l:指定新的用戶名
        -g:指定新的主組
        -G:指定新的附加組,原有的附加組被覆蓋,如果要保留加-a選項
        -s:指定新的shell
        -L:鎖定用戶
        -U:解鎖指定用戶
chage:更改密碼過期信息
        -d:最後一次修改密碼時間
        chage -d 0 username 下一次登錄強制重設密碼
        -E:修改賬號的過期時間
        -i:設置用戶非活動期限
        -m:密碼最小使用天數  最大為-M
        -w:警告期限    

給用戶添加密碼

passwd:添加或修改密碼
    格式:passwd 選項 用戶名
        -l:鎖定用戶
        -u:解鎖指定用戶
        -n:指定密碼使用最短期限
        -x:最大使用期限
        -w:指定密碼過期前幾天開始警告
        -i:過期後還有幾天能修改密碼
        -e:設置密碼過期期限,不加時間強制用戶下次登錄修改密碼
        --stdin:從標準輸入接收用戶密碼
        例:
        [[email protected] ~]# echo "admin123" | passwd --stdin user1

刪除用戶:

userdel:
    -r:刪除用戶家目錄

組屬性修改:

groupmod:類似於usermod
    -n:指定新的名字
    -g:指定新的GID

組刪除:

groupdel: groupdel 組名

組密碼設定:

gpasswd:
    格式:gpasswd 選項 組名
    -a:向指定組中添加用戶 -a username groupname
    -d:刪除用戶的附加組      -d username groupname
    -A user列表:設置有管理權限的用戶列表

newgrp命令:

newgrp:臨時切換組
如果用戶屬於本組,不需要密碼

更改和查看組成員

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

用戶和組管理用戶和組管理