iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
1
Software Development

如何使用 Linux 從土裡到冒出頭來系列 第 12

Day 12 使用者帳號管理

Day 12 使用者帳號管理

多人操作系統,是 Linux 多人多工的特點,所以一個系統裡,可能會有很多個群組、使用者帳號,分別可以做不一樣的設定權限。

以下操作使用 root權限操作。

指令選項
-c 備註文字
-d 指定使用者帳號登入時的家目錄
-D 變更預設值
-e 指定帳號的有效期限
-f 指定密碼過期後多少天關閉該帳號
-g 指定使用者所屬主要群組
-G 指定使用者所屬附加群組
-m 自動建立使用者的登入目錄
-M 不要自動建立使用者的登入目錄
-n 取消建立使用者名稱的群組
-r 建立管理者帳號
-s 指定使用者登入後所使用的 shell
-u 指定使用者 uid 編號

群組

使用者愈來愈多的時候,分群真的很重要,所以此項設計在系統內是不可或缺的。

新增群組【groupadd】

[root@localhost ~]# groupadd [參數] [編號] [群組名稱]

建立工程師群組

[root@localhost ~]# groupadd enginners

建立設計群組,群組編號為2001

[root@localhost ~]# groupadd --gid 2001 designers

修改群組資訊【groupmod】

[root@localhost ~]# groupmod [參數] [群組名稱]

修改群組編號:109

[root@localhost ~]# groupmod -g 109 test

修改群組名稱:test2

[root@localhost ~]# groupmod -n test2 test

一起修改
群組編號:110
群組名稱:test3

[root@localhost ~]# groupmod -g 110 -n test3 test

刪除群組【groupdel】

要刪除群組,前提是群組要是沒有人在這個群組裡,否則無法進行刪除。

[root@localhost ~]# groupdel [群組名稱]

建立群組專屬密碼【gpasswd】

[root@localhost ~]# gpasswd [群組名稱]

檢視所有群組

[root@localhost ~]# cat /etc/group

使用者帳號

帳號是每個使用者在操作系統的必要通行證。

新增使用者帳號【useradd】

[root@localhost ~]# useradd [選項] [群組名稱] [帳號名稱]

新增使用者帳號,不指定群組 + 不指定附加群組。

[root@localhost ~]# useradd sian

新增使用者帳號,加入 enginners 群組。

[root@localhost ~]# useradd -g enginners jimmy

建立使用者帳號,加入 enginners 群組,且加入 managers 附加群組。

[root@localhost ~]# useradd -g enginners -G managers faker

建立使用者帳號,使用者使用期限到 09月27日

[root@localhost ~]# useradd -e 2020-09-28 jack

設定使用者密碼【passwd】

[root@localhost ~]# passwd [使用者帳號]

設定好使用者帳號的密碼,帳號才會正式啟用。

[root@localhost ~]# passwd sian
更改使用者 sian 的密碼。
新 密碼:
再次輸入新的 密碼:
passwd:所有驗證 token 都已成功更新。

刪除使用者帳號【userdel】

userdel 意思是 User Delete。

[root@localhost ~]# userdel [使用者帳號]

刪除 sian 使用者帳號。
※ 注意:單純只有刪除帳號,不會刪除 /home/sian 的目錄,只能手動刪除使用者目錄。

[root@localhost ~]# userdel sian

刪除 sian 使用者帳號,且刪除使用者目錄。

[root@localhost ~]# userdel -r sian

修改使用者帳號【usermod】

[root@localhost ~]# usermod [選項] [參數] [使用者帳號]

使用者帳號sian 增加managers的附加群組

[root@localhost ~]# usermod -G managers sian

檢視所用使用者列表

/etc/passwd 路徑 儲存了系統帳號的資訊,包含自行建立的使用者帳號。

[root@localhost ~]# cat /etc/passwd
[root@localhost ~]# awk -F':' '{ print $1}' /etc/passwd
[root@localhost ~]# cut -d: -f1 /etc/passwd

查詢指定帳戶資訊【id】

id 指令主要查詢使用者帳號資訊,當建立一筆資料,可以使用此指令做確認。

※ 當建立帳號時,未指派帳號所屬群組的情況下,系統會自動建立一個同名的新群組,並指派一個未被使用的 uid 給使用者帳號。

[root@localhost ~]# id sian
uid=1001(sian) gid=1001(sian) groups=1001(sian)

參數

  •  -g--group  顯示使用者所屬群組編號。
  •  -G--groups  顯示使用者所屬附加群組編號。
  •  -n--name  顯示帳號、所屬群組、附加群組的名稱。
  •  -r--real  顯示實際編號。
  •  -u--user  顯示帳號編號。

顯示內容

  • uid 帳號編號(帳號)
  • gid 群組編號(群組名稱)
  • groups 附加群組編號(附加群組名稱)

查詢使用者帳號的群組

[root@localhost ~]# groups [帳號名稱]
帳號: 群組

查詢使用者帳號sian的群組資訊

[root@localhost ~]# groups sian
sian : sian

查詢當前

查詢當前登入工作中的使用者。

[root@localhost ~]# w

查詢自己所屬的群組

[root@localhost ~]# groups

查詢自己的詳細資訊

[root@localhost ~]# id

實戰操作

我們可以在 root 權限下簡單設計幾個群組管理。

群組1:managers (使用者:jay、jimmy、sherry)
群組2:engineers (使用者:jack、black)
群組3:designers (使用者:et、may)

其他設定:jimmy 附屬群組為 engineers

交給各位讀者去做看看。


上一篇
Day 11 檔案搜尋
下一篇
Day 13 目錄與檔案權限
系列文
如何使用 Linux 從土裡到冒出頭來30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言