1. 程式人生 > 其它 >[Linux之許可權管理⽤戶組管理]

[Linux之許可權管理⽤戶組管理]

[Linux之許可權管理⽤戶組管理]

許可權管理使用者組管理

RBAC 許可權管理

RBAC(Role-Based Access Control,基於角色的訪問控制),就是使用者通過角色與許可權進行關聯。簡單地說,一個使用者擁有若干角色,每一個角色擁有若干許可權。這樣,就構造成“使用者-角色-許可權”的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。

RBAC許可權模型的擴充套件模型的完整設計圖

如何檢視使用者相關資訊

id 		# 獲取當前使用者的資訊
whoami  # 獲取當前使用者

linux系統中使用者角色劃分

在linux系統中,⽤戶分為管理員⽤戶與其他⽤戶

而其他使用者又分為系統使用者和普通使用者

    使用者uid小於1000的是系統使用者
    使用者uid大於等於1000的是普通使用者
    

使用者與組相關檔案介紹

/etc/passwd --> 使用者配置檔案

第⼀欄位:⽤戶名(也被稱為登入名);
第⼆欄位:⼝令;在例⼦中我們看到的是⼀個x,其實密碼已被對映到/etc/shadow⽂件中;第三欄位:UID;請參看本⽂的UID的解說;
第四欄位:GID;請參看本⽂的GID的解說;
第五欄位:描述資訊,可選
第六欄位:⽤戶的家⽬錄所在位置;
第七欄位:⽤戶所⽤SHELL的型別

/etc/shadow --> 使用者的密碼檔案

第⼀欄位:⽤戶名(也被稱為登入名),在/etc/shadow中,⽤戶名和/etc/passwd 是相同的,這樣就把
passwd 和shadow中⽤的⽤戶記錄聯絡在⼀起;這個欄位是⾮空的;

第⼆欄位:密碼(已被加密),如果是有些⽤戶在這段是x,表示這個⽤戶不能登入到系統;這個欄位是⾮空的;

第三欄位:上次修改⼝令的時間;這個時間是從1970年01⽉01⽇算起到最近⼀次修改⼝令的時間間隔(天數),
您可以通過passwd 來修改⽤戶的密碼,然後檢視/etc/shadow中此欄位的變化;

第四欄位:兩次修改⼝令間隔最少的天數;如果設定為0,則禁⽤此功能;也就是說⽤戶必須經過多少天才能修改
其⼝令;此項功能⽤處不是太⼤;預設值是通過/etc/login.defs⽂件定義中獲取,PASS_MIN_DAYS 中有定
義;

第五欄位:兩次修改⼝令間隔最多的天數;這個能增強管理員管理⽤戶⼝令的時效性,應該說在增強了系統的安全
性;如果是系統預設值,是在新增⽤戶時由/etc/login.defs⽂件定義中獲取,在PASS_MAX_DAYS 中定義;

第六欄位:提前多少天警告⽤戶⼝令將過期;當⽤戶登入系統後,系統登入程式提醒⽤戶⼝令將要作廢;如果是系
統預設值,是在新增⽤戶時由/etc/login.defs⽂件定義中獲取,在PASS_WARN_AGE 中定義;

第七欄位:在⼝令過期之後多少天禁⽤此⽤戶;此欄位表示⽤戶⼝令作廢多少天后,系統會禁⽤此⽤戶,也就是說
系統會不能再讓此⽤戶登入,也不會提示⽤戶過期,是完全禁⽤;

第⼋欄位:⽤戶過期⽇期;此欄位指定了⽤戶作廢的天數(從1970年的1⽉1⽇開始的天數),如果這個欄位的值
為空,帳號永久可⽤; www.hackdig.com

第九欄位:保留欄位,⽬前為空,以備將來Linux發展之⽤;

如果更為詳細的,請⽤ man shadow來檢視幫助,您會得到更為詳盡的資料;

/etc/group --> 組配置檔案

/etc/gshadow --> 組的密碼檔案

使用者管理命令

建立使用者 :useradd  使用者名稱

	1) 掌握useradd命令的功能:新增⼀個⽤戶。
    2) 瞭解useradd命令的常⽤選項:
    3) –u:指定⽤戶的UID
    4) –g:指定⽤戶所屬的主群  # 使用者組必須是已經存在的
       –G:指定⽤戶所屬的附加群
    5) –d:指定⽤戶的家⽬錄   # 預設當前使用者名稱作為/home下的家的檔名,-d 可以指定路徑作為家目錄
    6) –c:指定⽤戶的備註資訊 # 在使用者資訊的第五列,預設為空,只有root裡面備註是root
    7) –s:指定⽤戶所⽤的shell
    8) -e:修改過期時間
    9) -M: 不建立家⽬錄
    10) -r: 建立系統賬戶,uid處於系統⽤戶範圍內,預設就沒有家⽬錄
    
刪除使用者 :userdel  使用者名稱 # 刪除之後在passwd目錄中使用者已經不存在了,但是/home裡面還有該使用者資料夾

	userdel -r 使用者名稱 	  # 徹底刪除,passwd和/home都不會再有使用者資訊
	
修改使用者 :usermod  使用者名稱
	
	-u: 修改使用者的UID
	–g:指定⽤戶所屬的主群  #  使用者組必須是已經存在的,否則無法修改
	
	id user6
	修改前:uid=1009(user6) gid=1009(user6) 組=1009(user6)
	usermod user6 -g 1003 # 1003的組ID現在就是liuhaojie
	修改後:uid=1009(user6) gid=1003(liuhaojie) 組=1003(liuhaojie)
	但是此時user6 使用者在/etc/group 裡面 user6:x:1009:
	
	-G:指定⽤戶所屬的附加群
	id user6
	修改前:uid=1009(user6) gid=1003(liuhaojie) 組=1003(liuhaojie)
	usermod user6 -G 1005
	修改後:uid=1009(user6) gid=1003(liuhaojie) 組=1003(liuhaojie),1005(user5)
	此時/etc/group的user5使用者的附加組會加上user6
    	user5:x:1005:user6 
    	user6:x:1009:
	
修改密碼 :passwd   使用者名稱
	
建立組  :groupadd 

修改組  :groupmod

	-g :修改使用者組的GID # 必須是不能存在的使用者組GID
	修改前:
		id user6 : uid=1009(user6) gid=1003(liuhaojie) 組=1003(liuhaojie),1005(user5)
		/etc/group : user6:x:1009:
	修改後:
		groupmod user6 -g 1006
		id user6 : uid=1009(user6) gid=1003(liuhaojie) 組=1003(liuhaojie),1005(user5)
		/etc/group : user6:x:1006:
	
刪除組	 :groupdel

關於 usermod 的 小 g 和 大 G 以及 groupmod 的 小 g 總結

usermod -g 是用來修改使用者的GID,也就是把當前使用者的UID改成其他使用者的UID(主組ID或者說初始ID),同時附加組會預設加入一個當前UID命名的附加組的ID

usermod -G 是用來修改使用者的附加組的,可以增加很多很多附加組,增加附加組之後,使用者就有了附加組對應的UID許可權,也就是說,user5使用者的附加組是user4,那麼允許user4組讀取的檔案,user5也可以讀取

groupmode -g 是修改使用者主組的ID,這個ID就是usermode -g 指向的ID,如果其他使用者用usermode -g 指向這個id 就表示其他使用者設定了UID就是這個組ID

總結部分:
	
	可以說,在cat /etc/group 裡面看到的使用者主組和附加組,主組是初始ID,作為一個證明(身份證號),可以理解成資料庫的主鍵,而附加組則可以理解為哪些使用者關聯了這個使用者主鍵!關聯主鍵的使用者就作為組員而存在,被關聯主鍵的使用者是組長,他們在一起組成的組以被關聯主鍵的使用者名稱命名。組員會根據組長擁有的許可權而擁有許可權,代表組長擁有什麼許可權,所有的組員就會有什麼許可權。在此。groupmod -g 修改的就是這個初始ID ,如果修改了這個初始ID ,檢視附加組裡面的使用者ID也會跟著顯示修改後的主鍵使用者初始ID,有點類似級聯更新。
	

修改密碼的兩種方式:

第一種:命令修改

第二種:編輯使用者密碼檔案

root密碼如何設定為空

編輯使用者配置檔案,把 root:x  後面的這個x去掉,x代表的是密碼佔位符,去掉表示使用者登入不校驗密碼

手動建立一個使用者

# 自己建立使用者
1、建立使用者組:/etc/group
2、建立使用者組密碼檔案:/etc/gshadow
3、建立使用者:/etc/passwd
4、建立使用者密碼:/etc/shadow
5、建立家目錄
6、修改許可權,複製隱藏檔案

help補充

如果有些指令忘記怎麼操作
可以使用
指令 --help
來獲取提示