本周繼續(xù)學(xué)習(xí)了bash的相關(guān)知識(shí),bash的變量需要注意書寫規(guī)范和強(qiáng)弱變量以及bash變量的種類等,然后開始學(xué)習(xí)用戶和組的管理,重點(diǎn)學(xué)習(xí)了組管理命令,用戶管理的命令,用戶認(rèn)證相關(guān)的命令,組認(rèn)證相關(guān)的命令,其他命令這些知識(shí)點(diǎn),需要我們課后學(xué)習(xí)記憶。
10年積累的成都網(wǎng)站制作、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有新羅免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。bash 特性之變量
程序=指令+數(shù)據(jù)
數(shù)據(jù):文件 變量
變量:一段連續(xù)的內(nèi)存空間cell=8bit (32bit字長(zhǎng)支持4GB內(nèi)存)為這一段內(nèi)存空間取名 稱之為變量名:在這段內(nèi)存空間中所存儲(chǔ)的數(shù)據(jù)稱為變量值
賦值操作:
= 賦值操作符
賦值方法 變量=變量值(VARNAME=VALUE)
變量的命名規(guī)范
1 只能以字母或者下劃線為首字符 不能使用數(shù)字 后面可以是任意字母 數(shù)字 下劃線
2 大小寫嚴(yán)格區(qū)分
3 見名知意
4 書寫規(guī)范
1)全大寫:FILES
2)駝峰式:MyFiles
5 不能與已知變量名相同
根據(jù)不同的編程語(yǔ)言 變量可以分為兩類
強(qiáng)變量:必須在使用前聲明 而且要聲明變量的類型 嚴(yán)格區(qū)分變量的類型
255 字符類型:38bytes
整數(shù)型:1byte
null:
弱變量:可以隨時(shí)使用隨時(shí)聲明 甚至可以不聲明即使用 另外不對(duì)變量類型做硬性要求 如果沒有指明變量類型 統(tǒng)一按照字符型對(duì)待
bash的變量即為弱變量:
引用變量的值 :${變量名}=$變量名 也稱為變量替換
bash的變量種類:
全局變量(環(huán)境變量):作用范圍為整個(gè)shell進(jìn)程 包括其子shell
本地變量:作用范圍僅僅只是當(dāng)前登錄的shell 不包括子shell
局部變量:作用范圍僅僅只是當(dāng)前的程序段 一般用于函數(shù)
默認(rèn)全局變量:
位置參數(shù)變量:$1 $2 $3 $4……$n
特殊變量 $? $# $@ $* $$……
$? 表示 展開為最近一次所執(zhí)行的命令狀態(tài)返回值(退出狀態(tài))
$# 表示 位置參數(shù)的個(gè)數(shù) 以十進(jìn)制表示
$* 表示 從一開始展開為位置參數(shù) 當(dāng)使用雙引號(hào)引用展開的時(shí)候 它展開為以特殊變量“IFS”的第一個(gè)字符分隔的值
$@ 表示 從一開始展開為位置參數(shù) 當(dāng)使用雙引號(hào)引用展開的時(shí)候 它展開為一個(gè)單獨(dú)的字符串
$$ 表示 展開為當(dāng)前shell的進(jìn)程的標(biāo)識(shí)符
$0 表示 展開為當(dāng)前shell或者shell腳本的文件名
變量的使用
變量的賦值:變量=標(biāo)量名 聲明本地變量
撤銷變量:~]# unset 變量名
聲明環(huán)境變量
export 變量
export 變量=變量名
declare
-a聲明索引數(shù)組(如果支持)
-A聲明關(guān)聯(lián)數(shù)組(如果支持)
-i聲明整型變量
-l聲明變量并將變量值中的字符轉(zhuǎn)換為小寫字母
-u聲明變量并將變量值中的字符轉(zhuǎn)換為大寫字母
-x聲明變量并將其導(dǎo)出為環(huán)境變量
-r聲明變量為只讀變量(常量)
查看環(huán)境變量
set
export
env
聲明局部變量
local 變量=變量名
配置文件:
通用配置文件 /etc/bashrc /etc/profile
私人配置文件~/.bashrc ~/.bash_profile
注意 一般情況下 聲明變量都是現(xiàn)做現(xiàn)用 因此我們并不需要改配置文件
用戶和組的管理
用戶賬戶
組賬戶
權(quán)限的分配
Cisco 思科公司開發(fā)的AAA認(rèn)證體系
Authentication 認(rèn)證 核實(shí)身份是否正確
Authorization 授權(quán) 對(duì)已經(jīng)核實(shí)身份的用戶進(jìn)行資源分配
Accounting 審計(jì) 監(jiān)管資源被使用的情況
多用戶、多任務(wù)的系統(tǒng)
能夠?qū)崿F(xiàn)資源使用和完成任務(wù)的主體是:應(yīng)用程序進(jìn)程
安全上下文:secure context
進(jìn)程是以其發(fā)起者的身份運(yùn)行的 可以理解為進(jìn)程的所有者就是發(fā)起者 會(huì)將發(fā)起者的信息標(biāo)記在進(jìn)程上
當(dāng)進(jìn)程試圖去訪問資源的時(shí)候 安全上下文會(huì)比對(duì)進(jìn)程的所有者和資源所有者的關(guān)系
首先查看進(jìn)程的所有者是不是資源的所有者 如果是 就按照屬主的權(quán)限使用資源
如果不是 則判斷進(jìn)程的所有者是否屬于資源所屬組 如果是 按照屬組的權(quán)限使用資源
如果不是 則直接使用資源的其他人訪問權(quán)限來使用資源
用戶賬戶: 就是計(jì)算機(jī)操作者在操作過程中的身份映射 在滿足了認(rèn)證條件之后的身份映射
1.用戶分類
超級(jí)用戶 (管理員)root
普通用戶
系統(tǒng)用戶: 為了保證安全 必須讓那些運(yùn)行在后臺(tái)的進(jìn)程或者服務(wù)類以非管理員的身份運(yùn)行 這類用戶一般不需要登錄到系統(tǒng)
登錄用戶: 能夠正常使用整個(gè)系統(tǒng)資源的用戶
用戶的標(biāo)識(shí)
用戶的登錄名稱: 為操作者準(zhǔn)備的簡(jiǎn)單易記的字符串標(biāo)識(shí)
用戶的ID (UID): 為計(jì)算機(jī)系統(tǒng)準(zhǔn)備的數(shù)字標(biāo)識(shí)
超級(jí)用戶的ID號(hào)碼為: 0
系統(tǒng)用戶:
centos5、6:1-499
centos7: 1-999
登錄用戶 :
centos5、6: 500 -60000
centos7 : 1000-60000
60000以上的標(biāo)識(shí)符為用戶自定義標(biāo)識(shí)
名稱解析:
把名字解析成UID
解析庫(kù):/etc/passwd
系統(tǒng)利用解析庫(kù)完成認(rèn)證機(jī)制 驗(yàn)證登錄用戶是否是你聲稱的那個(gè)人
用戶的認(rèn)證信息庫(kù):/etc/shadow
組的認(rèn)證信息庫(kù):/etc/group
采用密碼認(rèn)證的機(jī)制:
設(shè)置密碼的一般性策略
1.盡量使用隨機(jī)字串作為密碼
2.密碼長(zhǎng)度一般不要少于八個(gè)字符
3.密碼中至少包括大寫字母、小寫字母、數(shù)字、標(biāo)點(diǎn)符號(hào)四類中的三類
4.不定期更換密碼
在Linux中 保存中認(rèn)證庫(kù)中的密碼信息是經(jīng)過加密保存的
hash單項(xiàng)加密算法:抽取原始數(shù)據(jù)的特征信息,數(shù)據(jù)指紋
單項(xiàng)加密算法的特征:
1.只要數(shù)據(jù)相同 其加密結(jié)果就必然相同
2.無論數(shù)據(jù)多大 其加密結(jié)果定長(zhǎng)輸出
3.雪崩效應(yīng)
4.不可逆
單項(xiàng)加密常用的算法:
1.md5:Message Digest 消息摘要 128bit的定長(zhǎng)輸出
2.sha1:Secure Hash Algorithm 安全的哈希算法 160bit 定長(zhǎng)輸出
3.sha224
4.sha256
5.sha384
6.sha512
salt:隨機(jī)數(shù)
/dev/random: 僅僅只是從熵池中返回隨機(jī)數(shù) 如果熵池隨機(jī)數(shù)耗盡 則進(jìn)程被阻塞
/dev/urandom: 試圖先從熵池中返回隨機(jī)數(shù) 如果熵池耗盡 則利用偽隨機(jī)數(shù)生成器生產(chǎn)偽隨機(jī)數(shù)
最終認(rèn)證的字符串:算法+salt+密碼
在認(rèn)證庫(kù)中存放的信息:$6$salt$crytped_password
用戶組:
將具有某些相同或者相似屬性的用戶聯(lián)系在一起以便集中授權(quán)的容器
組類別;
管理員組:
普通用戶組:
系統(tǒng)組:
登錄組:
組的標(biāo)識(shí)方法:
組名:方便操作者使用的
組的ID(GID):為系統(tǒng)提供組標(biāo)識(shí)
管理員組:0
系統(tǒng)組:
centos5、6: 1-499
centos7 : 1-999
登錄組:
centos5、6: 500 -60000
centos7 : 1000-60000
解析庫(kù):/etc/group
組也需要認(rèn)證,組也有認(rèn)證庫(kù):/etc/gpasswd
組也需要密碼保護(hù)
如果組沒有設(shè)置密碼保護(hù)的話 則不能隨時(shí)加入
以用戶為核心來對(duì)組進(jìn)行分類:
用戶的主要組(基本組):primary group
對(duì)用戶來說 這樣的組必須要有而且只能有一個(gè)
用戶的附加組(附屬組、額外組):Addition Group
這樣的組對(duì)于用戶來說 可以沒有 也可以有多個(gè)
根據(jù)組所容納的用戶來分:
私有組:組名與用戶登錄名相同 并且組中只有此用戶
公共組:組中可以包含其他多個(gè)不同用戶
注意:默認(rèn)情況下 用戶的主要組都是其私有組
用戶和組的管理:
主要使用命令完成:
組管理相關(guān)的命令:
groupadd、groupdel、groupmod
用戶管理相關(guān)的命令:
useradd、userdel、usermod
認(rèn)證管理相關(guān)的命令:
passwd、gpasswd、chage
其他的相關(guān)管理命令:
chsh、finger、su、id
name:password:UID:GID:GECOS:directory:shell
name:登錄名
password:密碼字段 現(xiàn)在在使用了shadow機(jī)制的系統(tǒng)中 通常使用“X”作為占字符
UID:用戶ID
GID:此用戶主要組的ID
GECOS:comment 注釋類的信息 現(xiàn)在一般都會(huì)用來存放用戶的說明信息或全名
directory:用戶的家目錄的絕對(duì)路徑
shell:用戶的默認(rèn)登錄shell的絕對(duì)路徑
/etc/group:
group_name:password:GID:user_list
group_name:組名
password:組密碼占位符 默認(rèn)為空
GID:組的ID
user_list:以該組的附加組的用戶的列表
/etc/shadow:
login name:用戶的登錄名
encrypted password:加密了的密碼
格式:$算法$salt$真正意義的加密密碼
如果該位置為!則表明用戶的密碼被禁止
如果該位置為*則表明該用戶為系統(tǒng)用戶 不能登錄
如果該字段為空 則用戶可以不輸入密碼即可登錄系統(tǒng) 不推薦使用
date of last password change:
相對(duì)概念 表示從1970年1月1日開始的天數(shù) 到最后一次更改密碼的時(shí)間
minimum password age:
在多長(zhǎng)時(shí)間內(nèi)無法修改密碼 默認(rèn)值為0 意思即為:隨時(shí)修改密碼 如果是非0的其他數(shù)字 意思是在這么長(zhǎng)的天數(shù)里不能改密碼
maximum password age:
在多長(zhǎng)時(shí)間后密碼過期 默認(rèn)為99999 意思是永久有效
password warning period:
密碼過期之前的友善提醒天數(shù) 默認(rèn)值是七天
password inactivity period:
密碼過期后的寬限期 默認(rèn)為-1 意思是永久寬限
account expiration date:
一個(gè)用戶賬戶密碼過期的日期 這是一個(gè)絕對(duì)的過期期限
reserved field
保留字段 以備以后使用
/etc/gpasswd:
group name:encrypted password:administrators:members
組管理命令:
groupadd:新建組賬戶、添加組
-g gid 在創(chuàng)建組賬戶的時(shí)候 指定組賬戶的GID 如果不使用該選項(xiàng)指定 系統(tǒng)會(huì)選擇在組解析文件中出現(xiàn)在的不大于60000大GID加1
-r 創(chuàng)建系統(tǒng)組 意思是創(chuàng)建一個(gè)GID在1-999(1-499)之間的組
groupmod:修改組的一些相關(guān)屬性信息
groupmod[選項(xiàng)]GROUP
-g gid:修改組賬戶的ID
-n NEW_GROUPNAME:修改組名
groupdel:刪除組賬戶
groupdel[選項(xiàng)]GROUPNAME
注意:如果某個(gè)組是某個(gè)用戶的主要組或者私有組 則該組無法刪除
用戶管理的命令
useradd:創(chuàng)建用戶賬戶
useradd [選項(xiàng)] 登錄名
/etc/default/useradd
/etc/login.defs
/etc/skel
以上三個(gè)文件和目錄能夠幫助管理員在未指定任何選項(xiàng)時(shí) 也能創(chuàng)建用戶 并為用戶賦予默認(rèn)的屬性
-c, --comment ‘COMMENT’: 在創(chuàng)建用戶時(shí)為用戶添加注釋信息 一般為全名
-d –home /PATH/TO/HOME _DIR : 在創(chuàng)建用戶的時(shí)候?yàn)橛脩糁付夷夸浀慕^對(duì)路徑 被指定的目錄應(yīng)該是事先不存在的目錄
-g, --gid GROUPNAME:在創(chuàng)建用戶時(shí) 為用戶指定組
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]: 在創(chuàng)建用戶時(shí)為用戶添加附加組
-m, --create-home 在創(chuàng)建目錄時(shí)強(qiáng)制性為用戶創(chuàng)建家目錄
-M 在創(chuàng)建用戶時(shí)不創(chuàng)建用戶家目錄 即使在/etc/login.defs中CREATE_HOME的值為yes也不創(chuàng)建
-r –system 創(chuàng)建系統(tǒng)用戶
-u, --uid UID 在創(chuàng)建用戶的時(shí)候?yàn)橛脩糁付║ID 這個(gè)UID可以超過60000的限制
-s, --shell /PATH/TO/SHELL 在創(chuàng)建用戶的時(shí)候 為用戶指定默認(rèn)shell 使用絕對(duì)路徑
-D --defaults 顯示或修改用戶默認(rèn)屬性值
-s, --shell /PATH/TO/SHELL 修改/etc/default/useradd文件中SHELL的默認(rèn)值
usermod:修改用戶賬戶信息
usermod [選項(xiàng)] 登錄名
-c, --comment ‘COMMENT’ 修改用戶的注釋信息
-g, --gidGROUPNAME 修改用戶的主要組
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]] 修改用戶的附加組為列表中的組
-a, --append 與-G選項(xiàng)同時(shí)使用 給用戶添加新的附加組
-d, --home /PATH/TO/HOME_DIR 修改用戶的家目錄
-m, --move-home 與-d選項(xiàng)同時(shí)使用意味著將舊的家目錄中的數(shù)據(jù)移動(dòng)到新家之中
-l, --login NEW_LOGIN 更改用戶賬戶的登錄名
-s, --shell/PATH/TO/SHELL 修改用戶賬戶的登錄shell
-u, --uid UID 修改用戶的UID
-L, --lock 鎖定用戶的密碼
-U, --unlock 解鎖用戶的密碼
userdel 刪除用戶賬戶
userdel [選項(xiàng)] 登錄名
-r 刪除用戶的同時(shí) 清除用戶的家目錄
用戶認(rèn)證相關(guān)的命令
passwd 設(shè)置或者查看用戶密碼信息的命令
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
1.如果省略用戶名 意味著更改當(dāng)前登錄用戶密碼
2.如果指定用戶名 更改指定用戶密碼 只能root使用
選項(xiàng):
-l, --lock 鎖定用戶的密碼
-u, --unlock 解鎖用戶的密碼
相比較usermod –L|-U 而言 其優(yōu)先級(jí)更高
如果使用usermod –L鎖定的用戶密碼 可以使用passwd –u解鎖
而是用passwd –l鎖定的用戶密碼 無法使用usermod –U解鎖
-d,-–delete 刪除用戶密碼 將/etc/shadow文件中第二字段清空
-S, --status 查看用戶的密碼狀態(tài)
--stdin 借助于管道將輸入數(shù)據(jù)流當(dāng)做標(biāo)準(zhǔn)輸入信息送給passwd命令
echo“PASSWORD”|passwd—stdin USERNAME
組認(rèn)證相關(guān)的命令
gpasswd
gpasswd [選項(xiàng)] groupname
-a, --adduser 向名為 group 的組中添加用戶 user。
-d, --deleteuser 從名為 group 的組中移除用戶 user。
其他命令
su switch user 切換用戶身份
su USERNAME 部分切換 半切換 在切換用戶的時(shí)候不會(huì)重新讀取用戶的配置文件 因此 用戶并沒有登錄行為 所以 工作環(huán)境不初始化
su-USERNAME 完全切換 在切換用戶的時(shí)候 重新讀取目標(biāo)用戶的配置文件并且初始化工作環(huán)境 相當(dāng)于su –l USERNAME
-c“COMMAND”并不切換用戶身份 而是以目標(biāo)用戶的身份執(zhí)行某命令
使用su命令的時(shí)候 從root切換到其他普通用戶 無需密碼 但普通登錄用戶進(jìn)行切換時(shí) 必須給出目標(biāo)用戶的密碼
進(jìn)行用戶切換之后 不要連續(xù)切換 而是用exit命令返回之前的用戶
newgrp GOUPNAME 臨時(shí)更改當(dāng)前登錄用戶的主要組 使用exit返回之前的狀態(tài)
id 顯示真實(shí)的和有效的用戶和組的ID
真實(shí)ID 在/etc/passwd定義的用戶的UID和GID
有效的ID 當(dāng)前生效的用戶的UID和GID
id [OPTION]... [USER]
-g 只顯示用戶的有效GID
-n 只顯示用戶的有效UID
-G 顯示用戶所有組的ID
-n 以名稱代替ID來顯示
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站欄目:bash特性續(xù)寫以及用戶和組的管理-創(chuàng)新互聯(lián)
當(dāng)前URL:http://muchs.cn/article48/dgcoep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、云服務(wù)器、定制網(wǎng)站、App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容