用戶和組

3A安全介紹

資源分派:

Authentication:認證

Authorization:授權

Accouting|Audition:審計

安全上下文

Linux安全上下文

運行中的程序:進程 (process)

以進程發起者的身份運行:

root: /bin/cat

mage: /bin/cat

進程所能夠訪問資源的權限取決于進程的運行者的身份

用戶user

令牌token,identity

在Linux里,當用戶登錄時只有經過合法的驗證才能拿到令牌,訪問資源時,對資源出示令牌,只有出示正確的令牌計算機才會認為你是合法用戶,才能訪問必要的資源。獲取令牌的過程就是驗證身份的過程,當驗證身份成功后就會得到相應的令牌,當訪問資源時是攜帶著令牌來進行檢查時否具有相應的權限。驗證身份依靠用戶名和密碼。在Linux里判斷是管理員還是普通用戶依據UID,為零則為管理員。

Linux用戶:Username/UID

默認管理員用戶名為root,UID為0

普通用戶UID為1-65535普通用戶分又分為系統用戶和登錄用戶

系統用戶{UID1-499(centos6),1-999(centos7)對守護進程獲取資源進行權限分配}系統用戶不需要登錄,它是給服務或后臺進程使用的,只要系統開始運行,這些進程就會自動以相應的用戶啟動運行。一般系統用戶默認使用/sbin/nologin(不允許交互式登錄)。

登錄用戶{UID500+(centos6),1000+(centos7)}(交互式登錄)

默認信息存放位置:/etc/login.defs

/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)

以前這是一個存放密碼口令的文件,出于安全考慮,現在密碼已經存放到/etc/shadow這個文件中

,普通用戶沒有查看shadow文件的權限,增加了linux的安全性。

文件格式為起個字段:

用戶名:x隱藏密碼:UID:GID:用戶全名或注釋:家目錄:shell類型

chnf+用戶名 可以添加用戶描述信息

finger查看用戶詳細信息

chsh更改shell類型

getent passwd root查看root用戶的passwd信息

pwunconv 恢復passwd中隱藏密碼

pwconv隱藏passwd中的密碼

/etc/shadow:存放用戶密碼及其相關屬性

文件格式為就個字段:

1登錄用名 :

2用戶密碼,一般用sha512加密:

3從1970年1月1日起到密碼最近一次被更改的時間(如果為零,下次登錄必須更改密碼):

4密碼再過幾天可以被變更(0表示隨時可被變更):

5密碼再過幾天必須被變更(99999表示永不過期):

6密碼過期前幾天系統提醒用戶(默認為一周):

7密碼過期幾天后帳號會被鎖定:

8從1970年1月1日算起,多少天后帳號失效。

9保留字段

如果將shadow文件內的用戶密碼刪除,登錄該用戶將不再需要密碼,可以直接登錄。

由于這個文件是存放密碼信息的,非常敏感,所以只有root可以直接查看文件內容

加密算法種類:

md5:128bits

sha1: 160bits

sha224: 224bits

sha256: 256bits

sha384: 384bits

sha512: 512bits

更改以后新建賬號加密口令算法 :authconfig –passalgo=sha256 –update

openssl rand -base64 20      生成20位隨機數密碼

強迫用戶下次登錄必須更改密碼:1,chage -d0 用戶名 2,passwd -e 用戶名

用戶管理命令

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

系統用戶不會自動創建家目錄和郵箱

批量創建用戶和密碼

newusers 文件名

cat 文件名 |chpasswd

usermod

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: 設定非活動期限;

userdel

userdel [OPTION]… login

-r: 刪除用戶家目錄;

查看用戶相關的ID信息

id [OPTION]… [USER]

-u: UID

-g: GID

-G: Groups

-n: Name

切換用戶或以其他用戶身份執行命令

su [options…] [-] [user [args…]]

切換用戶的方式:

su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄

su – UserName:登錄式切換,會讀取目標用戶的配置 文件,切換至家目錄,完全切換

root su至其他用戶無須密碼;非root用戶切換時需要密碼

換個身份執行命令:

su [-] UserName -c 'COMMAND'

選項:-l  –login:

su -l UserName 相當于 su – UserName

設置密碼

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

chage -m 0 –M 42 –W 14 –I 7 tom

chage -E 2016-09-10 tom


組group

Linux組:Groupname/GID

管理員組:root, 0

普通組:

系統組:1-499(centos6), 1-999 (centos7)

普通組:500+, 1000+

Linux不支持組的嵌套

組是為了方便多用戶的管理

組名與用戶名可以相同,GID與UID也可以相同

創建用戶時自動創建同名組

組的類別

Linux組的類別:

用戶的主要組(主組):

用戶必須屬于一個且只有一個主組

組名同用戶名,且僅包含一個用戶:私有組

用戶的附加組(輔助組): 一個用戶可以屬于零個或多個輔助組

用戶和組的配置文件

Linux用戶和組的主要配置文件:

/etc/group:組及其屬性信息

文件格式:

1群組名稱:就是群組名稱

2群組密碼:通常不需要設定,密碼是被記錄在 /etc/gshadow

3GID:就是群組的 ID

4以當前組為附加組的用戶列表(分隔符為逗號)

更改用戶組信息后需要重新登錄該用戶才能獲取最新的組成員關系

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

群組名稱:就是群組名稱

群組密碼:

組管理員列表:組管理員的列表,更改組密碼和成員

以當前組為附加組的用戶列表:(分隔符為逗號)

groupadd

groupadd [OPTION]… group_name

-g GID: 指明GID號;[GID_MIN, GID_MAX]

-r: 創建系統組;

CentOS 6: ID<500 CentOS 7: ID<1000

groupmod

組屬性修改:groupmod groupmod [OPTION]… group

-n group_name: 新名字

-g GID: 新的GID;

groupdel

組刪除:groupdel  GROUP

更改組密碼

組密碼:gpasswd

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]… 查看用戶所屬組列表


注意:/etc/passwd文件和/etc/shadow文件對應內容需保持一致

/etc/group文件和/etc/gshadow也是如此

vipw命令相當于調用vi /etc/passwd,更改文件內容時這個命令會檢查語法格式,相對來講更安全

vigr命令相當于調用vi /etc/group,更改文件內容時這個命令會檢查語法格式,相對來講更安全

pwck和grpck可以用來檢查passwd和groupwd是否有錯誤

所以如果想要更改信息最好使用命令


原創文章,作者:M20-16劉國新,如若轉載,請注明出處:http://www.www58058.com/30203

(0)
M20-16劉國新M20-16劉國新
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • Linux磁盤和文件系統

    一.硬盤的組成     硬盤主要由圓形的盤片、機械臂和機械臂上的磁頭、主軸馬達組成。     盤片上數據的存儲:         扇區為最小的物理存儲單位,每個扇區為512bytes;  &…

    Linux干貨 2015-04-02
  • Linux sed命令詳則

    sed命令 sed是一種流編輯器,它是文本處理中非常好的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前的行儲存在臨時緩存區中,稱為“模式空間”(pattern space),接著用sed命令處理緩存區中的內容,處理完成后,把緩存區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。Sed…

    2017-08-11
  • raid,lvm,及sed命令的相關使用總結

    raid0 條帶化 chunk最小寫入單位 至少2塊盤 空間大小 單塊磁盤大小*nraid1 鏡像  1/n   讀性能提升,寫入比單塊盤慢  空間始終是一塊盤的大小   容錯率高  可以壞  n-1塊盤raid10 容錯高于raid01 但空間損失更多,讀寫性能 提升 造價高。raid4&nbsp…

    2017-08-26
  • N25—-第三周作業

    1、 列出當前系統上所有已登錄用戶的用戶名。只顯示一次    who | cut -d' ' -f1 | sort -u 2、 取出最后登錄到當前系統的用戶的相關信息。   last | h…

    Linux干貨 2016-12-19
  • shell中$(( ))、$( )、“與${ }的區別

    shell中$(( ))、$( )、“與${ }的區別,包括其簡單用法。

    2017-09-11
  • 用戶和組相關的配置文件

    目錄 l  用戶 l  組賬號 l  UID和GID號 l  /etc/passwd分析 l  /etc/shadow分析 l  /etc/group分析 l  /etc/gshadow分析 l  通過用戶和用戶組配置文件來查詢或管理用戶 l  總結 1、用戶(User…

    Linux干貨 2016-10-23
欧美性久久久久