Authentication:認證
linux
Authorization:受權
算法
Accouting|Audition :審計
shell
linux 運行的程序是以進程發起者的身份運行的,進程所能訪問資源的權限取決於進程的運行者的身份centos
用戶 user:安全
令牌 token,identitybash
Linux用戶:username/UIDapp
管理員:root,0ide
普通用戶:1-65535 ui
系統用戶:centos6是1-499,centos7是1-999,對守護進程獲取資源進行權限分配 加密
登陸用戶:centos6是500+,centos7是1000+,交互式登陸
組 group:
Linux組:groupname/GID
管理員:root,0
普通組:1-65535
系統組:centos6是1-499,centos7是1-999
普通組:centos6是500+,centos7是1000+
Linux的組分兩類
一個是用戶的主要組(主組):
用戶必須屬於一個且只有一個主組
組名同用戶名,且僅包含一個用戶:私有組
一個是用戶的附加組(輔助組):
一個用戶能夠屬於零個或多個輔助組
用戶和組的配置文件:
/etc/passwd : 用戶及其屬性信息(名稱,UID,主組ID等)
/etc/group : 組及其屬性信息 group_name:password:GID:user_list
/etc/shadow : 用戶密碼及其相關屬性
/etc/gshadow : 組密碼及其相關屬性
/etc/passwd文件格式:
name:登陸用戶名
password:密碼用X顯示
UID:用戶的身份編號
GID:登陸默認所在組的編號
GECOS:用戶全名或註釋
directory:用戶主目錄
shell:用戶默認使用的shell
/etc/group文件格式:
group_name:羣組名稱
password:羣組密碼,一般不須要設定
GID:羣組的ID
user_list:以當前組爲附加組的用戶列表(分隔符爲逗號)
/etc/shadow文件格式:
信息是以 : 爲分隔符,包含如下信息:
login name :登陸用戶名
encrypted password : 加密密碼,通常使用sha512加密
date of last password change :最近一次密碼更改日期
minimum password age:密碼再過幾天能夠被變動(0表示隨時能夠變動)
maximum password age: 密碼再過幾天必須變動(99999表示永不過時)
password warning period:密碼警告期,默認爲一週
password inactivity period:密碼不活躍期(密碼過時後幾天後帳號被鎖到)
account expiration date:帳戶有效期
reserved field:保留字段
/etc/gshadow文件格式:
group name:組名字
encrypted password:加密的密碼
administrators:組管理員
members:組用戶成員
密碼加密:
加密機制:
加密:明文-->密文
解密:密文-->明文
單項加密:哈希算法,原文不一樣,密文也必不相同
更改加密算法 authconfig --passalgo=sha256 --update
使用數字、大寫字母、小寫字母及特殊字符中至少3種
足夠長,使用隨機密碼 ,按期更換,不要使用最近曾經使用過的密碼
好比把用戶 cent 的密碼改成123 能夠執行此命令
echo 123 | passwd --stdin cent > /dev/null
echo #? 查看是否執行成功
此命令有兩個做用,第一就是改密碼,而後改密碼後不會在屏幕上顯示,由於將屏幕輸出重定向到/dev/null
/dev/null 該設備是一個相似黑洞的設備,全部文件重定向此設備都不會泛起一絲漣漪,是一個超級垃圾箱
chfn 該命令能夠更改用戶信息
finger cent 命令查看cent用戶信息
chsh -s /bin/bash cent 把cent用戶的shell改成bash
特殊的shell /sbin/nologin 沒法登錄
/etc/skel:用戶家目錄的模板
/etc/default/useradd:建立用戶的配置文件
例如:
1,建立用戶gentoo,附加組爲bin和root,默認shell爲/bin/csh,註釋信息爲"Gentoo Distribution"
seradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
2,建立下面的用戶、組和組成員關係
名字爲admins 的組
用戶natasha,使用admins 做爲附屬組
用戶harry,也使用admins 做爲附屬組
用戶sarah,不可交互登陸系統,且不是admins 的成員,natasha,harry,sarah密碼都是centos
groupadd admins useradd -G admins natasha useradd -G admins harry echo centos | passwd --stdin harry echo centos | passwd --stdin natasha useradd -s /sbin/nologin sarah echo centos | passwd --stdin sarah
useradd:用戶的建立
useradd [options] LOGIN
options:
-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 不建立私用組做主組,使用usrs組爲主組
-r 建立系統用戶 centos 6 :ID<5000 centos 7 :ID <100
默認設定值存在/etc/default/useradd文件中
顯示或更改默認設置:
useradd -D
useradd -D -s SHELL //修改默認shell
groupadd [選項] group_name
-g GID:指定GID:默認是上一個組的GID+1
-r 建立系統組
groupmod:修改組屬性
groupmod [選項] GROUP
-g GID: 修改GID
-n new_name:修改組名
groupdel:刪除組 groupdel [選項] GROUP
useradd 命令:建立用戶
useradd [選項] 登陸名
-u , --uid UID :指定UID
-g , --gid GROUP :指定基本組ID,此組需事先存在
-G , --groups GROUP1[,GROUP2,..[,GROUPN]] :指明用戶所屬的附加組,多個組織間用逗號分隔
-c , --comment COMMENT:指明註釋信息
-d ,--home HOME_DIR:以指定的路徑爲用戶的家目錄,經過複製 /etc/skel此目錄並重命名實現,指定的家目錄路徑存在,則不會爲用戶複製環境配置文件
-s , --shell SHELL:指定用戶的默認shell,可用的全部shell列表存儲在/etc/shells文件中
-r ,--system :建立系統用戶
useradd -D:用來建立用戶默認配置
useradd -D [options] 修改默認選項的值 /etc/login.defs
自定義配置(建立用戶時諸多默認配置),修改的結果保存在/etc/default/useradd文件中
usermod [選項] 登陸
-u , --uid UID: 修改用戶的ID爲指定的心UID
-g, --gid GROUP 修改用戶所屬的基本組
-G,--groups GROUP1[,GROUP2,...[,GROUP]]]: 修改用戶所屬的附加組,原來的附加組會被覆蓋
-a ,--append: 與 -G 一同使用,用於爲用戶追加新的附加組
-c,--comment COMMENT:修改註釋信息
-d, --home HOME_DIR 修改用戶的家目錄,用戶原有的文件不會轉移到新位置
-m, --move-home:只能和-d一塊兒使用,用於將原來的家目錄移動到新的目錄
-l --login NEW_NAME 修改用戶名
-s ,--shell SHELL: 修改用戶默認的shell
-L, --lock 鎖定用戶密碼:既在用戶原來密碼字符串以前添加一個 "!"
-U,--unlock 解鎖密碼
userdel命令:刪除用戶 userdel [選項] 登陸
-r:刪除用戶時一併把用戶的家目錄刪除
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactive‐days] [-S] [--stdin] [username]
1· passwd:修改用戶本身的密碼
2·passwd username :直接修改username用戶的密碼
-l,-u 加鎖,解鎖用戶
-d 清除用戶密碼串
-e DAYS: 過時期限,日期
-i DAYS: 非活動期限
-n DAYS:密碼的最短使用期限
-x DAYS:密碼的最長使用期限
-w DAYS:警告期限
--stdin: echo "password" | passwd --stdin username
gpasswd [選項] group
組密碼文件:/etc/gshadow
-a username :向組中添加用戶
-d username : 向組中刪除用戶
newgrp [-] [group]
- :會模擬用戶從新登陸以實現從新初始化其工做環境
chage 命令:更改密碼的過時信息
id命令:顯示用戶的真實和有效的ID
su命令:切換用戶
1.登陸式切換: 會從新讀取用戶的配置文件來從新初始化
su - USERNAME su -l USERNAME
2.非登陸式切換:不會從新讀取用戶的配置文件來從新初始化
su USERNAME 注意:管理員無需密碼可切換到其餘用戶
-c 'COMMAND' :僅以指定用戶身份運行此處指定的命令