溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)下如何實(shí)現(xiàn)用戶管理

發(fā)布時(shí)間:2021-12-02 11:43:19 來源:億速云 閱讀:148 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)linux系統(tǒng)下如何實(shí)現(xiàn)用戶管理,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

    一、用戶及用戶組存在的意義

    1)用戶存在的意義

    系統(tǒng)的資源是有限的,如何合理分配系統(tǒng)資源?

    1.身份 account

    2.授權(quán) author

    3.認(rèn)證 auth

    以上3個(gè) 'a' 稱為3A機(jī)制,3A機(jī)制組成系統(tǒng)中最底層的安全架構(gòu)。

    2)用戶組存在的意義

    用戶組是一個(gè)邏輯容器,對(duì)用戶進(jìn)行歸類和統(tǒng)一授權(quán)。

    簡單說用戶組就像是我們?cè)趯W(xué)校的時(shí)候的班級(jí)或者社團(tuán)組織一樣,你在的班級(jí)被賦予了什么權(quán)利,你在社團(tuán)中的部門有什么權(quán)力,那你就有什么權(quán)利。這樣做方便了權(quán)力的統(tǒng)一下放。

    二、用戶及用戶組在系統(tǒng)中存在的方式

    因?yàn)橛?jì)算機(jī)對(duì)數(shù)字敏感,而我們?nèi)藢?duì)名稱比較敏感,利用這個(gè)特性我們?cè)谟?jì)算機(jī)內(nèi)部可以用數(shù)字和字符串相關(guān)聯(lián)的形式存儲(chǔ)用戶。

    我們知道,在Linux中一切都是文件,所以用戶也不例外,我們所說的用戶和用戶組其實(shí)也就是文件中的一條字符串。

    用戶是在/etc/passwd文件中的一行字符
    用戶組是在/etc/group文件中的一行字符
    vim /etc/passwd   用此命令可以查看passwd文件內(nèi)容,進(jìn)而得知用戶信息
    vim /etc/group    用此命令可以查看group文件內(nèi)容,進(jìn)而得知用戶組信息

    但是在文件中查看用戶或用戶組的id信息終究有些麻煩,Linux給我們提供了這樣的命令方便我們查看用戶的相關(guān)信息:

    whoami  查看當(dāng)前用戶名稱
    id  [參數(shù)][用戶名]  查看用戶的id信息,用戶名缺省則查看當(dāng)前用戶
     
        -u查看用戶的用戶id
        -g查看用戶的主組id
        -G查看用戶所有組id
        -n顯示名稱,不能單獨(dú)使用,需要和上面的命令連用來顯示信息
     
     
    用戶id范圍:
        0:超級(jí)用戶id
        1-999:Linux系統(tǒng)自用id
        1000-65535:用戶級(jí)id
                
                以上id信息都被記錄在/etc/login.defs

    三、用戶涉及到的系統(tǒng)配置文件

    /etc/passwd        用戶身份信息文件

    passwd中的字符串意義
    用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認(rèn)shell

    /etc/group        組身份信息文件

    組名稱:組密碼:組id:組的附加成員

    /etc/skel/.*        用戶環(huán)境配置文件模板

    /etc/shadow        用戶認(rèn)證信息文件

    /home/username        用戶家目錄

    /var/spool/mail/username        用戶郵箱文件

    四、用戶相關(guān)操作

    1)用戶和用戶組建立及刪除

    我們可以用watch命令來監(jiān)控用戶的創(chuàng)建和刪除

    watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"

    用戶建立命令useradd:

    useradd username    ##用戶建立
            -u id username        ##指定用戶uid
            -g id username        ##指定主組id
            -G id username        ##指定附加組id
            -d dir username       ##指定用戶的家目錄
            -M     username       ##創(chuàng)建用戶時(shí)不自動(dòng)創(chuàng)建家目錄
            -c word username      ##創(chuàng)建用戶時(shí)指定用戶說明
            -s shell username     ##指定shell
    userdel username    ##用戶刪除
            -r username           ##刪除用戶同時(shí)刪除家目錄和系統(tǒng)配置文件
    groupadd groupname  ##組建立
             -g id groupname      ##指定組id
    groupdel groupname  ##組刪除

    2)用戶和用戶組的信息管理

    有時(shí)候我們?cè)?a title="服務(wù)器" target="_blank" href="http://www.kemok4.com/">服務(wù)器的使用過程中需要更改用戶的相關(guān)屬性,雖然我們知道在/etc/passwd文件中用戶是以字符串的形式存儲(chǔ),并且知道字符串的意義:

    用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認(rèn)shell

    那么理所當(dāng)然我們就可以用root用戶修改這些字段達(dá)到更改用戶信息的目的,但是在實(shí)際應(yīng)用中我們并不會(huì)這么做,而是使用一些相關(guān)命令:

    usermod [選項(xiàng)] [參數(shù)] [username]
     
    [選項(xiàng)]
            -l    #修改用戶名稱
            -u    #修改用戶的uid
            -g    #修改用戶主組id
            -G    #修改用戶附加組身份
            -aG   #添加用戶附加組身份
            -c    #更改用戶說明文字
            -d    #更改用戶家目錄指向
            -md   #同時(shí)更改家目錄指向和家目錄名稱
            -s    #更改默認(rèn)shell
            -L    #凍結(jié)賬號(hào)
            -U    #解鎖賬號(hào)

    我們的密碼信息存儲(chǔ)在shadow文件中,shadow內(nèi)容:

    用戶名:加密密碼:最后一次修改時(shí)間:最小修改時(shí)間間隔:密碼有效期:密碼需要變更前的警告天數(shù):密碼過期后的寬限時(shí)間:賬號(hào)失效時(shí)間:保留字段

    我們可以用passwd命令來修改密碼相關(guān)屬性信息

    passwd [選項(xiàng)] [參數(shù)] [username]
    如果選項(xiàng)和參數(shù)缺省則修改'username'的密碼
     
    [選項(xiàng)]
            -S    #查看密碼狀態(tài)
            -l    #凍結(jié)賬號(hào)認(rèn)證
            -u    #解鎖賬號(hào)認(rèn)證
            -d    #刪除用戶密碼
            -e    #修改默認(rèn)使用時(shí)間為0
            -n    #設(shè)置最短使用時(shí)間
            -x    #設(shè)置密碼過期時(shí)間
            -w    #設(shè)置過期警告時(shí)間
            -l    #設(shè)置非活躍天數(shù)
    change -d 0 [username]    #必須修改密碼才能登陸
    change -E "xxxx-xx-xx" [username]    #設(shè)置凍結(jié)日期

    五、用戶權(quán)力下放

    我們?cè)趯?shí)際中使用服務(wù)器,經(jīng)常使用到權(quán)力下放,這可以讓我們以更高的權(quán)限執(zhí)行一些命令,例如我們可以用權(quán)力下放使普通用戶以root身份運(yùn)行一些命令,這樣我們不用登錄root賬號(hào),在保證了系統(tǒng)安全的同時(shí)也達(dá)到了我們的目的。

    授權(quán)方法:

    我們可以用visudo命令來修改/etc/sudoers文件(當(dāng)然我們也可以用vi或者vim修改,但是vi和vim不提供語法檢測,當(dāng)我們錯(cuò)誤修改文件之后不方便錯(cuò)誤查找)

    為了方便,我們約定俗成的在文件的100行左右添加權(quán)力下放:

    username        hostname=(newusername)        [NOPASSWD:] /command, /command1

    六、文件權(quán)限查看和讀取

    1)權(quán)限查看

    ls -l file        #查看文件權(quán)限
    ls -ld dir        #查看目錄權(quán)限

    文件權(quán)限的信息分為三大類ugo

    u代表user也就是文件的所有者
    g代表group也就是文件的擁有組
    o代表other也就是其他人,和文件的歸屬?zèng)]有關(guān)系的人
    每個(gè)大類型中擁有權(quán)力的標(biāo)志位,也就是rwx
    r代表read也就是讀權(quán)限
    w代表write也就是寫權(quán)限
    x代表執(zhí)行權(quán)限

    我們可以用chmod命令來修改文件相關(guān)權(quán)限信息

    chmod [ugo][+-=][rwx] [filename/dirname] #通過表達(dá)式來賦予權(quán)限
     
    chmod [xxx] [filename/dirname]    #通過數(shù)字來賦予權(quán)限
     
    通過對(duì)布爾量的理解我們可以對(duì)rwx三位進(jìn)行二進(jìn)制轉(zhuǎn)8進(jìn)制的轉(zhuǎn)換
    分別
    r-4
    w-2
    x-1

    S權(quán)限

    可以用字符串表達(dá)式的方式設(shè)置S權(quán)限,S權(quán)限的作用:

    當(dāng)對(duì)文件的u位設(shè)置s權(quán)限的時(shí)候,表示文件執(zhí)行者在執(zhí)行時(shí)會(huì)獲得文件的所有者身份,它只能用在二進(jìn)制文件上
    當(dāng)對(duì)文件的g位設(shè)置s權(quán)限的時(shí)候,表示文件的執(zhí)行者會(huì)獲得文件所屬組身份,如果用在目錄上那么在目錄下創(chuàng)建的文件的所屬組將會(huì)變成此目錄
    Sticky Bit的作用只對(duì)目錄生效,效果是在當(dāng)前目錄下只有文件的所有者可以刪除自己的文件

    關(guān)于“l(fā)inux系統(tǒng)下如何實(shí)現(xiàn)用戶管理”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI