用戶
Multi -tasks, Multi-Users
每個(gè)使用者:
用戶標(biāo)識、密碼:
Authentication認(rèn)證:
Authorization授權(quán):
Audition審計(jì):
組:用戶組,用戶容器
用戶類別:
管理
普通用戶
普通用戶
登錄用戶
用戶標(biāo)識:UserID,UID
16bits二進(jìn)制數(shù)字:0-65535
管理員:0
普通用戶:1-65635
系統(tǒng)用戶:1-499(Centos6)1-99(Centos7)
登錄用戶:500-600000(Centos6)1000-60000(Centos7)
名稱解析:名稱轉(zhuǎn)換
Username <--> UID
根據(jù)名稱解析庫進(jìn)行:/etc/passwd
組:
組類別1:
管理員組
普通用戶組
系統(tǒng)組
登錄組
組標(biāo)識:GroupID,GID
管理員組:0
普通用戶:1-65635
系統(tǒng)用戶:1-499(Centos6)1-99(Centos7)
登錄用戶:500-600000(Centos6)1000-60000(Centos7)
名稱解析:名稱轉(zhuǎn)換
groupname <--> UID
根據(jù)名稱解析庫進(jìn)行:/etc/group
組類別2:
用戶的基本組
用戶的附加組
組類別3:
私有組:組名同用戶名,且只包含一個(gè)用戶:
公共組:組內(nèi)包含了多個(gè)用戶:
認(rèn)證信息:
通過比對事先存儲的,與登錄時(shí)提供的信息是否一致:
password:
/etc/shadow
/etc/gshadow
密碼的是要策略:
1、使用隨機(jī)密碼
2、最短長度不要低于9位
3、應(yīng)該使用大寫字母、小寫字母、數(shù)字和標(biāo)點(diǎn)符號四類中至少三類
4、定期更換
加密算法:
對稱加密:加密和解密使用同一個(gè)密碼
非對稱加密:加密和解密使用的一對兒密鑰:
密鑰對兒:
公鑰:public key
私鑰:private key
單項(xiàng)加密:只能加密,不能解密:提取數(shù)據(jù)特征碼
定長輸出:
雪崩效應(yīng):
算法:
md5: message digest,128bits
sha: secure hash algorithm ,160bites
sha224
sha256
sha384
sha512
在計(jì)算之時(shí)加salt,添加隨機(jī)數(shù)
/etc/passwd :用戶信息庫
name:password:UID:GID:GECOS:directory:shell
name:用戶名
password:可以是加密的密碼,也可是占位符x
UID:
GID:用戶所屬的主組ID號
GECOS:注釋信息
directory:用戶的家目錄
shell:用戶的默認(rèn)shell,登錄時(shí)默認(rèn)shell程序:
/etc/shadow 用戶密碼
用戶名:加密的密碼:最近一次修改密碼的時(shí)間:密碼最短使用期限:密碼最長使用期限:警告期限:過期期限:保留字段
/etc/group
group_name:passwd:GID:user_list
user_list:該組的用戶成員:以此組為附加組的用戶的用戶列表:
linux用戶組和組管理
安全上下文:
進(jìn)程以其發(fā)起者的身份運(yùn)行:
進(jìn)程對文件的訪問權(quán)限,取決于發(fā)起此進(jìn)程的用戶的權(quán)限
為了能夠讓那些后臺進(jìn)程或服務(wù)類進(jìn)程以非管理員的身份運(yùn)行,通常要為此創(chuàng)建多個(gè)普通用戶,這類用戶從不用于登錄
groupadd命令:添加組
groupadd [選項(xiàng)] group_name
-g GID: 指定GID: 默認(rèn)是上一個(gè)組的GID+1
-r 創(chuàng)建系統(tǒng)組:
groupmod命令:修改組屬性
groupmod [選項(xiàng)] group
-g GID: 修改GID
-n new_name: 修改組名
groupdel命令:刪除組
groupdel [選項(xiàng)] group
useradd命令:創(chuàng)建用戶
useradd [選項(xiàng)] 登錄名
-u,--uid UID: 指定UID
-g, --gid GROUP: 指定基本組ID,此組得事先存在
-G, --grups GROUP1[,GROUP2,...[,GROUPN]]] 指明用戶所屬的附加組,多個(gè)組之間用逗號分隔
-c, --comment COMMENT:指明注釋信息
-d, --home HOME_DIR:以指定的路徑為用戶的家目錄:通過復(fù)制/etc/skel此目錄并重命名實(shí)現(xiàn):指定的家目錄路徑如果事先存在,則不會為用戶復(fù)制環(huán)境配置文件
-s,--shell SHELL: 指定用戶的默認(rèn)shell,可用的所有shell列表存儲在/etc/shells文件:
-r, --system:創(chuàng)建系統(tǒng)用戶:
注意:創(chuàng)建用戶時(shí)的諸多默認(rèn)設(shè)置配置文件為/etc/login.defs
useradd -D:顯示創(chuàng)建用戶的默認(rèn)配置:
useradd -D 選項(xiàng):修改默認(rèn)選項(xiàng)的值:
修改的結(jié)果保存于/etc/default/useradd文件中:
usermod命令: 修改用戶屬性
usermod [選項(xiàng)] 登錄名
-u,--uid UID: 修改用戶UID
-g,--gid group: 修改用戶所屬的基本組
-G, --grups GROUP1[,GROUP2,...[,GROUPN]]] 修改用戶所屬的附加組,原來的附加組會被覆蓋
-a, --append: 與-G一同使用,用于為用戶追加新的附加組
-c, --comment COMMENT:修改注釋信息:
-d, --home home_dir:修改用戶的家目錄,用戶原有的文件不會被移至新位置
-m , --move--home : 只能與-d選項(xiàng)一同使用,用于將原來的家目錄移動(dòng)到新的家目錄
-l, --login new_login:修改用戶名
-s , --shell SHELL:修改用戶的默認(rèn)shell
-L ,-- lock :鎖定用戶密碼
-U, --unlock: 解鎖用戶的密碼userdel命令:刪除用戶屬性
userdel [選項(xiàng)] 登錄
-r: 刪除用戶時(shí)一并刪除其家目錄
練習(xí)1:創(chuàng)建用戶gentoo ,UID為4001,基本組為gentoo,附加組為distro(GID為5000)和peguin(GID為50001)
練習(xí)2:創(chuàng)建用戶fedora ,其注釋信息為“Fedora core”默認(rèn)shell為/bin/tcsh
練習(xí)3:修改gentoo用戶的家目錄為/var/tmp/gentoo,要求原有文件仍能被用戶訪問
練習(xí)4:為gentoo新增附加組netadmin
passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1)passwd:修改用戶自己的密碼
(2)passwd username: 修改指定用戶的密碼
-l, -u :鎖定和解鎖用戶
-d: 清除用戶密碼
-e date: 過期期限,日期
-i days: 非活動(dòng)期限
-n days: 密碼的最短使用期限
-x days:密碼的最長使用期限
-w days:警告期限
--stdin:
echo "password" | passwd --stdin username
gpasswd命令
gpasswd[選項(xiàng)] group
-a username: 向組中添加用戶
-d username: 從組中移除用戶
newgrp命令: 臨時(shí)切換指定的組為基本組
newgrp [-] [group]
-: 會模擬用戶重新登錄以實(shí)現(xiàn)重新初始化其工作環(huán)境:
chage命令:更換用戶密碼過期信息
chage [選項(xiàng)] [登錄]
id命令:顯示是用戶的真實(shí)和有效信息
id [OPTION]... [USERNAME]
-u :僅顯示有效的UID
-g :僅顯示用戶基本組ID
-G :僅顯示用戶所屬組所有組的ID
-n :顯示名字而非ID
id -n
su命令:switch user
登錄式切換:會通過重新讀取目標(biāo)用戶的配置文件來重新初始化
su - username
su -l username
非登錄式切換:不會讀取目標(biāo)用戶的配置文件進(jìn)行初始化
注意:管理員可無密碼切換至其他任何用戶:
- c 'command': 僅以指定用戶的身份運(yùn)行此處指定的命令:
其他幾個(gè)命令:chsh, chfn ,finger, whoami, pwck ,grpck
權(quán)限管理:
ls -l
rwxrwxrwx
左三位:定義user(owner)的權(quán)限
中三位:定義group的權(quán)限
右三位:定義other的權(quán)限
進(jìn)程安全上下文
進(jìn)程對文件的訪問權(quán)限應(yīng)用模型
進(jìn)程的屬主與文件的屬主是否相同:如果相同,則應(yīng)用屬主權(quán)限
否則,則檢查進(jìn)程的屬主是否屬于文件的屬組:如果是,則應(yīng)用屬組權(quán)限
否則,就只能應(yīng)用other的權(quán)限
權(quán)限:
r: readable, 讀
w: writeable, 寫
x: excuteable ,執(zhí)行
文件:
r:可獲取文件的數(shù)據(jù)
w:可修改文件的數(shù)據(jù)
x:可將此文件運(yùn)行為進(jìn)程
目錄:
r: 可使用ls命令獲取其下的所有文件列表
w: 可修改此目錄下的文件列表, 即創(chuàng)建或者刪除文件
x: 可cd至此目錄中,且可使用ls -l 來獲取所有文件的詳細(xì)屬性信息
mode: rwxrwxrwx
ownership : user , group
權(quán)限組合機(jī)制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
權(quán)限管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...三類用戶:
u:屬主
g:屬組
o:其他
a:所有
(1)chmod [OPTION]... MODE[,MODE]... FILE...
mode表示法:
賦權(quán)表示法:直接操作一類用戶的所有權(quán)限r(nóng)wx
u=
g=
o=
a=
授權(quán)表示法:直接操作一類用戶的一個(gè)權(quán)限位r,w,x
u+, u-
g+, g_
o+, o-
a+, a-
(2)chmod [OPTION]... OCTAL-MODE FILE...
(3)chmod [OPTION]... --reference=RFILE FILE...
選項(xiàng):
-R, --recursive:遞歸修改
注意:用戶僅能修改屬主為自己的那些文件的權(quán)限
chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
選項(xiàng):
-R遞歸修改
chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
注意:僅管理員可以修改文件的屬主和屬組
umask: 文件的權(quán)限反向掩碼,遮罩碼
文件:
666-umask
目錄:
777-umask
注意:之所以文件用666區(qū)減,表示文件默認(rèn)不能擁有執(zhí)行權(quán)限:如果減的的結(jié)果中有執(zhí)行權(quán)限,則需要將其加1
umask:023
666-023=644
777-023=754
umask命令:
umask:查看當(dāng)前umask
umask MASK :設(shè)置umask
注意:此類設(shè)置僅對當(dāng)前shell經(jīng)常有效
練習(xí):
1.新建系統(tǒng)組mariadb,新建系統(tǒng)用戶mariadb,屬于mariadb組,要求其沒有家目錄,且shell為/sbin/nologin,嘗試切換至用戶,查看其命令提示符:
2.新建GID為5000的組mageedu,新建用戶gentoo,要求其家目錄為/users/gentoo,密碼同用戶名:
3.新建用戶fedora,其家目錄路為/users/fedora,密碼同用戶名:
4.新建用戶web,其家目錄為/users/web,刪除web用戶,但保留其家目錄:
5.為用戶gentoo和fedora新建附加組mageedu
6.復(fù)制目錄/var/log至/tmp/目錄,修改/tmp/log及其內(nèi)部的所有文件屬組為mageedu,并讓屬組隊(duì)目錄本身擁有寫權(quán)限
install命令:
install - copy files and set attributes
單元復(fù)制:
install [OPTION]... [-T] SOURCE DEST
多源復(fù)制:
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...創(chuàng)建目錄
install [OPTION]... -d DIRECTORY...常見選項(xiàng)
-m , --mode=MODE: 設(shè)定目標(biāo)文件權(quán)限,默認(rèn)為755
-o , -- owner=OWNER:設(shè)定目標(biāo)文件屬主
-g ,-- group=GROUP :設(shè)定目標(biāo)文件屬組
-d 創(chuàng)建目錄
mktemp命令:
mktemp - create a temporary file or directory
mktemp [OPTION]... [TEMPLATE]
常用選項(xiàng):
-d :創(chuàng)建臨時(shí)目錄
注意:mktemp會將創(chuàng)建的臨時(shí)文件名直接返回,因此,可以直接通過命令引用保存起來