墨色琉璃的Linux學(xué)習(xí)周記--第二周

1.Linux的文件系統(tǒng)層級結(jié)構(gòu)標(biāo)準(zhǔn)(FHS)

?????? Filesystem Hierarchy Standard(文件系統(tǒng)層級結(jié)構(gòu)標(biāo)準(zhǔn))工秩,多數(shù)的Linux版本采用這種文件組織形式炭晒,類似于Windows操作系統(tǒng)中c盤的文件目錄搭儒,F(xiàn)HS采用樹狀結(jié)構(gòu)組織文件挣输,F(xiàn)HS定義了系統(tǒng)中每個(gè)區(qū)域的用途咳蔚,所需要的最小構(gòu)成的文件和目錄刃滓。

?????? 其中部分常見如下:

???????????????? /bin:所有用戶可以使用的基本命令程序

???????????????? /sbin:供系統(tǒng)管理使用的工具程序

???????????????? /boot:引導(dǎo)加載器必須用到的各種靜態(tài)文件:kernel狂票,initramfs(initrd),grub等

???????????????? /dev:存儲特殊文件或設(shè)備文件:

????????????????????????????????? 設(shè)備有兩種類型:字符設(shè)備:線性設(shè)備

????????????????????????????????????????????????????????????????? 塊設(shè)備:隨機(jī)設(shè)備

???????????????? /etc:系統(tǒng)程序的配置文件,只能為靜態(tài)

???????????????? /home:普通用戶的家目錄的集中位置蚊锹,一般每個(gè)普通的家目錄默認(rèn)為此目錄下與用戶同名的子目錄

???????????????? /lib:為系統(tǒng)啟動后或根文件系統(tǒng)上的應(yīng)用程序(/bin,/sbin等)提供共享庫瞳筏,以及為內(nèi)核提供內(nèi)核模塊

???????????????? /lib64:64位系統(tǒng)特有的存放64為共享庫的路徑

??????????????? /media:便攜式設(shè)備掛載點(diǎn),cdrom,floppy

??????????????? /mnt:其他文件系統(tǒng)的臨時(shí)掛載點(diǎn)

??????????????? /opt:附加應(yīng)用程序的安裝位置:可選路徑

??????????????? /root:管理員的家目錄:可選路徑

??????????????? /srv:當(dāng)前主機(jī)為服務(wù)提供的數(shù)據(jù)

??????????????? /tmp:為那些會產(chǎn)生臨時(shí)文件的程序提供的用于存儲臨時(shí)王文建的目錄:可供所有用戶執(zhí)行寫入操作:有特殊權(quán)限

??????????????? /usr:全局共享的只讀數(shù)據(jù)路徑

????????????????????????????? /include:存放C程序頭文件

????????????????????????????? /share:命令手冊牡昆,自帶文檔等架構(gòu)特有文件的存儲位置

????????????????????????????? /local:讓系統(tǒng)管理員安裝本地應(yīng)用程序姚炕,也通常用于安裝第三方程序

????????????????????????????? /XllR6:X-windows程序的安裝位置

????????????????????????????? /src:程序源碼的存放位置

??????????????? /var:存儲經(jīng)常會發(fā)生變化數(shù)據(jù)的目錄

??????????????? /proc:為內(nèi)核進(jìn)程存儲相關(guān)信息,它們多是內(nèi)核參數(shù)丢烘,例如net.ipv4.ip_forward柱宦,可虛擬化成net/ipv4/ip_forward,存儲在/proc/sys中,因此完整路徑為/proc/sys//net/ipv4/ip_forward

??????????????? /sys:sysfs虛擬文件系統(tǒng)提供了一種比proc更為理想的訪問內(nèi)核數(shù)據(jù)的途徑:其主要作用在于管理Linux設(shè)備提供可一種統(tǒng)一模型的接口

2.Linux系統(tǒng)上文件的類型

Linux系統(tǒng)上的文件類型:

?????? ? ? ? ? ? ? ? ? -:常規(guī)文件播瞳,及f

? ? ? ? ? ? ? ? ? ? ?? d:directory掸刊,目錄文件

? ? ? ? ? ? ? ? ? ? ?? b:block device,塊設(shè)備文件赢乓,以'block'為單位忧侧,進(jìn)行隨機(jī)訪問

? ? ? ? ? ? ? ? ? ? ?? c:character device,字符設(shè)備文件牌芋,支持以‘c’為單位苍柏,進(jìn)行線性訪問

????????????????????????????????????????????????? major number:主設(shè)備號,用于標(biāo)識設(shè)備類型姜贡,進(jìn)而確定要加載的驅(qū)動程序

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? minor number:次設(shè)備號:用于標(biāo)識統(tǒng)一類型中的不同的設(shè)備

? ? ? ? ? ? ? ? ? ? ?? l:sysmbolic link试吁,符號鏈接文件

? ? ? ? ? ? ? ? ? ? ?? p: pipe,命令管道

? ? ? ? ? ? ? ? ? ? ?? s:? socker楼咳,套接字文件


3.bash特性:命令補(bǔ)齊熄捍、查看用戶,查看命令路徑等

命令補(bǔ)齊:

?????? shell程序在接收到用戶執(zhí)行命令的請求母怜,分析完成之后余耽,最左側(cè)的字符會被當(dāng)做命令。

???????? 命令處理機(jī)制:

????????????????? 查找內(nèi)部命令:

????????????????????????? 根據(jù)PATH環(huán)境變量中設(shè)定的目錄苹熏,自左向右逐個(gè)搜索目錄下的文件名:

??????????????????????????????? 給定的打頭字符串如果能唯一標(biāo)識某命令程序文件碟贾,則直接補(bǔ)全

??????????????????????????????? 如果不能唯一標(biāo)識某命令程序文件,再擊一次tab鍵轨域,會給出列表

路徑補(bǔ)全:

??????? 根據(jù)給定的起始路徑下:以對應(yīng)路徑下的打頭字串來逐一匹配起始路徑下的每個(gè)文件

????????????? tab:如果能唯一標(biāo)識袱耽,直接補(bǔ)全

???????????????????? 如果不能唯一標(biāo)識,再次tab一次干发,給出列表



查看用戶:who命令朱巨,w命令

?????? who -show who is log on

?? who用法:

???????? who [OPTIONS] ...

?????????????? -b:系統(tǒng)此次啟動時(shí)間

?????????????? -d:print dead process

?????????????? -u:顯示登陸用戶

?????????????? -r:顯示當(dāng)前運(yùn)行等級


w命令:

?????? w -show who is logged on and what they are doing



查看命令路徑:which命令

??????? which -shows the full path of commands

?? which用法:

??????? which [OPTION] programname [...]

???? ? ? ? ? ?? --skip -alias:忽略別名

4.bash特性:別名alias、命令歷史history

別名:alias

??? 獲取所有可用的別名定義:

???? ? ? ? ? ~]#alias

???? 定義別名:

????????????? ~]#alias NAME='COMMAND'? =>僅對當(dāng)前shell進(jìn)程有效

???? 撤銷別名:

????????????? ~]#unalias NAME


命令歷史:history枉长,shell進(jìn)程會保存此前用戶提交執(zhí)行的命令

??????? ~]#history

?? 定制history的功能冀续,可通過環(huán)境變量實(shí)現(xiàn)

????????????? HISTSIZE:命令歷史的條數(shù)(默認(rèn)1000)

???????????? HISTFILE:持久保持命令歷史的文件:.bash_history

????????????? HISTFILESIZE:持久保持命令歷史文件的條數(shù)

??? 命令用法:

????????????? history [-c] [-d offset] [n]

????????????? history -anrw [filename]

?????????????? history -psarg [arg...]

???????????????????? -c:清空命令歷史

???????????????????? -d offset:清除指定行的命令歷史

???????????????????? -r:從文件讀取命令歷史到命令列表中

???????????????????? -w:把歷史列表中的命令追加到歷史文件中

????????????????????? #:顯示最近的#條命令

??? 調(diào)用命令歷史列表中的命令

?????????? !#:再一次執(zhí)行歷史列表中的第#條命令

?????????? !!:再一次執(zhí)行上次命令

??????????? !STRING:再次執(zhí)行命令歷史列表中最近一個(gè)以STRING開頭的命令

??? 調(diào)用上一條命令的最后一個(gè)參數(shù)

?????????? 快捷鍵:ESC .或者字符串: !$

控制命令歷史的方式:

???????? 環(huán)境變量:HISTORY

?????????????? ignoredups:忽略重復(fù)的命令

?????????????? ignorespace:忽略空白符開頭的命令

?????????????? ignoreboth:以上兩者同時(shí)生效

?????????????? 修改變量的值:

?????????????????????? NAME='VALUE'


5.目錄管理類命令講解琼讽,mkdir,rmdir,tree

mkdir:創(chuàng)建目錄

用法:mkdir [OPTION]... DIRECTORY...

??????? 注意:路徑基名是命令的作用對象,基名前的目錄名必須存在

????????????? -p:自動按需創(chuàng)建父目錄

????????????? -v:顯示詳細(xì)過程

???????????? -m:直接給定權(quán)限


rmdir:用于刪除空目錄

?用法:rmdir [OPTION].... DIRECTORY

?????? -p:刪除某目錄后洪唐,如果其父目錄為空钻蹬,則一并刪除

?????? -v:顯示過程


tree命令:樹狀結(jié)構(gòu)來顯示層級結(jié)構(gòu)

????? tree [OPTIONS] [DIRECTORY]

??????????? -L level:顯示層級

6.bash的基礎(chǔ)特性:命令行展開,以及常用快捷鍵

命令行展開:

???? ~:自動展開為用戶的家目錄凭需,或指定用戶的家目錄

???? { }:可承載一個(gè)以逗號分割的路徑列表问欠,并能夠?qū)⑵湔归_成多個(gè)路徑

????????????? 例如:/tmp/{a,b}相當(dāng)于/tmp/a?? /tmp/b

常用快捷鍵:

? ? ? ?? ctrl + a:跳轉(zhuǎn)至命令行首

? ? ? ?? ctrl + e: 跳轉(zhuǎn)至命令行尾

???????? ctrl + v:刪除行首至光標(biāo)所在之間的所有字符

???????? ctrl +k:刪除行尾至光標(biāo)所在之間的所有字符

???????? ctrl +l:清屏,相當(dāng)于clear

7.bash特性:強(qiáng)引用功炮,弱引用溅潜,命令引用术唬,命令執(zhí)行狀態(tài)結(jié)果

??? 強(qiáng)引用:'??? '

??? 弱引用:"?? "

??? 命令引用:`????? `

??? 命令執(zhí)行結(jié)果:

? ? ? ??? bash通過狀態(tài)返回值來輸出此結(jié)果

??????????????? 成功:0

??????????????? 失斝椒:1-255

??? 命令執(zhí)行完成后,其返回值保存于bash的特殊變量$?中

??? 命令正常執(zhí)行時(shí)粗仓,有的還會有命令返回值

? ?? ????? 根據(jù)命令及其功能不同嫁怀,結(jié)果各不相同

???? 引用命令及其功能不同,結(jié)果各不相同:$(COMMAND)借浊、`COMMAND`


8.文件常用命令cat塘淑、tac、more蚂斤、less存捺、head、tail曙蒸、stat捌治、touch

????????? cat:concatenate,文本和文件的查看工具,將文件內(nèi)容在屏幕上順序顯示

??????????????? cat [OPTION]... [FILE]...

??????????????????? -n:給顯示的文本行編號

??????????????????? -E:顯示行結(jié)束符

??? ? ? ? tac:文本和文件的查看工具纽窟,將文件內(nèi)容反序顯示在屏幕上

??????????? ?? tac [OPTION]... [FILE]...

??????????????????? -n:給顯示的文本行編號

??????????????????? -E:顯示行結(jié)束符

????????? more:

?????????????? more FILE

??????????????????? 特點(diǎn):翻屏至文件尾部自動退出

????????? less:

?????????????????? less FILE

????????? head:查看文件的前n行肖油,默認(rèn)為10行

????????????????? -n #:查看文件的#行

????????????????? -#:查看文件#行

?????????????????? -f:查看文件尾部內(nèi)容,結(jié)束后不退出臂港,跟隨顯示新追加內(nèi)容

????????? tail:查看文件的最后n行森枪,默認(rèn)為10行

????????????????? -n #:查看文件的#行

????????????????? -#:查看文件#行

?????????????????? -f:查看文件尾部內(nèi)容,結(jié)束后不退出审孽,跟隨顯示新追加內(nèi)容

????????? stat:

???????????????? stat -display file or file system status

???????????????? stat FILE...

???????????????????? 時(shí)間戳:

??????????????????????????? 最近訪問:access time

??????????????????????????? 最近更改:modify time

??????????????????????????? 最近改動:change time

????????? touch: -change file time stamps

????????????????? touch [OPTIONS].. FILENAME

?????????????????????????? -c:指定文件路徑不存在時(shí)县袱,不創(chuàng)建

?????????????????????????? -a:僅修改最近訪問時(shí)間

?????????????????????????? -m:僅修改最近更改時(shí)間

?????????????????????????? -t stamp:同時(shí)修改文件的訪問和更改時(shí)間,但是改動時(shí)間與系統(tǒng)時(shí)鐘同步

9.文件時(shí)間戳atime佑力、ctime显拳、mtime

????????????????? atime:最近訪問時(shí)間

????????????????? ctime:最近改動時(shí)間(文件屬性上的修改)

????????????????? mtime:最近修改時(shí)間(內(nèi)容上的修改)

10.文件管理工具:cp、mv搓萧、rm

???????? cp:copy

????????????? cp用法:

??????????????????? 單源復(fù)制:

?????????????????????????? cp [OPTION]...[-T]? source DEST

??????????????????? 多源復(fù)制: ?????????????????????????

?????????????????????????? cp [OPTION]... source... DIRECTORY

?????????????????????????? cp [OPTION]... -T DIRECTORY? source...

?????????? 單源復(fù)制:

????????????????????? 如果DEST不存在:錯(cuò)誤

????????????????????? 如果DEST存在:

????????????????????????????????????? 如果DEST是非目錄文件:則會復(fù)制源文件覆蓋目標(biāo)文件

?????????????????????????????????????? 如果DEST是目錄文件杂数;則先在DEST目錄下創(chuàng)建一個(gè)與源文件同名的文件宛畦,并復(fù)制其數(shù)據(jù)流

?????????? 多源復(fù)制:

????????????????????? 如果DEST不存在:錯(cuò)誤

?????????????????????? 如果DEST存在:

?????????????????????????????????? 如果DEST是非目錄文件:錯(cuò)誤

?????????????????????????????????? 如果DEST是目錄文件,分別復(fù)制每個(gè)文件至目錄中揍移,并保持原名

????????? 常用選項(xiàng):

?????????????????? -i:交互式復(fù)制次和,即覆蓋前提醒用戶確認(rèn)

???????????????? ? -f:強(qiáng)制覆蓋目標(biāo)文件

?????????????????? -r:遞歸復(fù)制目標(biāo)文件

?????????????????? -d:復(fù)制符號鏈接本身,而非其指向的源文件

?????????????????? -a: --DR --preserve =all

??????????????????? --preserv

??????????????????????????? mode:權(quán)限

??????????????????????????? ownership:屬主屬組

??????????????????????????? timestamps:時(shí)間戳

??????????????????????????? context:安全標(biāo)簽

???????????????????????????? xattr:擴(kuò)展屬性

???????????????????????????? links:符號鏈接

???????????????????????????? all:上述所有

???????? mv:move

??????????? 用法:

?????????????????? mv [OPTION]... [-T] source DEST

??????????????????? mv [OPTION]... source... DIRECTORY

?????????????????? mv [OPTION]... -t DIRECTORY SOURCE...

???????? 常用選項(xiàng):

??????????????? -i:交互式

??????????????? -f:強(qiáng)制

???????? rm:remove

????????????? rm [OPTION]... FILE...

??????????? 常用選項(xiàng):

?????????????????? -i:交互式

?????????????????? -f:強(qiáng)制

?????????????????? -r:recursive(遞歸)

?????????????? 注意:rm -rf /*是危險(xiǎn)操作那伐,建議所有用不到的文件不要直接刪除踏施,而是移動到某個(gè)專用的目錄(充當(dāng)回收站)

11.bash特性:本地變量、環(huán)境變量罕邀。局部變量畅形、位置參數(shù)變量

?變量類型:根據(jù)作用的范圍劃分

??????????? 本地變量:作用域僅僅是當(dāng)前shell

??????????? 環(huán)境變量:當(dāng)前shell及其子shell

?????????? 局部變量:當(dāng)前shell的某一代碼片段

?????????? 位置參數(shù)變量:當(dāng)執(zhí)行腳本的shell進(jìn)程傳遞的參數(shù)

??????????? 特殊變量:shell內(nèi)置的有特殊功用的變量

12.Globbing文件匹配

bash的特性之一:文件名通配(整體文件名匹配)

?????? 匹配模式:元字符

???????????????? *:匹配任意長度的任意字符;例:pa*诉探、*pa*日熬、*pa、*p*a*

??????????????? ?:匹配任意單個(gè)字符肾胯;例:pa?竖席、p?a、?pa敬肚、p?a?毕荐、??pa

??????????????? []:匹配指定范圍內(nèi)的任意單個(gè)字符:不區(qū)分大小寫

??????????????????????? 有幾種特殊格式:

????????????????????????????????? [a-z],[A-Z].[0,9],[a-z 0-9]

????????????????????????????????? [[:upper:]]:所有大寫字母

????????????????????????????????? [[:lower:]]:所有小寫字母

????????????????????????????????? [[:alpha:]]:所有字母

????????????????????????????????? [[:digit:]]:所有數(shù)字

????????????????????????????????? [[:alnum:]]:所有字母和數(shù)字

????????????????????????????????? [[:space:]]:所有空白符

????????????????????????????????? [[:punct:]]:所有標(biāo)點(diǎn)符號

????????????????????????????????? [^]:匹配指定范圍之外的任意單個(gè)字符:

??????????????????????????????????????????????? 例:[^[:upper:]]:除大寫字母之外的任意字符

13.I/O重定向、輸出重定向艳馒、錯(cuò)誤輸出重定向

I/O重定向:

??????? 程序:指令+數(shù)據(jù)化

???????? 可用的輸入的設(shè)備:文件

??????????????????? 鍵盤設(shè)備诊笤、文件系統(tǒng)的常規(guī)文件召川,網(wǎng)卡等

???????? 可用的輸出設(shè)備:文件

????????????????????? 顯示器、文件系統(tǒng)上的常規(guī)文件,網(wǎng)卡等

???? 程序的數(shù)據(jù)流有三種:

???????????????? 輸出的數(shù)據(jù)流: <--標(biāo)準(zhǔn)輸入(stdin),鍵盤

???????????????? 輸出的數(shù)據(jù)流:-->標(biāo)準(zhǔn)輸出(stdout),顯示器

???????????????? 錯(cuò)誤輸出流:-->錯(cuò)誤輸出(stderr)薪寓,顯示器

fd:file descripter 文件描述件

?????????? 標(biāo)準(zhǔn)輸入:0

?????????? 標(biāo)準(zhǔn)輸出:1

?????????? 錯(cuò)誤輸出:2

輸出重定向:>?????? 特性:覆蓋輸出

???????????????????? >>????? 特性:追加輸出


其中#set -C?? 禁止做覆蓋輸出重定向已存在的文件?? (僅對當(dāng)前shell有效)半醉、

?????????????????????? 可以使用強(qiáng)制重定向覆蓋輸出: >|

??????? #set +C? 關(guān)閉上述特性

錯(cuò)誤輸出重定向: 2>??? 2>>

合并正常輸出流和錯(cuò)誤輸出流

?? 1)&>,&>>

?? 2)? COMMAND > /PATH/TO/SOMEFILE? 2>&1

?? 3) COMMAND >> /PATH/TO/SOMEFILE 2>&1

輸入重定向:<

tr命令:

??? 語法:tr [ OPTION]... SET1[SET2]

?????????? 把輸出的數(shù)據(jù)當(dāng)中的字符谚中,凡是在SET1第一范圍內(nèi)出現(xiàn)的統(tǒng)統(tǒng)轉(zhuǎn)換為SET2出現(xiàn)的字符

用法1:

??????? tr SET1 SET2 < /path/to/somefie

?用法2:

??????? tr -d SET1 < /path/to/somefile

??????????????? 注意:不修改原文件


14.多命令執(zhí)行管道

管道:連接程序?qū)崿F(xiàn)將前一個(gè)命令的輸出直接定向后一個(gè)程序當(dāng)做輸入數(shù)據(jù)流

?? tee命令:輸出到屏幕并且保存

??????? COMMAND | tee /PATH/TO/SOMEFILE

15.linux的用戶饰恕、組、權(quán)限基礎(chǔ)概念

multi-tasks墓陈,multi-user

每個(gè)使用者:

?????????????? 用戶標(biāo)識恶守,密碼

????????????????????? 3A :

??????????????????????? 認(rèn)證/Authentication

???????????????????????? 授權(quán)/Authorization

???????????????????????? 審計(jì)/Audition

??????????????????? 組:用戶組,用戶容器

??????????? ? 用戶類別

????????????????????? 用戶標(biāo)識:UserID贡必,UID兔港,16bits二進(jìn)制數(shù)字,有效范圍0-65535

?????????????????????????????????????? 管理員:0

?????????????????????????????????????? 普通用戶:1-65535仔拟,CentOS來講衫樊,一般只到6萬

????????????????????????????????????? 系統(tǒng)用戶:1-499(CentOS6),1-999(CentOS7)

????????????????????????????????????? 普通用戶:500-60000(CentOS6),1000-60000(CentOS7)

??????????? 用戶解析:名稱轉(zhuǎn)換科侈;

????????????????????? UserName<-->UID 根據(jù)名稱解析庫進(jìn)行:/etc/passwd

? 組 :

?????? 組類別1:

???????????????? 管理員組:0

???????????????? 普通用戶組:1-65535

????????????????????????? 系統(tǒng)用戶組 :1-499(centos6)1-999(centos7)

???????????????? ? ? ? ?? 登陸用戶組:500-60000(centos6)? 1000-60000(centos7)

???????????????? 組標(biāo)識:GroupID载佳,GID,16bits二進(jìn)制數(shù)字臀栈,有效范圍0-65535

? ? ? ? ? ? ?? ? 名稱解析 GroupName<-->GID 根據(jù)名稱解析庫進(jìn)行:/etc/group

???? ?? 組類別2:

????????????????? 用戶的主組/基本組

?????????????????? 用戶的附加組

??????? 組類別3

?????????????????? 私有組:組名同用戶名蔫慧,且只包含一個(gè)用戶

?????????????????? 公共組:組內(nèi)包含多個(gè)用戶

? ? Linux的文件權(quán)限主要針對三類對象:屬主(u),屬組(g)权薯,其他(o)

??????????? 每個(gè)文件針對每類訪問者都定義了三類權(quán)限:讀r,寫w,執(zhí)行x,空-

16.用戶認(rèn)證姑躲、組認(rèn)證機(jī)制以及常見加密算法詳解

認(rèn)證信息:

?????? 通過比對事先存儲的,與登陸時(shí)提供的信息是否一致

?????? 密碼存放文件:

????? ? ? ? ? 用戶密碼:/etc/shadow

???? ? ? ? ?? 組密碼:/etc/gshadow

??????? 密碼的使用策略:

????? ? ? ? ?? 使用隨機(jī)密碼

???? ? ? ? ?? ? 最短長度不要低于8位

???? ? ? ? ? ?? 使用大寫字母盟蚣,小寫字母黍析,數(shù)據(jù),標(biāo)點(diǎn)四類字符中的最少三種

?? ? ? ? ? ?? ?? 定期更換

???????? 加密算法:

???????????????? 對稱加密:加密和解密使用同一個(gè)密鑰

???????????????? 非對稱加密:加密和解密使用一對兒密鑰:共鑰/pubic key屎开,私鑰/private key

???????????????? 單向加密:只能加密阐枣,不能解密;提取數(shù)據(jù)特征碼

?????????????????????????? 定長輸出牍戚,無論源明文有多長

?????????????????????????? 有雪崩效應(yīng)侮繁,初始條件的微小變化將會導(dǎo)致結(jié)果的巨大改變

?????????? ?? ?? 加密算法:

?????????????????????????? md5:消息摘要/Message Digest虑粥,5是版本號如孝,定長輸出128位

?????????????????????????? sha:安全哈希算法/secure hash algorithm,定長輸出160位

?????????????????????????? sha224娩贷,sha256第晰,sha384,sha512

?????? ? ? ? ? ? ? ? ??????????????? echo "How are you?" | md5sum

? ?? ???????????????????????????????? echo "How are you?" | sha512sum

?????????????????????????? 在計(jì)算之時(shí)彬祖,加salt茁瘦,添加隨機(jī)數(shù),所以在shadow文件中储笑,即使兩個(gè)用戶的密碼一樣甜熔,顯示的字串也不一樣,從而方式密碼泄漏

?????????????????????????? 因?yàn)榧用懿豢赡嫱槐叮悦看斡脩舻顷憰r(shí)腔稀,系統(tǒng)都會對用戶的輸入進(jìn)行加密,然后比較加密后的結(jié)果

17.用戶信息庫/etc/passwd羽历,用戶密碼/etc/shadow焊虏,用戶組/etc/group等

用戶信息庫文件的存儲格式

??????? /etc/passwd

?????????????? name:password:UID:GID:GECOS:directory:shell

??????????????????????? name:用戶名

??????????????????????? password:可以是加密后的密碼,也可以是占位符x秕磷,(命令pwconv)

??????????????????????? UID:用戶id

??????????????????????? GID:用戶所屬的主組的ID號

??????????????????????? GECOS:注釋信息等

??????????????????????? directory:用戶的家目錄

??????????????????????? shell:用戶登陸時(shí)默認(rèn)打開的shell

????? /etc/shadow

??????????? 用戶名:加密的密碼:最后一次修改密碼的時(shí)間:最短使用期限:最長使用期限:警告期限:過期期限:賬號失效時(shí)間:保留字段

??????????????? ? ? 用戶名

??????????????????? 加密的密碼:第一個(gè)$符號后面的數(shù)字表示加密算法诵闭,1表示md5,然后依次類推,第二個(gè)$符號后面表示添加的隨機(jī)數(shù)疏尿,第三個(gè)$符號后面是真正的加密后的密碼

??????????????????? 最后一次更改密碼的日期:相對時(shí)間計(jì)時(shí)法瘟芝,從1970年1月1日到更改密碼那一天所經(jīng)歷的天數(shù);0表示用戶在下次登陸的時(shí)候必須修改密碼褥琐;空表示密碼的年齡功能被禁用

???????????????????? 最短使用期限:兩次修改密碼的最小間隔

????????????????????最長使用期限:密碼必須修改的時(shí)間間隔

???????????????????? 警告期限:提醒用戶修改密碼的時(shí)間間隔

???????????????????? 過期期限:最大年齡之后的寬限期

???????????????????? 賬號失效時(shí)間:自? 1970 年 1 月 1 日以來的總天數(shù)作為賬戶的失效時(shí)間

????????????????????? 保留字段

18.用戶組管理命令groupadd,groupmod,groupdel

?groupadd:添加組

?????????? groupadd [選項(xiàng)] group_name

?????????????????? -g GID:自定義GID模狭,默認(rèn)是上一個(gè)組的GID加1

?????????????????? -r:創(chuàng)建系統(tǒng)組

?groupmod:修改組

?????????? groupmod [選項(xiàng)] group_name

??????????????????? -g GID:修改GID

??????????????????? -n New_Name:修改組名

?groupdel:刪除組

?????????? groupdel [選項(xiàng)] group_name

19.用戶管理命令useradd,usermod,userdel

useradd:創(chuàng)建用戶

??? useradd?[選項(xiàng)] User_Name

?????????? -u/--uid UID:自定義UID,默認(rèn)使用上一個(gè)用戶的UID加1

?????????? -g/--gid Group:自定義基本組踩衩,此組必須事先存在嚼鹉,否則會出錯(cuò);

?????????? -G/--groups Group1[,Group2...[,GroupN]]:指明用戶所屬的附加組驱富,多個(gè)組之間用逗號分隔

??????????? -c/--comment Comment:指明注釋信息

??????????? -d/--home home_dir:自定義用戶家目錄锚赤,家目錄的創(chuàng)建過程是復(fù)制/etc/skel,然后重命名褐鸥,指定的家目錄路徑如果事先存在线脚,則不會為用戶復(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)配置

????? useadd -D 選項(xiàng):修改默認(rèn)選項(xiàng)的值

???????????????? 修改的結(jié)果保存于/etc/default/useradd文件中,也可以直接編輯此文件

usermod:修改用戶屬性

???? ? ? -u/--uid UID:修改用戶的UID

??????? -g/--group Group:修改用戶的基本組晰绎,這個(gè)組事先必須存在

??????? -G/--groups Group1[,Group2...[,GroupN]]:修改用戶的附加組寓落,原來的附加組會被覆蓋

??????????? -a/--append:追加附加組,和-G一起使用

???????? -c/--comment Comment:修改注釋信息

???????? -d/--home home_dir:修改用戶家目錄荞下,用戶原有的文件不會被轉(zhuǎn)移至新位置

???????????????? -m/--move-home:移動家目錄到新位置伶选,只有與-d結(jié)合使用才有效

???????? -l/--login New_Name:修改用戶名

???????? -s/--shell Shell:修改用戶的默認(rèn)shell

???????? -L/--lock:鎖定用戶密碼,禁止用戶登陸尖昏,即在用戶原來的密碼字符串之前添加一個(gè)“仰税!”

???????? -U/--unlock:解鎖用戶密碼

userdel:刪除用戶

??????? userdel [選項(xiàng)] User_Name

?????????????????? -r:刪除用戶時(shí),一并刪除其家目錄抽诉,默認(rèn)不刪除

20.用戶認(rèn)證及組認(rèn)證機(jī)制及passwd,gpasswd,newgrp,chage

passwd:修改密碼

???????? 單獨(dú)使用表示修改用戶自己的密碼

???? passwd UserName:修改指定用戶的密碼陨簇,默認(rèn)情況下,僅root用戶有此權(quán)限迹淌。root用戶修改別人密碼的時(shí)候河绽,不需要知道原密碼。

??????????? ? ???? -l/-u:鎖定和解鎖用戶

????????????? ? ??? -d:清除用戶密碼

??????????????????? -e Date:過期期限巍沙,日期

??????????????????? -i Days:非活動期限葵姥,密碼過期以后還能活動幾天

??????????????????? -n Days:修改密碼的最小間隔

??????????????????? -x Days:修改密碼的最長使用期限

?????????????????? -w Days:警告期限

???????? echo "PASSWORD" | passwd --stdin docker,在腳本中通常如此使用

gpasswd:修改組密碼句携,或者添加刪除用戶

??? gpasswd [OPTION] group

???????????? -a UserName:向組中添加用戶榔幸,用戶將以此組為附加組

???????????? -d UserName:從組中移除用戶,用戶將不再以此組為附加組

???????? 給組添加密碼的作用

? ? ? ? ? ???? 如果組沒有密碼,其他人無法把主組切換為此組

? ? ? ?? ????? 如果組有密碼削咆,如果其他人的附加組包括該組牍疏,切換過來不需要密碼

?????????????? 如果組有密碼,如果其他人的附加組不包括該組拨齐,切換過來需要密碼

?????????????? 設(shè)置密碼的方法是:gpasswd GroupName鳞陨,之后便會提示輸入兩次密碼

newgrp:臨時(shí)切換指定的組為基本組

????????? -:加橫行表示模擬用戶重新登陸,重新初始化其工作環(huán)境

????????? exit退出

chage:修改密碼的過期信息瞻惋,選項(xiàng)和上面一樣

???? 語法:chage [OPTION]? NAME

21.id及su切換用戶詳解

id:顯示用戶的真實(shí)和有效ID信息

????????? 直接用表示顯示自己的

????????? id UserName:顯示別人的

????????? -u:僅顯示有效的UID

????????? -g:僅顯示基本組id厦滤,不顯示附加組的

???????? -G:顯示所有組的,基本組和附加組

???????? -n:顯示名字而非Id歼狼,可以和上面的選項(xiàng)結(jié)合使用

su:switch user/切換用戶

???????????? 登陸式切換/完全切換:仿佛重新登陸掏导,重新初始化用戶的工作環(huán)境

????????????????????????? su - UserName或者su -l UserName

??????????? 非登錄式切換/半切換:不會重新初始化用戶的工作環(huán)境,

?????????????????????????? su UserName

??????????? root用戶切換至其它任何用戶不需要密碼羽峰,非root用戶需要給出目標(biāo)用戶的密碼

???????????????????????????? -c:不切換用戶趟咆,僅以用戶身份執(zhí)行命令,

????????????????????????????? 例如:su - docker -c 'whoami'

其他幾個(gè)命令

chsh:修改shell

chfn:修改用戶信息

finger:顯示用戶信息

whoami:顯示自身用戶名

pwck:檢查用戶認(rèn)證文件的內(nèi)容和格式的完整性

grpck:檢查組文件內(nèi)容和格式的完整性

22.進(jìn)程安全上下文及用戶和權(quán)限應(yīng)用管理模型

ls -l:rwxrwxrwx

???????? 左三位:屬主權(quán)限

???????? 中三位:屬組權(quán)限

???????? 右三位:其它權(quán)限

進(jìn)程安全上下文

????????? 進(jìn)程對文件的訪問權(quán)限應(yīng)用模型:

??????????????????? 檢查進(jìn)程的屬主與文件的屬主是否相同梅屉。如果相同值纱,則應(yīng)用屬主權(quán)限(左三位)。

??????????????????? 否則坯汤,檢查進(jìn)程的屬主是否屬于文件的屬組虐唠。如果屬于,則應(yīng)用屬組權(quán)限(中三位)玫霎。

???????????????????? 否則凿滤,則應(yīng)用其它權(quán)限(右三位)妈橄。

權(quán)限:

??????? r:readable庶近,讀

??????? w:writable,寫

??????? x:executable眷蚓,執(zhí)行

23.Linux文件權(quán)限r(nóng)wx及文件屬性

文件:

???????? r:可獲取文件的數(shù)據(jù)

???????? w:可修改文件的數(shù)據(jù)

????????? x:可將此文件運(yùn)行為進(jìn)程鼻种,文件內(nèi)部需要寫指令

目錄:

?????????? r:可使用ls命令獲取其下的所有文件列表

?????????? w:可修改此目錄下的文件列表,即創(chuàng)建或者刪除文件

??????????? x:可cd至此目錄中沙热,并且可以使用ls -l命令

???????? 注意:

??????????????? 目錄的讀權(quán)限僅允許我們讀目錄叉钥,獲得在該目錄中所有文件名的列表,但無法查看目錄中文件的內(nèi)容

??????????????? 目錄的執(zhí)行權(quán)限不允許我們讀取目錄的文件列表篙贸,但可以查看目錄中文件的內(nèi)容投队。當(dāng)一個(gè)目錄是我們要訪問文件的路徑名的一個(gè)組成部分時(shí),對該目錄的執(zhí)行權(quán)限使我們可通過該目錄

???????????????? 要修改目錄中的文件內(nèi)容爵川,不僅僅需要目錄的寫權(quán)限敷鸦,還需要目錄的執(zhí)行權(quán)限

???????????????? cp一個(gè)目錄中的文件需要對目錄具有執(zhí)行權(quán)限

24.Linux文件權(quán)限表示法:賦權(quán)表示、授權(quán)表示、數(shù)值表示法

? 賦權(quán)表示:直接操作一類用戶的所有權(quán)限位

? ? ?? 其表現(xiàn)形式如下:

? ? ? ? ?? ? ?????? u=

? ? ? ? ? ? ? ?????? o=

? ? ? ? ? ? ?? ?????? g=

? ? ? ? ? ? ?? ?????? a=

?授權(quán)表示:直接操作一類用戶的一位權(quán)限位

???????? 其表現(xiàn)形式如下

????????????? u+,u-

????????????? g+,g-

????????????? o+,o-

????????????? a+,a-

數(shù)值表示:直接操作所有用戶的所有權(quán)限位

??? 其中權(quán)限組合

????????? ---:000?? 0

????????? --x:001?? 1

????????? -w-:010?? 2

????????? -wx:011?? 3

?????????? r--:100??? 4

?????????? r-x:101??? 5

?????????? rw-:110??? 6

?????????? rwx:111??? 7

?? 其表現(xiàn)形式如下:

???????? 774扒披,660值依,544

25.Linux文件權(quán)限管理命令:chmod,chown碟案,chgrp

chmod

??? 語法:chmod [OPTION]... MODE[,MODE]... FILE

?????????????? chmod [OPTION]... OCTAL-MODE FILE

?????????????? chmid [OPTION]... --reference=RFILE FILE...

???? 選項(xiàng)

? ? ?? ??? -R/--recursive:對于目錄來說愿险,如果不加-R則只修改目錄本身的權(quán)限。

????? 注意:用戶僅能修改那些屬主為自己的那些文件的權(quán)限


chown:修改屬主和屬組

? 語法:chown [OPTION]../ [owner][:[Group]]? FILE

?????????? chown [OPTION]... --reference=RFILE FILE...

????????????? -R:遞歸修改价说,例如:chown -R docker /tmp/skel

????????? ? ? :號用來分隔屬主和屬組辆亏,例如:chown docker:mygrp /tmp/skel。也可以使用“.”

?????????? ? ?? --reference鳖目,例如:chown --reference=/tmp/moosefs /tmp/skel


?chgrp:修改屬組褒链,等于chown :group FileName。用法和chown一樣

?????? 注意:僅管理員可以修改文件的屬主和屬組


26.Linux文件權(quán)限反向掩碼umask

umask:文件權(quán)限的反向掩碼疑苔,遮罩碼甫匹。創(chuàng)建時(shí):

??????????? 文件:666-umask

??????????? 目錄:777-umask

注:之所以文件用666去減,表示文件默認(rèn)不能擁有執(zhí)行權(quán)限惦费,如果減得的結(jié)果中有執(zhí)行權(quán)限兵迅,則需要將其加1

umask命令:

????????? 單獨(dú)使用,用來查看umask的值薪贫,默認(rèn)值是022

????????? umask MASK:用來設(shè)置umask恍箭,但是僅對當(dāng)前的shell進(jìn)程有效

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瞧省,隨后出現(xiàn)的幾起案子扯夭,更是在濱河造成了極大的恐慌,老刑警劉巖鞍匾,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件交洗,死亡現(xiàn)場離奇詭異,居然都是意外死亡橡淑,警方通過查閱死者的電腦和手機(jī)构拳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梁棠,“玉大人置森,你說我怎么就攤上這事》” “怎么了凫海?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長男娄。 經(jīng)常有香客問我行贪,道長把兔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任瓮顽,我火速辦了婚禮县好,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暖混。我一直安慰自己缕贡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布拣播。 她就那樣靜靜地躺著晾咪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贮配。 梳的紋絲不亂的頭發(fā)上谍倦,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音泪勒,去河邊找鬼昼蛀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛圆存,可吹牛的內(nèi)容都是我干的叼旋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沦辙,長吁一口氣:“原來是場噩夢啊……” “哼夫植!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起油讯,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤详民,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后陌兑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沈跨,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年诀紊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谒出。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邻奠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出为居,到底是詐尸還是另有隱情碌宴,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布蒙畴,位于F島的核電站贰镣,受9級特大地震影響呜象,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碑隆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一恭陡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧上煤,春花似錦休玩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至独泞,卻和暖如春呐矾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背懦砂。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工蜒犯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荞膘。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓愧薛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親衫画。 傳聞我的和親對象是個(gè)殘疾皇子毫炉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355