天天看點

Linux自學筆記——使用者群組管理

資源分派:

       Authentication:認證

       Authorization:授權

       Accouting:審計

              Audition

       token,identity(username/password)

linux使用者:username/UID

       管理者:root,0

       普通使用者:1-65535

              系統使用者:1-499,1-999

                     對守護程序擷取資源進行權限配置設定;

              登入使用者:500+,1000+

                     互動式登入;

Linux組:groupname/GID

       管理者組:root,0

       普通組:

              系統組:1-499, 1-999

              普通組:500+, 1000+

Linux安全上下文:

       運作中的程式:程序(process)

              以程序發起者的身份運作;

                     root:cat

                     tom:cat

              程序所能夠通路的所有資源的權限取決于程序的發起者的身份;

Linux組的類别:

       使用者的基本組(主組)

              組名同使用者名,且僅包含一個使用者:私有組

       使用者的附加組(額外組):

Linux使用者群組相關的配置檔案:

       /etc/passwd:使用者及其屬性資訊(名稱、UID、基本組ID等等);

       /etc/group:組及其屬性資訊;

       /etc/shadow:使用者密碼及其相關屬性;

       /etc/gshadow:組密碼及其相關屬性;

/etc/passwd:

       name:password:UID:GID:GECOS:directory:shell

       使用者名:密碼:UID:GID:GECOS:主目錄:預設shell

/etc/group:

       group_name:password:GID:user_list

       組名:組密碼:GID:以目前組為附加組的使用者清單(分隔符為逗号)

/etc/shadow                                                                root:$6$QBOOu5fJ9rGlA8mU$2Gi8zdRUONPxkaYhcwfR/cSangkqV0bnXnxMqrLNGU1xOfL5EmVfsKNz84Oop41THyXMUtzQsCsv80Bn7fwqe0::0:99999:7:::

使用者名:加密了的密碼:最近一次更改密碼的日期:密碼的最小使用期限:最大密碼使用期限:密碼警告時間段:密碼禁用期:賬戶過期日期:保留字段

  加密機制:

         加密:明文 à 密文

         解密:密文 à 明文

         單向加密:提取資料指紋

                md5:message digest ,128bits

                sha1:secure hash  algorithm,160bits

                sha224:224bits

                sha256:256bits

                sha384:384bits

                sha512:512bits

                雪崩效應:初始的條件的微小改變,将會引起結果的巨大改變;

                定長輸出:

  密碼的複雜性政策:

1.      使用數字、大寫字母、小寫字母及特殊字元中至少3種;

2.      足夠長;

3.      使用随機密碼;

4.      定期更換;不要使用最近曾經使用過的密碼;

使用者群組相關的管理指令:

使用者建立:useradd

       useradd [options]  LOGIN

              -u  UID:[UID_MIN,UID_MAX],定義在/etc/login.defs

              -g  GID:指明使用者的所屬基本組,可為組名,也可以為GID;

              -c “COMMENT”:使用者的注釋資訊;

              -d  /path/to/home_dir:以指定的路徑為家目錄;

              -s  SHELL:知名使用者的預設shell程式,可用清單在/etc/shells檔案中;

              -G  GROUP1[,GROUP2,…]:為使用者指明附加組;組必須事先存在;

              -r:建立系統使用者

                     Centos6:ID<500

                     Centos7:ID<1000

       預設值設定:/etc/default/useradd檔案中

組建立:groupadd

       groupadd  [option] … groupname

              -g GID: 指明GID号;[GID_MIN, GID_MAX]

              -r: 建立系統組;

                     CentOS 6: ID<500

                     CentOS 7: ID<1000

檢視使用者的相關的id資訊:id

       id  [option] … [user]

              -u:UID

              -g:GID

              -G:GROUPS

              -n:Name

切換使用者或以其他使用者身份執行指令:su

       su  [options]  [-]  [user  [args…]]

              切換使用者的方式:

                     su  username:非登入式切換,即不會讀取目标使用者的配置檔案;

                     su  - username:登入式切換,會讀取目标使用者的配置檔案;完全切換;

                     Note:root  su至其他使用者無需密碼;非root使用者切換時需要密碼;

              換個身份執行指令:

                     su [-] username  -c  ‘COMMAND’

              選項:

                     -l:“su -l  username”相當于“su  -  username”

使用者屬性修改:usermod

       usermod  [option]  login

              -u  UID:新的UID;

              -g  GID:新基本組

              -G  GROUP1[,GROUP2,…]:新附加組,原來的附加組将會被覆寫;若保留原有,則要同時使用-a選項,表示append

              -s  SHELL:新的預設shell

              c 'COMMENT':新的注釋資訊;

              -d HOME: 新的家目錄;原有家目錄中的檔案不會同時移動至新的家目錄;若要移動,則同時使用-m選項;

              -l login_name: 新的名字;

              -L: lock指定使用者

              -U: unlock指定使用者

              -e  YYYY-MM-DD: 指明使用者賬号過期日期;

              -f  INACTIVE: 設定非活動期限;

給使用者添加密碼:passwd

       passwd  [OPTION] username:修改指定使用者的密碼,僅root使用者權限

       passwd:修改自己的密碼;

              常用選項:

                     -l:鎖定指定使用者;

                     -u:解鎖指定使用者;

                     -n  mindays:指定最短使用期限;

                     -x  maxdays:最大使用期限

                     -w  warndays:提前多少天開始警告

                     -I  inactivedays:非活動期限

                     --stdin:從标準輸入接收使用者密碼:

                            echo “PASSWORD”| passwd  --stdin  USERNAME

删除使用者:userdel

       userdel  [option] …   login

              -r:删除使用者家目錄;

組屬性修改:groupmod

       groupmod  [option]…   group

              -n  group_name:新名字

              -g GID:新的GID;

組删除:groupdel

       groupdel  GROUP

組密碼:gpasswd

       gpasswd  [option]  GROUP

              -a  user:将user添加至指定組中;

              -d  user:删除使用者user的以目前組為組名的附加組;

              -A user1,user2,…:設定有管理權限的使用者清單

       newgrp指令:臨時切換基本組;

              如果使用者本不屬于此組,則需要組密碼;

修改使用者屬性:chage

       chage [OPTION]... LOGIN

              -d LAST_DAY

              -E, --expiredate EXPIRE_DATE

              -I, --inactive INACTIVE

              -m, --mindays MIN_DAYS

              -M, --maxdays MAX_DAYS

              -W, --warndays WARN_DAYS

權限管理:

檔案的權限主要針對三類對象進行定義:

       owner: 屬主, u

       group: 屬組, g

       other: 其他, o

每個檔案針對每類通路者都定義了三種權限:

       r: Readable

       w: Writable

       x: eXcutable

檔案:

              r: 可使用檔案檢視類工具擷取其内容;

              w: 可修改其内容;

              x: 可以把此檔案提請核心啟動為一個程序;

       目錄:

              r: 可以使用ls檢視此目錄中檔案清單;

              w: 可在此目錄中建立檔案,也可删除此目錄中的檔案;

              x: 可以使用ls -l檢視此目錄中檔案清單,可以cd進入此目錄;

       --- 000 0

       --x 001 1

       -w- 010 2

       -wx 011 3

       r-- 100 4

       r-x 101 5

       rw- 110 6

       rwx 111 7

例如:

              640: rw-r-----

              rwxr-xr-x: 755

修改檔案權限:chmod

chmod [OPTION]... OCTAL-MODE FILE...

              -R: 遞歸修改權限

chmod [OPTION]... MODE[,MODE]... FILE...

              MODE:

                     修改一類使用者的所有權限:

                            u=

                            g=

                            o=

                            ug=

                            a=

                            u=,g=

                     修改一類使用者某位或某些位權限

                            u+

                            u-

       chmod [OPTION]... --reference=RFILE FILE...

              參考RFILE檔案的權限,将FILE的修改為同RFILE;

修改檔案的屬主和屬組:

       僅root可用;

       修改檔案的屬主:chown

              chown [OPTION]... [OWNER][:[GROUP]] FILE...

                     用法:

                            OWNER

                            OWNER:GROUP

                            :GROUP

                     Note: 指令中的冒号可用.替換;

                     -R: 遞歸

              chown [OPTION]... --reference=RFILE FILE...

修改檔案的屬組:chgrp

      chgrp [OPTION]... GROUP FILE...

              chgrp [OPTION]... --reference=RFILE FILE...

              -R

檔案或目錄建立時的遮罩碼:umask

    FILE: 666-umask

          Note: 如果某類的使用者的權限減得的結果中存在x權限,則将其權限+1

DIR: 777-umask    

    umask: 檢視

    umask #: 設定

本文轉自 claude_liu 51CTO部落格,原文連結:http://blog.51cto.com/claude666/2061593,如需轉載請自行聯系原作者

繼續閱讀