RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)用戶與用戶組管理

阿銘linux ? 來源:阿銘linux ? 作者:阿銘linux ? 2022-10-20 09:19 ? 次閱讀

關(guān)于這部分內(nèi)容,阿銘在Linux系統(tǒng)日常管理工作中用得并不多,但并不代表這部分內(nèi)容不重要。畢竟Linux系統(tǒng)是一個多用戶系統(tǒng),每個賬號用來干什么,我們必須了如指掌,因為這涉及安全問題。

安裝完系統(tǒng)后,我們就一直使用root賬號來操作,其實這并不安全。因為root賬號權(quán)限太高,容易誤操作。阿銘建議你以后在工作中盡量避免直接使用root賬號登錄系統(tǒng),使用普通用戶也可以完成大部分工作。

5.1認(rèn)識/etc/passwd/etc/shadow

這兩個文件可以說是Linux系統(tǒng)中最重要的文件之一。如果沒有這兩個文件或者這兩個文件出了問題,則無法正常登錄系統(tǒng)。下面咱們先來看看/etc/passwd文件,示例命令如下:

# cat /etc/passwd | head
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

看到上面那條命令,你是不是有點不知所以呢?其實,head前面的符號|,我們稱為管道符,它的作用是把前面的命令的輸出再輸入給后面的命令。管道符在第11章中還會介紹,阿銘用得也是蠻多的,請掌握它的用法。

5.1.1/etc/passwd解說

/etc/passwd由:分割成7個字段,每個字段的具體含義如下所示。

  • 第1個字段為用戶名(如第1行中的root就是用戶名),它是代表用戶賬號的字符串。用戶名中的字符可以是大小寫字母、數(shù)字、減號(不能出現(xiàn)在首位)、點或下劃線,其他字符不合法。雖然用戶名中可以出現(xiàn)點,但不建議使用,尤其是首位。另外,減號也不建議使用,容易造成混淆。

  • 第2個字段存放的是該賬號的口令。這里為什么是x呢?早期的Unix系統(tǒng)口令確實存放在這里,但基于安全因素,后來就將其存放到/etc/shadow中了,這里只用一個x代替。

  • 第3個字段為一個數(shù)字,這個數(shù)字代表用戶標(biāo)識號,也稱為uid。系統(tǒng)就是通過這個數(shù)字識別用戶身份的。這里的0就是root,也就是說我們可以修改test用戶的uid為0,那么系統(tǒng)會認(rèn)為root和test為同一個賬戶。uid的取值范圍是0~655 35(但實際上已經(jīng)可以支持到429 496 729 4),0是超級用戶(root)的標(biāo)識號,Rocky 8的普通用戶標(biāo)識號從1000開始。如果我們自定義建立一個普通用戶,你會看到該賬戶的標(biāo)識號是大于或等于1000的。

  • 第4個字段也是數(shù)字,表示組標(biāo)識號,也稱為gid。這個字段對應(yīng)著/etc/group中的一條記錄,其實/etc/group和/etc/passwd基本類似。

  • 第5個字段為注釋說明,沒有實際意義。通常記錄該用戶的一些屬性,例如姓名、電話、地址等。我們可以使用chfn命令來更改這些信息,這在稍后會介紹。

  • 第6個字段為用戶的家目錄,當(dāng)用戶登錄時,就處在這個目錄下。root的家目錄是/root,普通用戶的家目錄則為/home/username,用戶家目錄是可以自定義的。比如,建立一個普通用戶test1,要想讓test1的家目錄在/data目錄下,只要將/etc/passwd文件中對應(yīng)該用戶那行中的本字段修改為/data即可。

  • 最后一個字段為用戶的shell。用戶登錄后,要啟動一個進(jìn)程,用來將用戶下達(dá)的指令傳給內(nèi)核,這就是shell。Linux的shell有sh、csh、ksh、tcsh、bash等多種,而RHEL/Rocky的shell就是bash。查看/etc/passwd文件,該字段中除了/bin/bash,還有很多/sbin/nologin,它表示不允許該賬號登錄。如果想建立一個不允許登錄的賬號,可以把該字段改成/sbin/nologin,默認(rèn)是/bin/bash。

5.1.2/etc/shadow解說

/etc/shadow/etc/passwd類似,由:分割成9個字段,示例命令如下:

# cat /etc/shadow |head -n 3
root:$6$Wu/W4eryssf9B3xQ$jgNuM24oQ9boSTUPaeJ/79GFjLUX912bSDu3ak40qJIxNj4/SpaK.JXguDYowM00mt3/5tvNIoBJ7RNcpH2K.107:::
bin1807899999::
daemon1807899999::

每個字段的含義如下所示:

  • 1個字段為用戶名,與/etc/passwd對應(yīng)。

  • 2個字段為用戶密碼,是該賬號的真正密碼。這個密碼已經(jīng)加密,但是有些黑客還是能夠解密的。所以,將該文件屬性設(shè)置為000,但root賬戶是可以訪問或更改的。使用命令ls -l查看該文件的權(quán)限,示例命令如下:

    # ls -l /etc/shadow
    ---------- 1 root 689 12月 30
    07:46 /etc/shadow
  • 3個字段為上次更改密碼的日期,這個數(shù)字以197011日和上次更改密碼的日期為基準(zhǔn)計算而來。例如,上次更改密碼的日期為202011日,則這個值就是365* (2020-1970)+(2020-1970)/4+1=18263。如果是閏年,則有366天。

  • 4個字段為要過多少天才可以更改密碼,默認(rèn)是0,即不受限制。

  • 5個字段為密碼多少天后到期,即在多少天內(nèi)必須更改密碼。例如,這里設(shè)置成30,則30天內(nèi)必須更改一次密碼;否則,將不能登錄系統(tǒng)。默認(rèn)是99999,可以理解為永遠(yuǎn)不需要改。

  • 6個字段為密碼到期前的警告期限。若這個值設(shè)置成7,則表示當(dāng)7天后密碼過期時,系統(tǒng)就發(fā)出警告,提醒用戶他的密碼將在7天后到期。

  • 7個字段為賬號失效期限。如果這個值設(shè)置為3,則表示密碼已經(jīng)到期,然而用戶并沒有在到期前修改密碼,那么再過3天,這個賬號便失效,即鎖定。

  • 8個字段為賬號的生命周期。跟第3個字段一樣,這個周期是按距離197011日多少天算的。它表示的含義是,賬號在這個日期前可以使用,到期后賬號將作廢。

  • 最后一個字段作為保留用的,沒有什么意義。

上面關(guān)于密碼文件字段的介紹內(nèi)容偏多并不太容易記住,在這里阿銘提醒你,這部分內(nèi)容無需記住,只需要了解即可,因為在工作中我們幾乎用不到這些知識點。

5.2用戶和用戶組管理

上面介紹了/etc/passwd/etc/shadow這兩個文件的具體含義,但這只是理論知識,實際上,對于在Linux下用戶和組如何創(chuàng)建、刪除以及更改其屬性,我們一無所知。

5.2.1新增組的命令groupadd

命令groupadd的格式為 groupadd [-g GID] groupname,示例命令如下:

# groupadd grptest1
# tail -n1 /etc/group
grptest11002:

如果不加-g選項,則按照系統(tǒng)默認(rèn)的gid創(chuàng)建組。跟uid一樣,gid也是從1000開始的。我們也可以按如下操作自定義gid

# groupadd -g 1008 grptest2
# tail -n2 /etc/group
grptest11002:
grptest21008:

5.2.2刪除組的命令groupdel

有時,我們會有刪除組的需求,此時可進(jìn)行如下操作:

# groupdel grptest2
# tail -n2 /etc/group
slocate21:
grptest11002:

命令groupdel沒有特殊選項,但有一種情況不能刪除組,如下所示:

# groupdel user1
groupdel:不能移除用戶“user1”的主組

上例中,user1組中包含user1賬戶,只有刪除user1賬戶后才可以刪除該組。

5.2.3增加用戶的命令useradd

從字面意思上來看,useradd就是增加用戶,該命令的格式為useradd [-u UID] [-g GID] [-d HOME] [-M] [-s],其中各個選項的具體含義如下。

  • -u:表示自定義UID。

  • -g:表示使新增用戶屬于已經(jīng)存在的某個組,后面可以跟組id,也可以跟組名。

  • -d:表示自定義用戶的家目錄。

  • -M:表示不建立家目錄。

  • -s:表示自定義shell。

下面我們先來新建一個用戶test10,示例命令如下:

# useradd test10
# tail -n1 /etc/passwd
test10:x:1001:1001::/home/test10:/bin/bash
# tail -n1 /etc/group
test10:x:1001:

如果useradd不加任何選項,直接跟用戶名,則會創(chuàng)建一個跟用戶名同名的組。當(dāng)然,很多時候需要我們自己去定義uid、gid或者所屬的組,示例命令如下:

# useradd -u1005 -g 1006 -M -s /sbin/nologin user11
useradd:“1006”組不存在
# useradd -u1005 -g 1001 -M -s /sbin/nologin user11
# useradd -u1006 -g grptest1 user12
# tail -n2 /etc/passwd
user11:x:1005:1001::/home/user11:/sbin/nologin
user12:x:1006:1002::/home/user12:/bin/bash
# tail -n2 /etc/group
user1:x:1003:
test10:x:1001:

如果-g選項后面跟一個不存在的gid,則會報錯,提示該組不存在。剛剛上面說過,加上-M選項后,則不建立用戶家目錄,但在/etc/passwd文件中仍然有這個字段。如果你使用命令ls /home/user11查看一下,會提示該目錄不存在。所以,-M選項的作用只是不創(chuàng)建那個目錄。下面我們來查看user11的家目錄,會提示我們目錄不存在,示例命令如下:

# ls /home/user11
ls: 無法訪問/home/user11: 沒有那個文件或目錄

5.2.4刪除賬戶的命令userdel

命令userdel的格式為userdel [-r] username,其中-r選項的作用是,當(dāng)刪除用戶時,一并刪除該用戶的家目錄。下面我們先來看看user12的家目錄,示例命令如下:

# ls -ld /home/user12
drwx------ 2 user12 grptest1 62 1月   2 06:47  /home/user12

如果不加-r選項,則會直接刪除用戶user12,但保留其家目錄,如下所示:

# userdel user12
# ls -ld /home/user12
drwx------ 2 user12 grptest1 62 1月   2 06:47  /home/user12

此時user12的家目錄還在,那么我們再加上-r選項刪除user1用戶,如下所示:

# ls -ld /home/user1
drwx------ 2 user1 test10 62 12月 30
07:46  /home/user1
# userdel -r user1
# ls -ld /home/usre1
ls: 無法訪問/home/user1: 沒有那個文件或目錄

此時user1的家目錄已經(jīng)不復(fù)存在。


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209327
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    683

    瀏覽量

    22011

原文標(biāo)題:第6章 Linux系統(tǒng)用戶與用戶組管理(上)

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    禁止使用root用戶通過ssh遠(yuǎn)程登錄Linux

    1、背景描述 出于安全考慮,需要禁止使用root用戶通過ssh遠(yuǎn)程登錄Linux 禁用root用戶遠(yuǎn)程登錄后,需要提供一個權(quán)限用戶用于ssh遠(yuǎn)程登錄 2、創(chuàng)建擁有sudo權(quán)限的
    的頭像 發(fā)表于 12-21 16:25 ?166次閱讀
    禁止使用root<b class='flag-5'>用戶</b>通過ssh遠(yuǎn)程登錄<b class='flag-5'>Linux</b>

    Linux中的用戶與創(chuàng)建

    Linux中的用戶與創(chuàng)建 用戶的類型 超級管理用戶: 權(quán)限最高的用戶(uid:0) #uid:是
    的頭像 發(fā)表于 12-20 14:24 ?156次閱讀
    <b class='flag-5'>Linux</b>中的<b class='flag-5'>用戶</b>與創(chuàng)建

    Linux系統(tǒng)設(shè)置用戶密碼規(guī)則(復(fù)雜密碼策略)方法

    Linux系統(tǒng)下的用戶密碼的有效期 可以修改密碼可以通過login.defs文件控制。設(shè)置密碼過期期限(默認(rèn)情況下,用戶的密碼永不過期。) 編輯 /etc/login.defs 文件,
    的頭像 發(fā)表于 12-07 09:24 ?265次閱讀

    Linux用戶管理終極指南:從基礎(chǔ)到進(jìn)階

    1.用戶基本概述 1.什么是用戶? 用戶指的是能夠正常登錄Linux或Windows系統(tǒng)(可以理解為你租了房子,能夠正常入駐) F:那
    的頭像 發(fā)表于 12-04 11:42 ?172次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>用戶</b><b class='flag-5'>管理</b>終極指南:從基礎(chǔ)到進(jìn)階

    用戶管理全攻略之確保權(quán)限分配無懈可擊

    命令passwd 密碼生成工具openssl 創(chuàng)建命令groupadd 刪除命令groupdel 各配置文件說明 密碼復(fù)雜性 用戶概念 用戶
    的頭像 發(fā)表于 11-25 16:26 ?189次閱讀

    Linux學(xué)習(xí)之用戶管理

    Linux學(xué)習(xí)——用戶管理 1用戶/概覽 Linux系統(tǒng)
    的頭像 發(fā)表于 11-25 10:47 ?224次閱讀

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為
    的頭像 發(fā)表于 11-05 15:40 ?220次閱讀

    Linux用戶管理詳解

    用戶分為普通用戶和超級用戶,超級用戶在Windows系統(tǒng)中為Administrator在Linux
    的頭像 發(fā)表于 11-01 09:48 ?157次閱讀

    Linux文件權(quán)限詳解

    權(quán)限的意義在于允許某一個用戶或某個用戶組以規(guī)定的方式去訪問某個文件。
    的頭像 發(fā)表于 11-01 09:45 ?129次閱讀

    Linux用戶身份與進(jìn)程權(quán)限詳解

    在學(xué)習(xí) Linux 系統(tǒng)權(quán)限相關(guān)的主題時,我們首先關(guān)注的基本都是文件的 ugo 權(quán)限。ugo 權(quán)限信息是文件的屬性,它指明了用戶與文件之間的關(guān)系。但是真正操作文件的卻是進(jìn)程,也就是說用戶
    的頭像 發(fā)表于 10-23 11:41 ?333次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>用戶</b>身份與進(jìn)程權(quán)限詳解

    Linux高級文件系統(tǒng)管理詳解

    如果您的 Linux 服務(wù)器有多個用戶經(jīng)常存取數(shù)據(jù)時,為了維護(hù)所有使用者在硬盤容量的公平使用,磁盤配額 (Quota) 就是一項非常有用的工具,另外,如果你的用戶常常抱怨磁盤容量不夠用,那么更進(jìn)
    的頭像 發(fā)表于 07-16 16:31 ?352次閱讀

    vcenter5.5添加域用戶權(quán)限

    點擊系統(tǒng)管理 > vCenter Sign-on > 配置 ,切換到標(biāo)識源選項卡下,默認(rèn)地,登陸用戶)只有本地操作系統(tǒng)用戶
    的頭像 發(fā)表于 04-19 10:46 ?655次閱讀
    vcenter5.5添加域<b class='flag-5'>用戶</b>權(quán)限

    域環(huán)境中的用戶配置管理

    在域服務(wù)器打開組策略管理編輯器-安全設(shè)置-受限制的-添加組-輸入administrators-添加成員-選擇要添加的成員(testdomain admins)-應(yīng)用-在客戶機(jī)上面刷新策略
    的頭像 發(fā)表于 04-15 10:14 ?648次閱讀
    域環(huán)境中的<b class='flag-5'>用戶</b>與<b class='flag-5'>組</b>配置<b class='flag-5'>管理</b>

    RZ/V2H用戶手冊

    電子發(fā)燒友網(wǎng)站提供《RZ/V2H用戶手冊.pdf》資料免費下載
    發(fā)表于 02-25 09:18 ?0次下載
    RZ/V2H<b class='flag-5'>組</b><b class='flag-5'>用戶</b>手冊

    AWTK 開源串口屏開發(fā)(9) - 用戶和權(quán)限管理

    在AWTK串口屏中,內(nèi)置用戶管理和權(quán)限控制的模型,無需編碼即可實現(xiàn)登錄、登出、修改密碼、權(quán)限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下用戶
    的頭像 發(fā)表于 02-19 12:10 ?503次閱讀
    AWTK 開源串口屏開發(fā)(9) - <b class='flag-5'>用戶</b>和權(quán)限<b class='flag-5'>管理</b>
    RM新时代网站-首页