c99 數據塊 upa 系統數據 精確 passwd 列表 sudo 3.4

1、(思考)系統中為什麽要有用戶

1.1用戶
??系統中最底層的安全設定,回收(限制)權利。
1.2組
??共享權利。分為以下兩種:
??(1)附加組:由用戶決定的組(每個用戶不一定都有);
??(2)初始組:用戶不能自己決定的組(每個用戶都有)。

2、用戶在系統中的存在形態

??系統中的數據+系統中的若幹配置文件(表格+表格調用的配置文件)

3、用戶配置文件

3.1用戶信息文件(/etc/passwd)
??用戶信息文件命令:?/etc/passwd
??組成:?用戶名:密碼:用戶id:組id:用戶說明:用戶家目錄:用戶默認使用的shell
技術分享圖片
3.2用戶組信息(/etc/group)
??用戶組信息命令:?/etc/group
??組成:?組:組密碼:組id:附加組成員
技術分享圖片
3.3用戶家目錄(/home/username)
??用戶家目錄:?/home/username
技術分享圖片
3.4用戶骨文件(用戶環境配置,/etc/skel.*)
??用戶骨文件(用戶環境配置):?/etc/skel.*

4、用戶的查看

??whoami:?查看當前用戶的名稱。
技術分享圖片
??id?username:?查看用戶的id信息。
技術分享圖片
??id?-u?username:?查看用戶的uid信息。
技術分享圖片
??id?-g?username:?查看用戶的gid(組id)信息。
技術分享圖片
??id?-G?username:?查看用戶所在的所有組的id信息。
技術分享圖片
??id?-n?username:?以名稱顯示信息。
技術分享圖片
??id?-un?username:?顯示id對應的用戶名稱。
技術分享圖片

5、用戶/組的建立及刪除

5.1用戶刪除
(1)userdel?username:?刪除用戶身份,其配置文件未刪除。
技術分享圖片
(2)userdel?-r?username:?刪除用戶身份及其配置文件。
技術分享圖片
5.2用戶建立
(1)useradd?username:?使用默認規則建立用戶(規則查看etc/login.defs)
技術分享圖片
(2)useradd?-u?uid username:?指定用戶的uid。
技術分享圖片
(3)useradd?-g?gid username:?指定用戶的初始組id。
技術分享圖片
(4)useradd?-G?附加組id username:?指定用戶的附加組。
技術分享圖片
(5)useradd?-c?“說明文字” username:?指定用戶的說明文字。
技術分享圖片
(6)useradd?-s?shell username:?指定用戶的shell(用戶可可以用的shell可在/etc/shells中查看)。
技術分享圖片
(7)useradd?-d?目錄 username:?指定用戶的家目錄。
技術分享圖片
5.3組的建立和刪除
(1)groupadd?groupname:?建立組。
技術分享圖片
(2)groupadd?-g?groupname:?建立組並指定組id。
技術分享圖片
(3)groupdel?groupname:?刪除組。
技術分享圖片
5.4查看用戶和組的建立與刪除情況命令
??watch?-n?1?‘tail?-n?4?/etc/passwd?/etc/group;ls ?-1?/home’

6、用戶管理

(1)usermod?-l?newusername?oldusername:?修改用戶名。
技術分享圖片
(2)usermod?-u?uid?username:?修改用戶uid。
技術分享圖片
(3)usermod?-g?gid?username:?修改用戶gid(初始組id)。
技術分享圖片
(4)usermod?-G?附加組id?username:?更改附加組(替換原來的附加組)。
技術分享圖片
(5)usermod?-G?“ ”?username:?清除所有附加組。
技術分享圖片
(6)usermod?-aG?附加組id?username:?增加附加組。
技術分享圖片
(7)usermod?-c?說明文字?username:?修改用戶的說明文字。
技術分享圖片
(8)usermod?-c?“ ”?username:?清除說明文字。
技術分享圖片
(9)usermod?-d?目錄?username:?更改用戶家目錄指向。
技術分享圖片
(10)usermod?-md?目錄?username:?更改用戶家目錄指向並重命名家目錄。
技術分享圖片
(11)usermod?-s?newshell?username:?更改用戶shell。
技術分享圖片
(12)查看用戶管理情況命令
??watch?-n?1?‘tail?-n?4?/etc/passwd?/etc/group;ls ?-1?/home’

7、用戶切換

7.1命令
??su?-?username:?切換用戶。如果是高級用戶切換到低級用戶,無需密碼;如果是低級用戶切換到高級用戶或平級用戶,需要後者密碼。
??超級用戶切換到普通用戶:
技術分享圖片
??普通用戶切換到超級用戶:
技術分享圖片
7.2註意事項(重要)
(1)用戶切換時需要及時退出再切換到下一個用戶。
(2)“su?-”表示切換用戶身份及用戶環境。如果去掉“-”只能切換用戶身份,而不能切換用戶環境。

8、用戶的認證信息

8.1/etc/shadow
??用戶認證信息。
8.2用戶認證信息的組成
??用戶名稱:用戶密碼:密碼最後一次被修改時間:密碼最短有效期:密碼最長有效期:密碼過期警告:密碼非活躍期:賬號到期日:未設定用戶自定義
??普通用戶bighead的認證信息:
技術分享圖片
??超級用戶root的認證信息:
技術分享圖片
(1)密碼最後一次被修改時間
??當此位數字為0時,用戶在首次登錄系統時會被強制修改密碼。
??例如:分別設置最後一次被修改時間為8和0,用兩種命令分別設置:
??chage?-d?8?username
技術分享圖片
??passwd?-e?username
技術分享圖片
(2)修改密碼命令
??passwd?username?:只有超級用戶可用的修改密碼命令(超級用戶即可修改自身密碼,也可修改普通用戶密碼)
??超級用戶修改自身密碼:
技術分享圖片
??超級用戶修改普通用戶密碼:
技術分享圖片
??passwd?:普通用戶修改自身密碼。
技術分享圖片
(3)用戶賬號的凍結與解鎖
??usermod?-L?username?:凍結賬號
技術分享圖片
??usermod?-U?username?:解鎖
技術分享圖片
??passwd?-l?username?:凍結賬號
技術分享圖片
??passwd?-u?username?:解鎖
技術分享圖片
??在上述兩種凍結賬號與解鎖的方式中,passwd方式凍結與解鎖強度強於usermod方式。
(4)密碼最短有效期
??例如:兩種命令分別設置密碼最短有效期為1和3:
??chage?-m?1?username
技術分享圖片
??passwd?-n?3?username
技術分享圖片
(5)密碼最長有效期
??例如:兩種命令分別設置密碼最長有效期為30和40:
??chage?-M?30?username
技術分享圖片
??passwd?-x?40?username
技術分享圖片
(6)密碼最長有效期
??可超過規定時間的時限。
??例如:兩種命令分別設置密碼非活躍期為2和0:
??chage?-I?2?username
技術分享圖片
??passwd?-i?0?username
技術分享圖片

(7)密碼過期警告
??距離密碼過期還有多久給用戶發出警告。
??例如:兩種命令分別設置密碼過期警告為2和0:
??chage?-W?2?username
技術分享圖片
??passwd?-w?0?username
技術分享圖片
(8)賬號到期日
??賬號到什麽時候過期。
??例如:設置賬號到期日為2018年12月12日:
??chage?-E?“2018-12-12”?username
技術分享圖片
(9)清空密碼
??passwd?-d?username
技術分享圖片
(10)查看用戶認證信息更改情況命令
??watch?-n?1?‘tail?/etc/shadow’

9、用戶權力下放

9.1配置文件
??/etc/sudoers
9.2配置命令
??visudo(此命令提供語法檢查)
??賦予普通用戶超級用戶的權利,有兩種命令方式如下:
(1)需要普通用戶身份驗證的命令方式:
??用戶名?主機名稱=(執行程序身份)?命令
??例如,賦予普通用戶bighead增加用戶和刪除用戶的權利:
技術分享圖片
??權利測試:
添加用戶:
技術分享圖片
刪除用戶:
技術分享圖片
(2)不需要普通用戶進行身份驗證的命令方式:
??用戶名?主機名稱=(執行程序身份)?NOPASSWD:命令
??例如,賦予普通用戶bighead增加用戶和刪除用戶的權利:
技術分享圖片
9.3下放權力測試命令
??首先將超級用戶切換到普通用戶:?su?-?用戶名
??其次測試權利,例如測試添加用戶的權利:?sudo?useradd?username

10、(補充)linux系統下的文件操作

10.1顯示文件信息(ls)
(1)ls
??顯示當前目錄下所有非隱藏文件與目錄。
技術分享圖片
(2)ls?-l
??以長列表顯示目錄(或文件)信息/屬性(輸出的信息包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最後修改時間等)
技術分享圖片
(3)ls?-a
??顯示所有文件,包括隱藏文件(以“.”開頭的)
技術分享圖片
(4)ls?-s
??顯示文件大小
技術分享圖片
(5)ls?-S
??按照文件大小排序
技術分享圖片
(7)ls?-d
??顯示文件目錄(顯示文件名或目錄名,不顯示目錄下的內容)
技術分享圖片
(8)ls?-s?-ld
??顯示目錄本身屬性
技術分享圖片
(9)ls?-R
??遞歸顯示
技術分享圖片
(10)ls?-da?.*
??顯示隱藏文件
技術分享圖片
10.2通配符
(1)*
??匹配0~任意字符(除隱藏文件外)。
??ls?/ect/*.conf顯示etc目錄下,所有以.conf結尾的文件(除隱藏文件外):
技術分享圖片
(2)?
??匹配單個字符
??例如:ls?fil?:顯示當前目錄下所有以fi開頭,後面為單個字符的文件名稱(除隱藏文件)。
技術分享圖片
(3)[[:alpha:]]
??單個字母
??例如:ls?fi[[:alpha:]]le:顯示當前目錄下所有以fi開頭,中間為單個字母,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(4)[[:upper:]]
??單個大寫字母
??例如:ls?fi[[:upper:]]le:顯示當前目錄下所有以fi開頭,中間為單個大寫字母,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(5)[[:lower:]]
??單個小寫字母
??例如:ls?fi[[:lower:]]le:顯示當前目錄下所有以fi開頭,中間為單個小寫字母,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(6)[[:digit:]]
??單個數字
??例如:ls?fi[[:digit:]]le:顯示當前目錄下所有以fi開頭,中間為單個數字,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(7)[[:alnum:]]
??單個數字或字母
??例如:ls?fi[[:alnum:]]le:顯示當前目錄下所有以fi開頭,中間為單個字母或數字,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(8)[[:space:]]
??單個空格
??例如:ls?fi[[:space:]]le:顯示當前目錄下所有以fi開頭,中間為單個空格,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(9)[[:punct:]]
??單個符號
??例如:ls?fi[[:punct:]]le:顯示當前目錄下所有以fi開頭,中間為單個符號,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(10){ }
??精確匹配。例如:{1..3}表示1和2和3。
(11)[ ]
??模糊匹配。例如:[1-3]表示1或2或3。
(12)^/!
??非。例如:[^ac]或[!ac]都表示非a並且非c(除了a並且除了c)。
(13)[[:alpha:][:punct:]]
??符號或字母
??例如:ls?fi[[:alpha:][:punct:]]le:顯示當前目錄下所有以fi開頭,中間為單個符號或字母,後面為le的文件名稱(除隱藏文件)
技術分享圖片
(14)[![:alpha:][:punct:]]
??除了符號或字母
??例如:ls?fi[![:alpha:][:punct:]]le:顯示當前目錄下所有以fi開頭,中間除了單個符號或字母,後面為le的文件名稱(除隱藏文件)
技術分享圖片

11、linux小知識補充

11.1元數據
(1)什麽是元數據
??任何文件系統中的數據分為數據和元數據。數據是指普通文件中的實際數據,而元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息(inode...)等等。在集群文件系統中,分布信息包括文件在磁盤上的位置以及磁盤在集群中的位置。用戶需要操作一個文件必須首先得到它的元數據,才能定位到文件的位置並且得到文件的內容或相關屬性。
(2)元數據管理方式
??元數據管理有兩種方式。集中式管理和分布式管理。集中式管理是指在系統中有一個節點專門司職元數據管理,所有元數據都存儲在該節點的存儲設備上。所有客戶端對文件的請求前,都要先對該元數據管理器請求元數據。分布式管理是指將元數據存放在系統的任意節點並且能動態的遷移。對元數據管理的職責也分布到各個不同的節點上。大多數集群文件系統都采用集中式的元數據管理。因為集中式管理實現簡單,一致性維護容易,在一定的操作頻繁度內可以提供較滿意的性能。缺點是單一失效點問題,若該服務器失效,整個系統將無法正常工作。而且,當對元數據的操作過於頻繁時,集中的元數據管理成為整個系統的性能瓶頸。
??分布式元數據管理的好處是解決了集中式管理的單一失效點問題, 而且性能不會隨著操作頻繁而出現瓶頸。其缺點是,實現復雜,一致性維護復雜,對性能有一定影響。
11.2強制結束進程
??kill?-q?進程號
11.3搜索關鍵字
??/-關鍵字
??例如,搜索關鍵字u:?/-u
11.4家目錄
??系統中默認的目錄

Linux系統基礎知識(二)基於linux系統下的用戶管理操作以及文件操作補充