天天看點

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

文章目錄

  • 一、使用者賬号群組賬号概述
    • 1、使用者賬号
    • 2、組賬号
    • 3、UID和GID
  • 二、使用者賬号檔案
    • 1、使用者賬号檔案 /etc/passwd
          • 儲存使用者名稱、宿主目錄、登入Shell 等基本資訊
          • 使用者賬号檔案 /etc/passwd
            • 注:字段7中/bin/nologin登入時被拒絕,有提示拒絕登入;/bin/false 沒有提示
          • 使用者賬号檔案 /etc/shadow
          • 使用者賬号檔案 /etc/shadow
  • 三、使用者賬号
    • 1、添加使用者賬号 useradd 或者 adduser
            • 添加使用者賬号wangwu,同時建立了使用者的目錄
    • 2、設定/更改使用者密碼passwd
            • 設定密碼
            • 清空密碼後可直接登入
            • 密碼清除後,直接點選賬号即可登入。
            • 鎖定zhangsan的密碼并檢視是否已鎖定
            • 鎖定後登入界面賬号不見了,就算輸入賬号密碼也無法登入
            • 解鎖zhangsan,密碼為空需要加上-f
            • 解鎖後,登入界面上賬号又回來了,也可以登入了。
    • 3、修改使用者賬号的屬性 usermod
    • 4、 删除使用者賬号 userdel
            • 建立ceshi賬号,并使用-r删除,可以發現宿主目錄被删
    • 5、使用者賬号的初始配置檔案
          • (5.1)檔案來源
          • (5.2)有效配置檔案
            • 使用者宿主目錄下的初始配置檔案隻對目前使用者有效(~為目前賬号的家目錄)
            • 全局配置檔案對所有使用者有效
            • 更改全局配置,使每個使用者下的/bin/ls -lh指令都改成myls
          • (5.3)PATH變量用于設定可執行程式的預設搜尋路徑
  • 四、組賬号檔案
    • 1、組賬号檔案
    • 2、 添加組賬号 groupadd
            • 示例:添加一個GID為666的wangwu組賬戶
    • 3、添加删除組成員 gpasswd
  • 五、查詢賬号資訊
    • 1、 查詢使用者所屬的組 groups
    • 2、查詢使用者身份辨別 id
    • 3、查詢使用者帳号的詳細資訊 finger
    • 4、 w、who、 users 指令
  • 六、檔案/目錄的權限和歸屬
    • 1、檔案/目錄的權限
          • 通路權限
          • 歸屬(是以權)
    • 2、檢視檔案/目錄的權限和歸屬
    • 3、設定目錄和檔案的權限 chmod
          • 第一種:
          • 第二種:
    • 4、設定目錄和檔案的歸屬 chown
    • 5、設定目錄和檔案的預設權 umask
          • umask作用
  • 七、總結

一、使用者賬号群組賬号概述

1、使用者賬号

(1)超級使用者:root 使用者是 Linux 作業系統中預設的超級使用者賬号,對本主機擁有最高的權限。系統中超級使用者是唯一的。

(2)普通使用者:由root使用者或其他管理者使用者建立,擁有的權限會受到限制,一般隻在使用者自己的宿主目錄中擁有完整權限。

(3)程式使用者:在安裝Linux作業系統及部分應用程式時,會添加一些特定的低權限使用者賬号,這些使用者一般不允許登入到系統,僅用于維持系統或某個程式的正常運作,如 bin、daemon、ftp、mail 等。

2、組賬号

(1)基本組(私有組):基本組賬号隻有一個,一般為建立使用者時指定的組。

在/etc/passwd檔案中第4字段記錄的即為該使用者的基本組 GID 号。

(2)附加組(公共組):使用者除了基本組以外,額外添加指定的組。

3、UID和GID

UID:使用者辨別号

GID:組辨別号

root 使用者賬号的 UID和GID 号為固定值 0

程式使用者賬号的 UID和GID 号預設為 1~499

普通使用者的 UID和GID 号預設為500~60000

二、使用者賬号檔案

1、使用者賬号檔案 /etc/passwd

儲存使用者名稱、宿主目錄、登入Shell 等基本資訊

檔案位置:/etc/passwd

每一行對應一個使用者的帳号記錄

指令格式

[[email protected]~]# head-2 /etc/passwd

root: x:0:0:root:/root:/bin/bash(root:後面沒用空格)

bin: x:1:1:bin:/bin:/sbin/nologin(bin:後面沒用空格)

使用者賬号檔案 /etc/passwd

基于系統運作和管理需要,所有使用者都可以通路passwd檔案中的内容,但是隻有root使用者才能進行更改。

在早期的UNIX作業系統中,使用者帳号的密碼資訊是儲存在passwd檔案中的,不法使用者可以很容易的擷取密碼字串并進行暴力破解,是以存在一定的安全隐患。後來經改進後,将密碼轉存入專門的shadow檔案中,而passwd檔案中僅保留密碼占位符"x"

指令格式

root: x:0:0:root:/root:/bin/bash(root:後面沒用空格)

字段1 使用者帳号的名稱 (root)
字段2 使用者密碼占位符“x”(x)
字段3 使用者帳号的UID号(0)
字段4 所屬基本組帳号的GID号(0)
字段5 使用者全名(root)
字段6 宿主目錄(/root)
字段7 登入Shell資訊(/bin/bash為可登陸系統,/sbin/nologin和/bin/false為禁止使用者登陸系統)

注:字段7中/bin/nologin登入時被拒絕,有提示拒絕登入;/bin/false 沒有提示

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結
使用者賬号檔案 /etc/shadow

儲存使用者的密碼、賬号有效期等資訊

檔案位置: /etc/shadow

每一行對應一個使用者的密碼記錄

指令格式

[[email protected]~]# head-2 /etc/shadow

[[email protected]]# tail -1 /etc/shadow

使用者賬号檔案 /etc/shadow

預設隻有root使用者能夠讀取shadow檔案中的内容,且不允許直接編輯該檔案中的内容。

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結
字段1 使用者帳号的名稱
字段2 使用MD5加密的密碼字串資訊,當為"*“或”! "時表示此使用者不能登入到系統。若該字段内容為空,則該使用者無須密碼即可登入系統
字段3 上次修改密碼的時間,表示從1970年01月01日算起到最近一次修改密碼時間隔的天數
字段4 密碼的最短有效天數, 自本次修改密碼後,必須至少經過該天數才能再次修改密碼。預設值為0,表示不進行限制
字段5 密碼的最長有效天數, 自本次修改密碼後,經過該天數以後必須再次修改密碼。預設值為99999,表示不進行限制
字段6 提前多少天警告使用者密碼将過期,預設值為7
字段7 在密碼過期之後多少天禁用此使用者
字段8 帳号失效時間,此字段指定了使用者廢棄的天數(從1970年01月01日起計算) ,預設值為空,表示賬号永久可用。
字段9 保留字段(未使用)

三、使用者賬号

1、添加使用者賬号 useradd 或者 adduser

在/etc/passwd 檔案和/etc/shadow 檔案的末尾增加該使用者賬号的記錄。

若未明确指定使用者的宿主目錄,則在/home目錄下自動建立與該使用者賬号同名的宿主目錄,并在該目錄中建立使用者的各種初始配置檔案。

若沒有明确指定使用者所屬的組,則自動建立與該使用者賬号同名的基本組賬号,組賬号的記錄資訊将儲存到/etc/group 和/etc/gshadow 檔案中。

在使用 useradd或者adduser添加一個使用者的時候,是不能進行任何操作的,因為沒有将這個使用者進行激活。隻有給這個使用者配置一個密碼之後才能被激活,然後才能進行操作。

指令格式:useradd [選項] 使用者名

常用選項:

-u 指定使用者的 UID 号,要求該 UID 号碼未被其他使用者使用
-d 指定使用者的宿主目錄位置(當與-M 一起使用時,不生效)
-e 指定使用者的賬戶失效時間,可使用 YYYY-MM-DD 的日期格式。
-g 指定使用者的基本組名(或使用 GID 号),對應的組名必須已存在。
-G 指定使用者的附加組名(或使用 GID 号),對應的組名必須已存在。
-M 不建立宿主目錄。
-s 指定使用者的登入 Shell,(比如/bin/bash為可登陸系統,/sbin/nologin和/bin/false為禁止使用者登陸系統)。

例如:

useradd -d /admin -g wheel -G root admin1

useradd -e 2020-12-31 -s /sbin/nologin admin2

添加使用者賬号wangwu,同時建立了使用者的目錄

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

2、設定/更改使用者密碼passwd

root使用者可以指定使用者名作為參數,對指定賬号的密碼進行管理;不指定使用者名時,修改目前賬号的密碼。

普通使用者卻隻能執行單獨的"passwd"指令修改自己的密碼。

指令格式:passwd [選項] 使用者名

常用選項:

-d 清空指定使用者的密碼,僅使用使用者名即可登入系統
-l 鎖定使用者賬戶,鎖定的使用者賬号将無法再登入系統
-S 檢視使用者賬戶的狀态(是否被鎖定)
-u 解鎖使用者賬戶(-u解鎖時,如果沒有密碼會提示,需要使用-f強制解鎖)

設定密碼

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

清空密碼後可直接登入

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

密碼清除後,直接點選賬号即可登入。

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

鎖定zhangsan的密碼并檢視是否已鎖定

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

鎖定後登入界面賬号不見了,就算輸入賬号密碼也無法登入

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

解鎖zhangsan,密碼為空需要加上-f

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

解鎖後,登入界面上賬号又回來了,也可以登入了。

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

3、修改使用者賬号的屬性 usermod

指令格式:usermod [選項] 使用者名

常用選項:

-u 修改使用者的 UID 号
-d 修改使用者的宿主目錄位置
-e 修改使用者的賬戶失效時間,可使用 YYYY-MM-DD 的日期格式
-g 修改使用者的基本組名(或使用 GID 号)
-G 修改使用者的附加組名(或使用 GID 号)
-s 指定使用者的登入 Shell
-l 更改使用者賬号的登入名稱
-L 鎖定使用者賬戶
-U 解鎖使用者賬戶

将zhengsan使用者的登入名更改為lisi

指令格式:usermod -l lisi zhengsan

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

4、 删除使用者賬号 userdel

指令格式:userdel [-r] 使用者名

添加“-r”選項時可以将該使用者的宿主目錄一并删除

建立ceshi賬号,并使用-r删除,可以發現宿主目錄被删

建立ceshi賬号,并使用-r删除,可以發現宿主目錄被删

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

如果要删除的宿主目錄中包含其他的賬号,那麼宿主目錄不會被删除

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

5、使用者賬号的初始配置檔案

(5.1)檔案來源

useradd 指令添加一個新的使用者賬号後在該使用者的宿主目錄中建立一些初始配置檔案。這些檔案來自于賬号模闆目錄/etc/skell,基本上都是隐藏檔案。

(5.2)有效配置檔案

使用者宿主目錄下的初始配置檔案隻對目前使用者有效(~為目前賬号的家目錄)

~/.bash_profile #此檔案中的指令将在該使用者每次登入時被執行,它會設定一些環境變量,并且會調用該使用者的~/.bashrc檔案

~/.bashrc #此檔案中的指令會在每次打開新的bash shell時(也包括登入系統)被執行,并且會調用/etc/bashrc檔案

~/.bash_logout #此檔案中的指令将在使用者每次登出或退出bash shell時執行

全局配置檔案對所有使用者有效

/etc/profile #這個檔案是為系統全局變量配置檔案,可通過重新開機系統或者執行source /etc/profile 指令使profile檔案被讀取

/etc/profile.d #這個檔案實際上是/etc/profile的子目錄,存放的是一些應用程式所需的啟動腳本

/etc/bashrc #每一個運作bash shell的使用者都會執行此檔案,可通過執行bash 指令打開一個新的bash shell時,使 bashrc檔案被讀取

更改全局配置,使每個使用者下的/bin/ls -lh指令都改成myls

vim /etc/bashrc

alias myls=’/bin/ls -lhr’

bash 切換到bash的子程序中

type myls

exit 退出子程序

(5.3)PATH變量用于設定可執行程式的預設搜尋路徑

PATH 生效的原理:

每次啟動系統的時候會初始化指令,會執行/etc/profile和~/.bash_profile。/etc/profile會将路徑/usr/local/bin 、/usr/bin、/usr/local/sbin 、/usr/sbin 追加到PATH中去。然後調用 /etc/profile.d 目錄下的腳本。

四、組賬号檔案

1、組賬号檔案

/etc/group:儲存組帳号基本資訊

/etc/gshadow:儲存組帳号的密碼資訊

[[email protected] home]#grep “ceshi1” /etc/group

ceshi: x:1002:ceshi1

ceshi1: x:1003:

字段1:組帳号的名稱

字段2:占位符“x”

字段3:組賬号的GID号

字段4:組賬号包含的使用者成員(一般不包括基本組對應的使用者帳号),多個成員之間以逗号“,”分隔

2、 添加組賬号 groupadd

groupadd -g 1000 market

添加組賬号market

-g:指定GID号

tail -1 /etc/group

market: x:1000:

示例:添加一個GID為666的wangwu組賬戶

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

3、添加删除組成員 gpasswd

指令格式:gpasswd [選項] 組賬号名

常用選項:

-a:向組内添加一個使用者

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

-d:從組内删除一個使用者成員

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

-M:定義組成員清單,以逗号分隔

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

五、查詢賬号資訊

1、 查詢使用者所屬的組 groups

指令格式:groups [使用者名]

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

2、查詢使用者身份辨別 id

指令格式:id [使用者名]

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

3、查詢使用者帳号的詳細資訊 finger

需要先進行安裝finger軟體包

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結
Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

指令格式:finger [使用者名]

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

4、 w、who、 users 指令

查詢已登入到主機的使用者資訊

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

通常使用tty來簡稱各種類型的終端裝置,,Centos7系統, tty1表示圖形界面,,tty2-tty6表示文字界面,可以用ctrl+Alt+F1-F6切換。

按Ctrl+Alt+F2登陸,執行w指令,檢視使用的終端就是tty2

pts說明是用遠端工具連接配接的,比如xshell,後面的數字代表登入的時間順序,越小證明登入的越早

六、檔案/目錄的權限和歸屬

1、檔案/目錄的權限

通路權限

讀取r:允許檢視檔案内容、顯示目錄清單

寫入w:允許修改檔案内容,允許在目錄中建立、移動、删除檔案或子目錄

可執行x:允許運作程式、切換目錄

歸屬(是以權)

屬主:擁有該檔案或目錄的使用者帳号

屬組:擁有該檔案或目錄的組帳号

權限項 執行
字元表示 r w x -
數字表示(八進制 4 2 1

2、檢視檔案/目錄的權限和歸屬

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

3、設定目錄和檔案的權限 chmod

第一種:

chmod [ugoa…][±=][rwx] 檔案或目錄

“ugoa”表示該權限設定所針對的使用者類别。“u”代表檔案屬主,“g”代表檔案屬組内的使用者,“o”代表其他任何使用者,“a”代表所有使用者(預設時為a)。

“±=”表示設定權限的操作動作。“+”代表增加相應權限,“-”代表減少相應權限,“=”代表僅設定對應的權限。

“rwx”是權限的字元組合形式,也可以拆分使用,如“r”“rx”等。

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結
第二種:

chmod nnn 檔案或目錄

“nnn”表示三位八進制數

常用選項

-R:遞歸修改指定目錄下所有子目錄及檔案的權限

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

4、設定目錄和檔案的歸屬 chown

chown 屬主 檔案或目錄

chown :屬組 檔案或目錄

chgrp 屬組 檔案或目錄

chown 屬主:屬組 檔案或目錄

chown 屬主.屬組 檔案或目錄

-R:遞歸修改指定目錄下所有子目錄及檔案的歸屬

5、設定目錄和檔案的預設權 umask

umask作用

指定目前使用者在建立檔案或目錄時的權限預設值

建立的檔案或者目錄的權限為預設最大權限減去umake (普通檔案的最大預設權限為6, 目錄的最大預設權限為7)

1.umask設定:umask 022

2.umask檢視:umask

Linux基礎 linux賬号及權限管理一、使用者賬号群組賬号概述二、使用者賬号檔案三、使用者賬号四、組賬号檔案五、查詢賬号資訊六、檔案/目錄的權限和歸屬七、總結

七、總結

使用者賬号管理(useradd、passwd、usermod、userdel)

組賬号管理(groupadd、gpasswd.groupdel)

使用者賬号檔案與組賬号檔案

查詢賬号相關資訊的指令(groups.id、finger、w)

設定目錄與檔案權限(chmod)

設定目錄與檔案歸屬(chown)