linux系統當中的用戶:
linux
用戶是linux系統上身份的標識,不一樣身份的用戶權限也有所不一樣,有些用戶是來完成特定任務,如系統用戶,他們一般都不能登陸到系統,在後臺默默運行
算法
UID:用戶標識符,1-65535shell
linux系統用戶分類:centos
管理員:默認root用戶爲管理員,UID爲0
安全
普通用戶:1-65535
bash
系統用戶:1-499(CentOS 6), 1-999(CentOS 7)
編輯器
通常用於守護某個特定的進程
ide
登陸用戶:500+(CentOS 6),1000+(CentOS 7)
ui
交互式登陸系統
加密
GID:組標識符
linux組:用戶的集合,將多個用戶分配在一個組裏,統一管理,權限分配等。
管理員組:root,GID爲0
普通組:1-65535
系統組:1-499(CentOS 6),1-999(CentOS 7)
普通組:500+(CentOS 6),1-999(CentOS 7)
組類別:
用戶的主要組:在建立用戶是會默認建立一個與用戶名同名的組,組內只包含此用戶一個,私有組
用戶的附加組:用戶可屬於多個輔助組
linux安全上下文:
運行當中的程序叫作進程,當用戶發起一個進程,進程的屬主是發起此進程的用戶,而不是程序自己的屬主。進程可以訪問某資源的權限取決於發起此進程的用戶的權限
已發起者的身份運行:如/bin/cat程序的屬主屬組爲root,zhai用戶發起這個進程,那麼此進程就以zhai用戶的身份運行,並以zhai的身份去訪問某資源
linux用戶和組的配置文件:
/etc/passwd:存放系統上每一個用戶的屬性信息
Login Name:登陸用戶名
passwd:密碼,默認爲x
UID:用戶惟一標識符
GID:用戶所屬的組的GID
Common:註釋信息
Home Directory:用戶所在的家目錄,默認在/home目錄下
Shell:用戶的shell程序,默認爲/bin/bash
/etc/shadow:存放每一個用戶的密碼信息以及關於密碼的一些策略
Login Name:用戶登陸名
Enctypted Passwd:用戶的密碼
date of last password change:最近一次密碼更改時間
Minimum password age:密碼最少使用期限
Maximum password age:密碼最長使用期限
Passwrod warning period:密碼警告期限,密碼過時前n天提醒用戶修改密碼
Password inactivity period:密碼活動週期,密碼過時後幾天將帳戶鎖定
Account expiration date:密碼過時時間,明確指定密碼週期
密碼加密:
對稱加密:加密和解密使用同一個密碼
非對稱加密:加密和解密使用一對密鑰
公鑰:Public key
私鑰:private key
單向加密:只能加密,不能解密:提取數據特徵碼
定長輸出;雪崩效應
常見的算法有:
md5,sha,sha224,sha256,sha384,sha512
更改加密算法:authconfig --passalgo=sha256 --update
密碼複雜性策略:
1.最好很差低於8位
2.使用隨機數做爲密碼
3.要按期更換
4.使用數字、大小寫字母、及特殊字符至少三種以上
/etc/group:存放組基本的屬性信息
Group Name:組名稱
group passwd:組密碼,通常記錄在/etc/gshadow文件中
GID:組的GID
user list:組中包含的用戶列表
/etc/gshadow:存放組的密碼相關信息
Group Name:組名稱
Group Passwd:加密過的羣組密碼
Aadministrators:組管理員列表
user list:組中包含的用戶列表
關於配置文件的相關命令:
vipw:編輯用戶相關配置文件,相似於vi編輯器
vigr:編輯組相關配置文件
grpck:檢查組相關配置文件的完整性:
用戶管理相關命令:
useradd:用於建立用戶
useradd [OPTIONS...] USERNAME
-u UID:指定用戶的:UID
-g GID:指定用戶的基本組(基本組必須存在)
-G GROUP1,GROUP2:指定用戶的附加組(附加組必須存在)
-d /PATH/TO/HOME:指定用戶的家目錄
-s /SHELLS:指定用戶的shell
-c 'COMMON':用戶註釋信息
-r:建立系統用戶
-N:不建立用戶的基本組,默認使用users組作基本組
-o:不檢查UID的惟一性
-D:顯示或更改默認設置
getent passwd USERNAME:可單獨列出某一用戶的屬性信息
練習:
一、建立用戶gentoo,附加組爲bin和root,默認shell爲/bin/csh,註釋信息爲"Gentoo Distribution"
二、建立下面的用戶、組和組成員關係
名字爲admins 的組
用戶natasha,使用admins 做爲附屬組
用戶harry,也使用admins 做爲附屬組
用戶sarah,不可交互登陸系統,且不是admins 的成員,natasha,harry,sarah密碼都是centos
新建用戶的默認配置文件:
/etc/default/useradd:建立用戶是的默認屬性信息
/etc/skel/*:用戶默認家目錄下的文件
/etc/login.defs:影子文件默認配置信息
批量建立用戶:newusers passwd格式的文件
批量修改用戶密碼:cat passwd.txt | chpasswd
usermod:用戶屬性修改
usermod [OPTIONS...] USERNAMEY
-u UID:新的UID
-g GID:新的GID
-a -G GROUP1,GROUP2:新的附加組
-s SHELL:新的shell
-d /HOME:指定新的家目錄
-l NEWNAME:修改用戶的用戶名稱
-c "COMMON":修改用戶註釋信息
-L:鎖定用戶,在/etc/shadow密碼處增長!
-U:解鎖用戶,和-L相反
-e YYYY-MM-DD:指明帳戶過時時間
-f INATIVITY:設定非活動期限
userdel:刪除用戶
userdel [OPTIONS] USERNAME
-r:同時刪除用戶家目錄
id:查看用戶id相關信息
id [OPTIONS...] USERNAME
-u:查看UID
-g:查看GID
-G:查看附屬組
-n:顯示名稱
su:切換用戶或以其餘用戶身份執行命令
su [OPTIONS...] [-] USER
su USERNAME:半切換,不會讀取目標用戶的配置文件,不改變當前工做路徑
su - USERNAME:切換式登陸,會讀取目標用戶的配置文件,將工做路徑切換至目標用戶的加密目錄,徹底切換
su -l USERNAME 至關於 su - USERNAME
注意:管理員切換至普通用戶不須要密碼,而普通用戶切換至管理員須要密碼
su [-] USERNAME -c "COMMAND":以USERNAME用戶的身份運行COMMAND
passwd:修改用戶密碼屬性
passwd [OPTIONS...] USERNAME
-l:鎖定用戶,在/etc/shadow密碼處添加!
-u:解鎖用戶,與-l相反
-S:查看用戶密碼狀態
-d:清楚指定用戶的密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提早多少天開始警告
-e:強制用戶下次登陸修改密碼
-i INACTIVEDAYS:非活動期限
--stdin:從標準輸入設置密碼
echo "centos" | passwd --stdin USERNAME
chage:修改用戶密碼策略
chage [OPTIONS..] USERNAME
-d LAST_DAY
-E, --expiredateEXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindaysMIN_DAYS
-M, --maxdaysMAX_DAYS
-W, --warndaysWARN_DAYS
–l:顯示密碼策略
chfn:指定用戶我的信息
finger:查看用戶我的信息
chsh:修改用戶的shell
組管理命令:
groupadd:建立組
groupadd [OPTIONS...] GROUPNAME
-r:建立系統組
-g GID:指定組的GID
getent group GROUPNAME:可查看指定組的相關信息
groups USER:查看用戶USER屬於哪些組
groupmod:修改組屬性
groupadd [OPTIONS...] GROUPNAME
-g GID:修改組的GID
-n NEWGROUP:修改組名
groupdel:刪除組
groupadel GROUPNAME
gpasswd:修改組密碼
gpasswd [OPTIONS...] GROUPNAME
-a USER:將user添加至指定組中
-d USER:將user從指定組中刪除
-A USER1,USER2:設置有管理權限的用戶列表
newgrp:臨時切換基本組,若是用戶自己不屬於這個組,則須要密碼
groupmems:更改查看組成員
grupmems [OPTIONS...] GROUPNAME
-l:顯示指定組成員
-g GROUPNAME:指定組
-a USER:將USER用戶添加至指定組
-d USER:將USER用戶從指定組中刪除
-p:清除組中全部成員