bash特性續(xù)寫以及用戶和組的管理-創(chuàng)新互聯(lián)

本周繼續(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)

網(wǎng)站優(yōu)化排名