Linux 環境下帳號和權限管理

這是我參與 8 月更文挑戰的第 5 天,活動詳情查看: 8月更文挑戰shell

一名致力於在技術道路上的終身學習者、實踐者、分享者,一位忙起來又偶爾偷懶的原創博主,一個偶爾無聊又偶爾幽默的少年。數據庫

歡迎各位掘友們微信搜索「傑哥的IT之旅」關注!vim

原文連接:Linux環境下帳號和權限管理windows

前言

在Linux系統中,根據系統管理的須要將用戶帳號分爲不一樣的類型,其擁有的權限,擔任角色也不一樣,主要包括超級用戶、普通用戶和程序用戶。安全

1、用戶帳號

  • 超級用戶:root用戶是Linux系統中默認的超級用戶帳號,相似於windows系統中的Administrator用戶。只有當進行系統管理、維護任務時,才建議使用root用戶登陸系統,平常事務處理建議只使用普通用戶帳號。bash

  • 普通用戶:普通用戶帳號須要由root用戶或其餘管理員用戶建立,擁有的權限受到必定限制,通常只在用戶本身的宿主目錄中擁有完整權限。微信

  • 程序用戶:在安裝Linux系統及部分應用程序時,會添加一些特定的低權限用戶帳號,這些用戶通常不容許登陸到系統,而僅用於維持系統或某個程序的正常運行。markdown

2、組帳號

基於某種特定聯繫將多個用戶集合在一塊兒,構成一個用戶組,用於表示該組內全部用戶的帳號稱爲組帳號。每個用戶帳號至少屬於一個組,這個組稱爲該用戶的基本組。若該用戶同時還包括在其餘的組中,這個組稱爲該用戶的附加組。運維

3、UID 和 GID 號

Linux系統中的每個用戶帳號都有一個數字形式的身份標記,稱爲UID,UID做爲區分用戶的基本數據,原則上每一個用戶的UID號應該是惟一的。root用戶帳號的UID號爲固定值0,而程序用戶帳號UID號默認爲1 ~ 499,500 ~ 60000的UID號默認分配給普通用戶使用。編輯器

與UID相相似,每個組帳號也有一個數字形式的身份標記,稱爲GID,root組帳號的GID號爲固定值0,而程序組帳號的GID號默認爲1 ~ 499,500 ~ 60000的GID號默認分配給普通組使用。

4、用戶帳號文件

與用戶帳號相關的配置文件主要有兩個,分別是/etc/passwd、/etc/shadow。前者用於保存用戶名稱、宿主目錄、登陸shell等基本信息,後者用於保存用戶的密碼、帳號有效期等信息。兩個配置文件中,每一行對應一個用戶帳號,不一樣的配置項之間使用冒號「:」進行分隔。

4.1 passwd 文件中的配置行格式

系統中全部用戶的帳號基本信息都保存在/etc/passwd文件中,該文件是文本文件,任何用戶均可以讀取文件中內容。

[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# tail -1 /etc/passwd
ftpadmin:x:502:503::/home/ftpadmin:/bin/bash
複製代碼

在passwd 文件開頭的部分,包括超級用戶root及各程序用戶的帳號信息,系統中新增長的用戶帳號信息將保存到passwd文件的末尾。passwd文件的每一行美容中,包含了七個用冒號「:」分隔的配置字段。

  • 第1字段:用戶帳號的名稱。也是登陸系統時使用的識別名稱。

  • 第2字段:通過加密的用戶密碼字串,或者密碼佔位符「x」。

  • 第3字段:用戶帳號的UID號。

  • 第4字段:所屬基本組帳號的GID號。

  • 第5字段:用戶全名。

  • 第6字段:宿主目錄,即該用戶登陸後所在的默認工做目錄。

  • 第7字段:登陸shell等信息。

4.2 shadow 文件中的配置行格式

shadow文件被稱爲「影子文件」,其中保存有各用戶帳號的密碼信息,所以對shadow文件的訪問應該進行嚴格限制。默認只有root用戶可以讀取文件中的內容,而不容許直接編輯該文件中的內容。

[root@localhost ~]# head -2 /etc/shadow
root:$1$zvbfAo4p$mg5k7oNqxBxzDyQYd.dB3/:17307:0:99999:7:::
bin:*:15980:0:99999:7:::
[root@localhost ~]# tail -1 /etc/shadow
ftpadmin:$6$xf828o4R$ApMz8RE4mV43E7JAsgr9d63B3jEapVqYBpSc7aPTkvcnL8lRGaJhTP.OVI2pq1kHJRGFdqMIvHpTLQgzGT0El0:17308:0:99999:7:::
複製代碼

shadow文件的每一行內容中,包含了九個用冒號「:」分隔的配置字段。

  • 第1字段:用戶帳號名稱。

  • 第2字段:使用MD5加密的密碼字串信息,當爲「*」或「!!」時表示此用戶不能登陸到系統。若該字段內容爲空,則該用戶無需密碼便可登陸系統。

  • 第3字段:上次修改密碼的時間。

  • 第4字段:密碼的最短有效天數。默認爲0,表示不進行限制。

  • 第5字段:密碼的最長有效天數。默認爲99999,表示不進行限制。

  • 第6字段:提早多少天警告用戶口令將過時,默認爲7。

  • 第7字段:在密碼過時以後多少天內禁用此用戶。

  • 第8字段:帳號失效時間,默認爲空號,表示帳號永久可用。

  • 第9字段:保留字段,目前沒有特定用途。

5、添加、刪除、修改用戶帳號命令彙總

1628081124(1).png

image.png

6、查看目錄和文件的屬性

在Linux文件系統的安全模型中,爲系統中的文件或目錄賦予了兩個屬性:訪問權限和文件全部者,簡稱爲「權限」和「歸屬」。其中,訪問權限包括讀取、寫入、可執行三種基本類型,歸屬包括屬主(擁有該文件的用戶帳號)、屬組(擁有該文件的組帳號)。Linux系統根據文件或目錄的訪問權限,歸屬來對用戶訪問數據的過程進行控制。

使用帶「-l」選項的ls命令時,將以長格式顯示出文件或目錄的詳細信息,其中包括了該文件的權限和歸屬等參數。

[root@localhost ~]# ls -ld /etc /etc/passwd
drwxr-xr-x. 130 root root 12288 10月 19 16:03 /etc
-rw-r--r--    1 root root  1876 5月  22 2017 /etc/passwd
複製代碼

/etc目錄和/etc/passwd文件都屬於root用戶、root組;而第一個字段的數據表示該文件或目錄的訪問權限,「drwxr-xr-x」和「-rw-r--r--」權限字段由四部分組成。

  • 第1個字符:表示該文件的類型,能夠是d(目錄)、b(塊設備文件)、c(字符設備文件)、「-」(普通文件)、字母「|」(連接文件)等;

  • 第2~4個字符:表示該文件的屬主用戶(user)對該文件的訪問權限。

  • 第5~7個字符:表示該文件的屬組內各成員用戶(Group)對該文件的訪問權限。

  • 第8~10個字符:表示其餘任何用戶(Other)對該文件的訪問權限。

權限字符r、w、x用於文件表示可讀、可寫、可執行。

r、w、x權限字符可分別表示爲八進制數字四、二、1,表示一個權限組合時須要將數字進行累加;例如「rwx」採用累加數字形式表示成「7」,而「rwxr-xr-x」由三個權限段組成,所以表示爲「755」。

chmod [ugoa...] [+-=] [rwx] 文件或目錄...或者chmod nnn 文件或目錄...

  • 「ugoa」表示該權限設置所針對的用戶類型。「u」表明文件屬主,「g」表明文件屬組內的用戶,「o」表明其餘任何用戶,「a」表明全部用戶。

  • 「+-=」表示設置權限的操做動做。「+」表明增長相應權限,「-」表明減小相應權限,「=」表明僅設置對應的權限。

  • 「rwx」是權限的字符組合形式,也能夠拆分使用;

chmod命令的「-R」選項遞歸修改指定目錄下的全部子項的歸屬;

chown命令能夠只設置屬主和屬組,也能夠同時設置屬主、屬組。

chown 屬主[:[屬組]] 文件或目錄...

同時設置屬主、屬組時,用戶名和組名之間用冒號「:」進行分隔。若是隻設置屬組時,需使用「:組名」的形式;

若是隻須要設置目錄或文件的屬主,直接以用戶名錶示歸屬便可,遞歸修改目錄歸屬一樣可使用「-R」選項。

推薦閱讀

99%的Linux運維工程師必需要掌握的命令及運用

Linux 環境下 Oracle 數據庫經常使用命令

Linux 環境下 vi/vim 編輯器經常使用命令

Linux環境下安裝及管理程序(軟件包封裝、RPM命令、源代碼編譯安裝的基本過程)

本文完。


原創不易,若是你以爲這篇文章對你有點用的話,麻煩你爲本文點個贊、評論或轉發一下,由於這將是我輸出更多優質文章的動力,感謝!

對了,掘友們記得給我點個免費的關注喲!防止你迷路下次就找不到我了。

咱們下期再見!

相關文章
相關標籤/搜索