Linux用戶賬號(hào)與分組

用戶賬號(hào)

與用戶賬號(hào)相關(guān)的兩個(gè)文件:

  • /etc/passwd
  • /etc/shadow
  1. /etc/passwd
root:x:0:0:root:/root:/bin/bash
fanyank:x:1000:1000:This is my username:/home/fanyank:/bin/bash
1       2   3    4             5               6          7
  • 1.賬號(hào)名稱
  • 2.密碼,加密后的位于/etc/shadow中
  • 3.UID,0為root,1 ~ 500為系統(tǒng)賬號(hào),500 ~ 65535位其他登錄賬號(hào)
  • 4.GID,初始用戶組的GID
  • 5.用戶信息說明
  • 6.用戶的主文件夾
  • 7.用戶登錄成功選擇的shell版本
  1. /etc/shadow
root:$6$0OJo2FY.$3beQsSvVUsJ8kgLsMBGczwiKk5jo2HwgP714fgnDB4R0kevyepVfoVvD/dg9VfaVVev8rdONZPe2ZP81MEHDr0:17388:0:99999:7:::
fanyank:$6$yaE0qxKD$K6BycZBR5SpeG202tH6yVS5..QxAAgTEoMc5rcVLKI.pERh.1ogMphoyhE/t9ftsXfeDHjl86WW1NJH80ZbR91:17388:0:99999:7:::
    1                                                                     2                                   3  4   5   6 789
  • 1.賬號(hào)名稱
  • 2.加密后的密碼(MD5加密)
  • 3.最近更改密碼的日期
  • 4.密碼不可變動(dòng)的天數(shù),0為可以隨時(shí)變動(dòng)
  • 5.密碼需要重新更改的天數(shù),999999為沒有這個(gè)限制
  • 6.密碼需要更改前提示的天數(shù)
  • 7.密碼過期后的寬限時(shí)間
  • 8.賬號(hào)失效日期
  • 9.保留

用戶組

與用戶組相關(guān)的兩個(gè)文件:

  • /etc/group
  • /etc/gshadow
  1. /etc/group:
root:x:0:
fanyank:x:1000:
    1   2   3   4
  • 1.用戶組名稱
  • 2.用戶組密碼
  • 3.GID
  • 4.此用戶組支持的賬號(hào)名稱

我們從上可以看出root和fanyank兩個(gè)用戶組并沒有包含任何賬號(hào),但是實(shí)際上root確實(shí)屬于root用戶組,fanyank也是屬于fanyank用戶組的,這是因?yàn)?root和fanyank這兩個(gè)賬號(hào)的初始用戶組為root和fanyank,初始用戶組是不需要填入的

下面引出兩個(gè)概念,初始用戶組(initial group)有效用戶組(effective group)

  • 初始用戶組: 當(dāng)用戶登錄系統(tǒng),立刻擁有這個(gè)用戶組的相關(guān)權(quán)限,在你新添加一個(gè)賬號(hào)時(shí),默認(rèn)會(huì)新建一個(gè)同賬號(hào)同名的用戶組,該用戶組也就是這個(gè)新建賬號(hào)的初始用戶組

  • 有效用戶組: 新建文件或目錄屬于有效用戶組,可以使用 groups 命令查看用戶所屬的全部分組,第一個(gè)即為該用戶的有效用戶組

  1. /etc/gshadow:
root:*::
fanyank:!::
    1   2 3 4
  • 1.用戶組名
  • 2.密碼,開頭為!表示無合法密碼,所以無用戶組管理員(很少用到)
  • 3.用戶組管理員的賬號(hào)
  • 4.屬于該組的賬號(hào),同/etc/group的4

使用newgrp切換有效用戶組

newgrp 組名

賬號(hào)管理

  1. 新增用戶:
useradd [-u UID] [-g 初始用戶組] [-G 次要用戶組] [-mM] [-c 說明] [-d 主文件夾絕對(duì)路徑] [-s shell] 用戶名
  • [-M]: 不創(chuàng)建用戶主文件夾
  • [-m]: 創(chuàng)建用戶文件夾
  1. 修改密碼:
passwd [--stdin]
  • [--stdin]: 來自前一個(gè)管道的數(shù)據(jù),作為密碼的輸入
eg: echo "haha" | passwd --stdin fanyank
passwd [-lu] [-S] 賬號(hào)
  • [-l]: 給賬號(hào)上鎖
  • [-u]: 給賬號(hào)解鎖
  • [-S]: 列出相關(guān)信息,即shadow中的大部分信息
  1. 修改賬號(hào)設(shè)置:
usermod [-cdegGlsuLU] 賬號(hào)
  • [-c]: 修改說明
  • [-d]: 修改主文件夾
  • [-g]: 修改初始用戶組,GID
  • [-G]: 修改次要用戶組
  • [-a]: 增加次要用戶組(與-G一起使用)
eg: usermod -a -G fanyanks fanyank
  • [-l]: 修改賬號(hào)名稱
  • [-s]: 修改用戶shell
  • [-u]: 修改用戶UID
  • [-L]: 鎖定賬號(hào)
  • [-U]: 解鎖賬號(hào)
  1. 刪除用戶:
userdel [-r] username
  • [-r]: 刪除用戶主文件夾

用戶組管理

添加用戶組:

groupadd [-g gid] [-r] 用戶組名

修改用戶組:

groupmod [-g gid] [-n group-name] 用戶組名

刪除用戶組

groupdel 用戶組名

用戶身份切換

su [-lm] [-c 命令] [username]
  • [-l]: 后接欲切換的賬號(hào)
  • [-m]: 使用目前的環(huán)境配置
  • [-c]: 僅執(zhí)行一次命令

單純的使用su切換,讀取變量方式為no-login shell,環(huán)境配置不會(huì)生效

sudo

sudo [-b] [-u 新用戶賬號(hào)]
  • [-b]: 將后續(xù)的命令讓系統(tǒng)自動(dòng)執(zhí)行,不與目前的Shell產(chǎn)生影響
  • [-u]: 接欲切換的用戶,無此項(xiàng)為root
eg: sudo -u fanyank touch /tmp/myfile
注意下例的寫法,sh -c "一串命令"
eg: sudo -u fanyank sh -c "mkdir ~fanyank/www;cd ~fanyank/www;echo 'This is index.html file' > index.html"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容