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