前言
服務器最主要的工作是提供可靠的服務,提供服務就必須對外開放自己的網絡,可靠就需要一定的機制來保證了。Linux中有一個3A的機制,首先是認證,就是我們經常聽到的一句話,怎么證明你就是你;其次是授權,管理一個服務器,每個管理員都有自己的職責,那么我們就只分配對應的權限給特定的人,這樣就可以明確事故的責任,從源頭甩鍋;最后是審計,總有一些黑客可以通過各種手段侵入我們的服務器,怎么保證我們所分配的權限沒有被越權,這里我們可以通過記錄管理員的操作,以保證權限的正確利用。
1組和用戶
既然要分配權限,就要確定分配權限的對象。先對用戶進行分門別類的劃分一下。
超級管理員,它擁有這個服務器的全部權限,掌管一切,就是服務器的上帝,它具有自殺的權限,他可以讓一切結束。其它用戶的權限都在它的管理范圍內。類似公司的老板,在linux中被定義為root。
一般用戶,具有一定的特殊權限。相當于員工。在linux被定義為普通賬號,可以登錄系統。有些大公司還有一些管理員,具有服務器大部分權利,有些管理員也可以控制著服務器自殺。類似公司的管理層,其本質還是員工,只不過root給他授予了更多的權限。
世界如此復雜總不能每個人都設定一個權限吧,號我們給用戶分門別類,把類似的用戶組織到一起分到一個組里,給這個組一個權限,這樣可以大大減少我們分配權限的難度。Linux是很多開源人士攢出來的一個系統,每個使用linux的人都是人中龍鳳。那好linux就設置了一種機制,默認在每個用戶創建的時候,給用戶創建一個與其同名的組,并且把這位人中龍鳳定義為這個組的管理員,他可以把其他人加入自己的組中,其實就是為了方便大家聯合開發和使用系統。
2用戶和組的配置文件
在思想綱領的引導下,我們怎么實現用戶和組的管理。Linux把創建的組和用戶的參數放在多個文件中,這些文件的內容都有什么?
了解這些配置文件前,我們必須先了解linux怎么實現3A機制的。才可以更好的了解這些配置文件的作用。
1) 首先用戶認證,linux怎么實現認證你就是你的,賬號密碼。賬號放置在/etc/passwd文件中,密碼放置在/etc/shadow文件中。
當一個用戶登錄時,系統拿到用戶名和密碼后首先遍歷/etc/passwd文件,找到文件中對應用戶的信息后,查看用戶信息,賬號沒過期接著查/etc/shadow文件,密碼正確就可以登錄了。
/etc/passwd文件的格式,以冒號為分隔符
第一個字段是用戶名
第二個字段是密碼,現在密碼不放在這個位置了,使用x代替
第三個字段是uid
第四個字段是gid
第五個字段是用戶注釋信息,可以沒有
第六個字段是用戶家目錄
第七個字段是用戶家目錄
示例tom:x:500:500::/home/tom:/bin/bash
/etc/shadow的文件格式,同樣是以冒號為分隔符
第一個字段是用戶名
第二個字段是密碼,這里的密碼是經過加密過的密文,加密算法采用的是sha512。密碼前面有!或!!,代表賬號被鎖定,此時這個賬號不能登錄系統。
第三個字段是用戶上一次更改密碼日期
第四個字段是用戶密碼最短使用時間,也就是幾天內不能連續更改密碼
第五個字段是密碼有效時間
第六個字段是密碼警告時間,提示用戶更改密碼
第七個字段是過期時間,用戶在過期時間內沒有更改密碼,賬號就會被鎖定,密碼字段最前面就會增加??!,只有管理員解鎖才可以使用
第八個字段是賬號到期時間
/etc/group
第一個字段是用組名
第二個字段是密碼
第三個字段是gid
第四個字段是組內的其它用戶
/etc/gshadow
第一個字段是組名
第二個字段是密碼,與shadow一樣!和?。〈碣~號鎖定
第三個字段是組內管理者
第四個字段是組內的其它用戶
2) 權限
在下一篇學習
3) 審計
在下一篇學習
3用戶管理命令
1) Useradd主要是用來添加用戶的命令(可以使用su切換用戶,– 會讀取用戶配置文件),命令格式如下
Useradd [option] username
-u # 指定uid,使用指定的uid(id命令查看用戶id信息)
-o 不檢查uid的唯一性
-g # 指定gid
-G 指定附加組,附加組為多個時用,分割多個組
-N 不創建與用戶同名組,并使用users組做家目錄
-d 指定家目錄
-s 指定shell類型
-c 指定用戶附加信息
-r 創建系統組,和普通組沒有太大的區別,centos6的系統用戶小于500,7小于1000,這個只不過是約定俗成的規定,沒有硬性要求
2) Usermod用來更改用戶信息(用戶信息可以使用finger username命令查看),命令格式如下
Usermod [option] username
-u # 更改uid,使用指定的uid
-g # 更改gid
-G 更改附加組,附加組為多個時用,分割多個組。直接填附加組的話,原本的附加組會被覆蓋。
-a 添加,一般與-G一起使用,給用戶添加附加組。
-e YYYY-MM-DD 指明過期日期
-s 更改shell類型
-c 更改用戶附加信息
-d 更改家目錄但不移動原家目錄內的文件,使用-m移動原家目錄文件
-l 更改名字
-L 鎖定
-U 解鎖
3) Userdel用來刪除用戶
-r 刪除用戶的同時刪除該用戶的家目錄
4) Passwd用來更改用戶密碼,直接使用更改當前用戶密碼
Passwd username更改指定用戶密碼
-l 鎖定用戶
-u 解鎖
-e 強制用戶下次登錄更改密碼
-n 指定最短使用時間
-m 指定最大使用時間
-w 指定警告時間
-i 指定非活動時間
–stdin 從標準輸入接受密碼
5) chage更簡單的修改的時間的命令
直接輸入chage進入提示模式
-m 最小使用時間
-M 最大使用時間
-W 警告時間
-I 過期時間
-E 停用時間
-d 修改時間
4組管理命令
1) Groupadd添加組
-g 指定組gid
-r 創建系統組
2) Groupmod更改組信息
-n 更改組名
-g 更改gid
3) Groupdel刪除組
4) Gpasswd給組設置密碼
-a 添加user進組
-d 刪除組內user
-A 指定user具有管理權限
5) Newgrp 把某個用戶的組臨時切換到其它組,創建文件時組是臨時組。
總結
到生產環境中,我們將不會擁有root權限,我們手頭上的賬號可能只具有某個目錄的管理權限,那時我們只能在針尖上跳舞。當我們管理團隊的時候,責任的劃分將與用戶權限密切相關,管理好手下的人,先從用戶權限入手總不會錯。
原創文章,作者:mortimer2015,如若轉載,請注明出處:http://www.www58058.com/53545