linux中用戶和用戶組的管理

一、安全上下文

    Linux中,能夠實現資源使用和完成任務的主體是應用程序進程,進程是以發起者的身份運行的,每個進程的擁有者就是它的發起者,進程會被標記上發起者的身份信息用於驗證權限。當進程試圖訪問資源的時候,安全上下文(Secure Context)會比對進程的所有者和資源的所有者之間的關係。

    首先,查看進程的所有者是否和資源所有者爲同一用戶,若是,則按照所有者擁有的權限來使用資源;

    如果不是,則判斷進程的所有者是否屬於該資源所屬組的成員,若是,則按照所屬組的權限來使用資源;

    如果不是,就按照最爲普通的用戶權限來使用資源。


二、用戶賬戶:實現操作者和計算機交互式操作的基礎,是操作者的身份在滿足了驗證條件之後的計算機系統中的映射

    1.用戶賬戶分類

        超級用戶(管理員):root

        普通用戶:

            系統用戶(非登錄用戶):

                爲了保證安全,某些進程或服務必須以非管理員的用戶身份運行,這類非管理員用戶稱爲系統用戶,此類用戶一般不允許登錄到系統

            登錄用戶:

                能夠通過登錄行爲驗證身份而獲得資源訪問權限的用戶

    2.用戶賬戶的標識名稱

        登錄名稱:字符串標識

        UID:爲計算機操作系統提供的數字標識符號,範圍爲0~2^32-1

            超級用戶:

                用戶名:root

                UID:0

            普通用戶:

                系統用戶:

                    Centos 6-:1~499

                    Centos 7+:1~999

                登錄用戶:

                    Centos 6-:500+

                    Centos 7+:1000+

                    注意,60000+的UID通常需要用戶自定義標識


三、名稱解析

    在用戶使用登陸名稱登陸系統的時候系統會對登陸名稱使用解析庫(/etc/passwd)進行解析(名字 <---> UID)利用解析庫完成認證機制,驗證登陸用戶輸入的登陸名稱是否存在。在系統確定用戶存在之後就會在用戶的認證信息庫(/etc/shadow)中查找用戶的信息,找到這個用戶的權限等信息後允許其登陸。

    默認的認證機制:密碼認證

    

    在linux中,保存到認證庫的密碼是經過單向加密算法處理過的,一共有六種,分別爲MD5、sha1、sha224、sha256、sha384、sha512,六種算法在認證庫中以$1~$6表示,加密算法會在你輸入的原始密碼後加上salt再進行加密計算,salt爲隨機字符串,認證庫中密碼的最終形態爲:算法 + salt + 單向加密的結果字符串

    

四、組賬戶:將多個用戶聯繫一起以便集中授權的容器


    1.組的分類

        超級用戶組

        普通用戶組

            系統用戶組

            登錄用戶組

    2.組賬戶的標識方法

        組賬戶名稱

        GID

            超級用戶組:0

            系統用戶組:

                CentOS 6-:1~499

                CentOS 7+:1~999

            登錄用戶組:

                CentOS 6-:500+

                CentOS 7+:1000+


    linux中,每個用戶賬戶必須至少屬於一個組,用戶賬戶的GID標識稱爲用戶的主要組(基本組),每個用戶必須要有且僅有一個主要組;用戶賬戶也可以添加多個附加組


五、與組相關的命令

    1.groupadd    創建一個新組

        -g GID    指定要創建組的GID

        -r        將組創建爲系統組,此時應該保證GID在系統組範圍內

    

    2.groupdel    刪除一個組

        如果一個組是某個用戶的主要組,則該組不能刪除


    3.groupmod

        -g GID    修改指定組的GID

        -n NAME   修改指定組的組賬戶名稱


六、與用戶賬戶相關的命令

    1.useradd     創建一個新用戶或更新默認新用戶信息

        -c        爲用戶添加註釋信息

        -d        爲用戶指定家目錄的路徑

        -e        設定用戶密碼的絕對過期時間

        -f        設定用戶密碼使用達到最大時間後的寬限期

        -g        爲用戶指明GID,如果不寫此選項,系統會創建一個與用戶名相同的組並將其設置爲用戶的主要組

        -G        爲用戶添加附加組

        -m        必須爲用戶創建家目錄

        -M        一定不爲用戶創建家目錄

        -r        創建系統用戶

        -s        爲用戶指定默認shell

        -u        爲用戶指定UID


    2.userdel     刪除用戶賬戶和相關文件

        -r        刪除用戶的同時刪除用戶的家目錄及用戶郵箱文件


    3.usermod

        -c        修改用戶註釋信息

        -d        修改用戶家目錄

        -e        修改用戶密碼過期的絕對日期

        -f        修改用戶密碼過期寬限期

        -g        修改用戶的主要組

        -G        修改用戶的附加組

        -l        修改用戶的登錄名

        -s        修改用戶的登錄shell    

        -u        鎖定用戶的UID

        -L        鎖定用戶

        -U        解鎖用戶


    4.passwd      修改用戶密碼相關信息

        -l        鎖定用戶

        -u        解鎖用戶

        -d        刪除用戶的密碼,也可用於解除用戶鎖定,因爲在認證庫中在密碼前表示鎖定用戶的!符號被一併刪除

        -e        直接設置用戶密碼過期

        -n        用戶密碼的最短使用時常,默認值爲0

        -x        用戶密碼的最長使用時常,默認值爲99999

        -w        用戶密碼過期之前多少天開始發送警告信息

        -i        用戶密碼過期之後的寬限期

        -S        查看用戶密碼的狀態信息


    5.chage       更改用戶密碼過期信息

        -d        上一次更改的日期

        -E        賬號到期的日期

        -I        密碼過期之後鎖定賬號的天數

        -l        列出用戶以及密碼的有效期

        -m        密碼可以更改至少需要多少天

        -M        密碼保持有效的最大天數

        -W        用戶密碼過期之前多少天開始發送警告信息

        

    6.chsh        更改賬戶shell,相當於usermod -s


    7.finger      查找並顯示用戶信息


    8.id          顯示用戶賬戶信息

        -u        顯示用戶有效的UID

        -g        顯示用戶有效的GID

        -n        顯示名稱


    9.su          切換用戶賬戶

        -,-l     以後面的用戶身份登錄到系統

        -c "COMMAND"     以前面指定的用戶身份運行COMMAND,不進行身份登錄切換

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章