RHEL四(管理本地用戶和組以及本地密碼策略)

在linux中,用戶可以分爲幾類:超級用戶、系統用戶、普通用戶。超級用戶uid=0,系統用戶在rhel5和rhel6中uid=1-499,rhel7中,uid=1-200表示系統自帶用戶,201-999表示其他系統用戶,普通用戶在rhel5和rhel6中是500-60000,在rhel7中從1000開始。

用戶相關文件:

/etc/passwd 存放用戶和用戶對應的UID

[root@desktop0 content]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash

列1、用戶名

    2、密碼佔位符

    3、用戶UID

    4、用戶GID

    5、註釋

    6、用戶家目錄

    7、用戶使用的shell


/etc/shadow 存放用戶密碼信息

[root@desktop0 content]# grep ^root /etc/shadow
root:$6$PFwvgEDl$q/7OKjywR4XEOT8VN.2s/OrfdvhmauyLkJHY1GYvkguClUilvwFrKdMniBlJzl8bxViudknWPptv/81Nz3NfM/:16442:0:99999:7:::

列1、用戶名

    2、加密密碼

    3、用戶最後一次修改密碼的時間,從1970-1-1開始計算,單位天

    4、最短修改密碼的間隔時間,單位天,0代表不限制,隨時可以修改密碼

    5、密碼的有效期,單位天,99999表示永不過期

    6、密碼過期前多少天提示

    最後3個冒號後是空的,這裏使用a、b、c代替

    a、密碼過期後多少天不能使用

    b、距離1970-1-1號到某天的天數之後,賬號過期

    c、保留


/etc/group 存放當前系統所有用戶組信息

group:   x:                   123:          abc,def,xyz

組名    密碼佔位符    組編號      組中用戶列表

/etc/gshadow 存放當前系統中用戶組的密碼信息

group:   *:                   :  abc,def,xyz

組名    密碼佔位符(*或!表示爲空)    組管理者      組中用戶列表


/etc/default/useradd 創建用戶時會讀取該配置文件,如果沒有指定選項,該文件中默認指定了用戶的GID,家目錄,shell等信息

/etc/login.defs 密碼策略文件,爲用戶分配密碼時會讀取該配置文件,如果沒有指定選項,該文件中默認指定了密碼的有效期等信息


如何登錄主機:

當系統出現login畫面的時候,提示用戶輸入用戶名和密碼,linux會:

1、先找到/etc/passwd,判斷用戶是否存在,如果沒有則退出,如果有,它會將用戶所對應的UID和GID讀取出來,並將該用戶的家目錄和SHELL一起讀取出來

2、然後到/etc/shadow中核對密碼錶,查找對應用戶的UID,然後覈對剛纔輸入的密碼

3、如果一切相符,進入shell階段


創建用戶:useradd [-選項]  [選項值] 用戶名

useradd rheluser1 直接這樣創建,系統會創建一個同名的組並讓該用戶屬於這個組,使用命令id rheluser1可以查看用戶的UID、GID、和組名

常用選項:

-u:指明用戶uid

-g:指明用戶所屬組,可以是GID也可以是組名

-G:指明用戶還屬於其他組

-s:指明用戶使用的shell,sbin/nologin表示不允許登錄

-c:指明註釋信息

-d:指明用戶家目錄

創建用戶執行的步驟:

1、修改/etc/passwd

2、修改/etc/shadow

3、修改/etc/group

4、修改/etc/gshadow

5、創建家目錄

6、拷貝一些桌面環境變量 cp etc/skel* /home/username

7、將用戶家目錄的擁有者和組  chown username:usergroup /home/username


創建組:groupadd [-選項] [選項值]  組名

修改用戶:usermode  [-選項] [選項值]  用戶名

密碼策略:

使用man 3 crypt可以查看到密碼策略:

      ID  | Method
              ─────────────────────────────────────────────────────────
              1  
 | MD5
              2a
 | Blowfish (not in mainline glibc; added in some
                 
   | Linux distributions)
              5  
  | SHA-256 (since glibc 2.7)
              6  
  | SHA-512 (since glibc 2.7)

使用grep ^root /etc/shadow查看密碼:

:$6$PFwvgEDl$q/7OKjywR4XEOT8VN.2s/OrfdvhmauyLkJHY1GYvkguClUilvwFrKdMniBlJzl8bxViudknWPptv/81Nz3NfM/

可以分爲3段,以$進行分割,三段間的值這裏用A、B、C表示

$A$B$C

A-->ID,散列算法

B-->Salt,鹽值,系統生成的一個隨機串

C-->salt+明文密碼封裝而成的密文密碼

可以安裝一個工具 yum install authconfig-gtk krb5-workstation sssd -y,然後使用system-config-authentication命令來修改密碼加密方式,在第二個選項卡Advanced Options(高級配置)中,修改加密方式爲md5。然後修改密碼,再去查看/etc/shadow,root的密碼散列算法ID變成了1。這時候,可以將密碼穹取出來,使用openssl -table -l -salt 'B對應的字符串'  -stdin < /usr/share/dict/words | grep 'C對應的字符串',就能查詢出對應的密碼明文了!


su:切換用戶

su -student  表示切換並登錄用戶

加載的文件:/etc/profile、  /etc/profile.d/*、  ~/.bash_profile、  ~/.bashsrc、  /etc/bashsrc

su student   表示切換但未登錄用戶

加載的文件:~/.bashsrc、   /etc/bashsrc、  /etc/profile.d/*

文件說明:

/etc/profile和 /etc/profile.d/*:全局設置文件,定義全局環境變量(只有當用戶登錄的時候加載一次)

/etc/bashsrc:全局設置文件,定義命令別名(每次打開shell就加載一次)

~/.bash_profile:用戶私有配置文件,用戶可以定義自己的環境變量(只有當用戶登錄的時候纔會加載一次)

~/.bashsrc:用戶私有配置文件,定義私有別名

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章