天天看點

Linux的使用者、組和權限管理

使用者、組和權限管理

指令修改使用者的密碼:# echo centos | passwd –stdin chesfer(使用者名)

如果不想看修改成功的資訊:# echo centos | passwd –stdin chesfer(使用者名) > /dev/null

本章節的内容:

了解Linux的安全模型

了解使用者帳号群組群帳号的目的

使用者群組管理指令

了解并設定檔案權限

預設權限

特殊權限

ACL

一、認識Linux的3A安全(資源分派)

Authentication:認證

Authorization:授權

  Accouting|Audition:審計

二、使用者(管理者和普通使用者):

Linux的使用者、組和權限管理

三、組(管理組和普通用組): 

Linux的使用者、組和權限管理

四、了解Linux的安全上下文:

運作中的程式:程序(process)

以程序發起者的身份運作:root:/bin/cat ;mage: /bin/cat

  程序所能夠通路資源的權限取決于程序的運作者的身份

五、組的類别:

Linux的使用者、組和權限管理

六、Linux使用者群組的主要配置檔案:

/etc/passwd:使用者及其屬性資訊(名稱、UID、主組ID等)

/etc/group:組及其屬性資訊

/etc/shadow:使用者密碼及其相關屬性

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

七、passwd格式:

[login name:登入用名(wang)]:[passwd:密碼(x)]:[UID:使用者身份編号(1000)]:[GID:登入預設所在組編号(1000)]:[GECOS:使用者全名或注釋]:[home directory:使用者主目錄(/home/wang)]:[shell:使用者預設使用shell (/bin/bash)]

檢視使用者的passwd:# cat/etc/passwd

Linux的使用者、組和權限管理

檢視指定使用者的passwd:指令#getentpasswd username

Linux的使用者、組和權限管理

/etc/passwd 是以前存放密碼的檔案;新版的作業系統處于安全性上的考慮,将密碼的檔案放在了/etc/shadow;如果需要更改會到以前的存放位置,則使用指令# pwunconv,恢複新的密碼存放位置指令:# pwconv

###

更改使用者的描述資訊:指令#chfnusername

Linux的使用者、組和權限管理

檢視使用者資訊的描述,指令:#finger username

Linux的使用者、組和權限管理

更改使用者的shell,指令:# chsh -s/bin/csh username

Linux的使用者、組和權限管理
Linux的使用者、組和權限管理

shadow檔案格式:

[登入用名]:[使用者密碼:一般用sha512加密]:[從1970年1月1日起到密碼最近一次被更改的時間]:[密碼再過幾天可以被變更(0表示随時可被變更)]:[密碼幾天後必須被變更(99999表示永不過期)]:[密碼過期前幾天系統提醒使用者(預設為一周)]:[密碼過期幾天後帳号會被鎖定]:[從1970年1月1日算起,多少天後帳号失效。]

檢視使用者的shadow:# cat/etc/shadow

Linux的使用者、組和權限管理

檢視指定使用者的shadow:指令# getentshadow username

Linux的使用者、組和權限管理

 密碼期限拓撲圖:

Linux的使用者、組和權限管理

九、密碼加密:

1、加密機制:加密:明文--> 密文;解密:密文--> 明文

2、單向加密:雜湊演算法,原文不同,密文必不同

3、相同算法定長輸出,獲得密文不可逆推出原始資料

4、雪崩效應:初始條件的微小改變,引起結果的巨大改變

5、加密算法類型:

md5: message digest, 128bits

sha1: secure hash algorithm, 160bits

sha224: 224bits

sha256: 256bits

sha384: 384bits

sha512: 512bits

  6、更改加密算法:# authconfig --passalgo=sha256 –update(不會即刻生效,需要使用者重新更改密碼後方可生效)

7、密碼的複雜性政策:使用數字、大、下寫字母及特殊字元中至少3種;足夠長;使用随機密碼;定期更換;不要使用最近曾經使用過的密碼

  8、生成随機數做密碼:指令# openssl rand -base64 20

   生成沒有特殊符号的随機數:指令# openssl rand -base64 20 | tr -d [[:punct:]]

Linux的使用者、組和權限管理

十、Group的檔案格式:

[群組名稱:就是群組名稱]:[群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow]:[GID:就是群組的ID]:[以目前組為附加組的使用者清單(分隔符為逗号)]

Linux的使用者、組和權限管理

十一、gshadow的檔案格式:

[群組名稱:就是群組名稱]:[群組密碼]:[組管理者清單:組管理者的清單,更改組密碼和成員]:[以目前組為附加組的使用者清單:(分隔符為逗号)]

檢視指令:#getent  gshadow bin

組名:組密碼:組管理者賬号:組的成員(多個成員使用,隔開)

Linux的使用者、組和權限管理

臨時性更改使用者組:指令#newgrpbin

十二、檔案操作:

vipw和vigr  修改passwd和gshadow配置檔案

pwck和grpck:檢查passwd和gshadow的修改是否格式錯誤:

Linux的使用者、組和權限管理

十三、 使用者群組的管理指令:

    使用者管理指令:useradd、usermod、userdel

    組帳号維護指令:groupadd、groupmod、groupdel

  使用者建立:useradd

  使用格式: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/skel下;新使用者建立的預設屬性模闆存放在/etc/default/useradd下 ###

Linux的使用者、組和權限管理

### 指令上鎖使用者:#usermod –Lusername;指令解鎖使用者:usermod -U username ####

作業;

1、建立使用者gentoo,附加組為bin和root,預設shell為/bin/csh,注釋資訊為"GentooDistribution"

# useradd -G bin,root -s /bin/csh -c "Gentoo Distribution"Gentoo

Linux的使用者、組和權限管理
Linux的使用者、組和權限管理

2、建立下面的使用者、組群組成員關系:名字為admins的組,使用者natasha,使用admins 作為附屬組,使用者harry,也使用admins 作為附屬組使用者sarah,不可互動登入系統,且不是admins 的成員,natasha,

harry,sarah密碼都是centos

# groupadd admins;useradd -G admins natasha;useradd -G admins harry;useradd -s /sbin/nologin -r sarah;echo"centos"|passwd --stdin natasha;echo "centos"|passwd--stdin harry;echo "centos"|passwd --stdin sarah

Linux的使用者、組和權限管理