天天看點

筆記之使用者組及其權限·

一、

3A認證:  authentication:認證

                    Authorization :授權

                    audition:審計

讀取、使用權限,對于自己的資源有全部的權限

兩級配置設定機制,管理功能薄弱

屬主,一般是資源的擁有者,

向檔案辨別他的屬主,屬組,和二者之外的其他使用者的對檔案通路權限,進而完成從使用者

到資源二者之間的權限的映射。

每個使用者對于資源通過認證,授權後,登入後都會記錄在日志中,為審計提供證據。

組是什麼?使用者組的意義?

使用者組,使用者容器。多個使用者組織成邏輯元件,進而使我們進行授權或者收回權限的時候比較容易操作。

使用者類别:

管理者

普通使用者:系統使用者,登入使用者

使用者辨別:UserID,UID

(開始是用16進制辨別的,管理者:0     普通使用者:1:65635

                     CentOS5~6        CentOS7

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

登入使用者:500-60000,  1000-60000

名稱解析:名稱轉換

Username<-->UID

根據名稱解析庫進行 :/etc/passwd  ,使用者其他的附加資訊。

組類别1:

管理者組

普通使用者組

       系統組

       登入組

組辨別:GroupID,GID

     管理者組:0

                 CentOS5~6        CentOS7

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

登入使用者組:500-60000,  1000-60000

名稱解析:groupname<-->gid

系統使用者組:/etc/group

組類别2:

         使用者的主組(基本組)

         使用者的附加組

組類别3:

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

        使用者公共組:組内包含了多個使用者;

認證資訊:

         通過比對事先存儲的,與登入時提供的資訊是否一緻,即驗證即可

         password:早期,賬号和密碼都存放在/etc/passwd ,不安全,現單獨存放/etc/shadow

                                                                                                                       組的密碼 :/etc/gshadow

密碼的窮舉:

在不使用漢字的情況下,一位的密碼128個,出去特殊字元,100個左右,

                                                 二位                                                           100的平方

                                                三位                                                             100的立方

加密算法————解密算法、窮舉算法, 

密碼不建議使用生日原因:從公元前算,利用窮舉的算法,通過計算機很容易算出來,字典工具:羅列出常用組合機制。

我們應該使用随機數,随機字元串。以檔案儲存在U盤中,

密碼使用1234,

惡意***破解密碼,一兩個月修改一下密碼

密碼的使用政策:

1、使用随機密碼;

2、最短長度不要低于8位;

3、應該使用大寫字母、小寫字母、數字和标點符号四類字元中至少三類;

4、定期更換;

不能明文存放,是加密的,加密是不可逆的

加密算法:

1、對稱加密:(知道算法,可逆很難。加密都是一些科學難題。 )加密和解密使用同一密碼

2、非對稱加密:加密和解密使用一對密鑰;公鑰、私鑰。

3、單向加密:隻能加密,不能解密:提取資料特征碼;

定長輸出:

雪崩效應:

[[email protected] ~]# echo "how are you" | md5sum

5ea0b7cb299e8c26b2d9c87039f5e7ad  -

[[email protected] ~]# echo "how are you?" | md5sum

ce55c98ac24d4c7764877fa58ab441ef  -

算法:

1、md5: message digest,128bits

2、sha1:secure hash algorithm,160bits

3、sha224、sha256、sha384、sha512

[[email protected] ~]#  useradd centos

[[email protected] ~]# useradd gentoo

[[email protected] ~]# passwd centos

更改使用者 centos 的密碼 。

新的 密碼:

無效的密碼: 密碼少于 8 個字元

重新輸入新的 密碼:

passwd:所有的身份驗證令牌已經成功更新。

[root[email protected] ~]# passwd gentoo

更改使用者 gentoo 的密碼 。

新的 密碼:

無效的密碼: 密碼少于 8 個字元

重新輸入新的 密碼:

passwd:所有的身份驗證令牌已經成功更新。

[[email protected] ~]# tail /etc/shadow

pulse:!!:16778::::::

gdm:!!:16778::::::

rpcuser:!!:16778::::::

nfsnobody:!!:16778::::::

postfix:!!:16778::::::

sshd:!!:16778::::::

tcpdump:!!:16778::::::

mageedu:$6$1eWrOetY$DfLZgquGiOaNkwpEF4ItMipz.1kpn7Q.s6oXyoW2bALkWesRWHCCACICkJ.2zBXDbwEw0ibR.wxStLI41ZhfF1:16778:0:99999:7:::

centos:$6$T7u/drJk$kyYdkBmDJqbPuIfaxN1wZJtH8.nxIQS.pv5uoKjSMH.vIKmIn7PpxQK6Hp.SWA5OqYFsGwC9V9VeF8dCfOUJV.:16781:0:99999:7:::

gentoo:$6$xdzxBsIf$9fqZAiIYNFNUDbpaJ7RCz1Y14/8BxPn8Od0x8A2pUS3kChnnIa.Gfs5A8tx8xKIumO.n0RbipzUcMMfJL6JzP1:16781:0:99999:7:::

第2個”$“和第三個之間是”salt“|後面的是真正的密碼字元串。

在計算之時加入salt,上面建立的使用者的密碼一樣,加密算法一樣,由于加入随機數,密文不同,第二次随機數不再随機,通過認證,确認登入。

/etc/passwd:使用者的資訊庫

name:使用者名

passwd:可以是加密的密碼,也可以是占位符x

UID:

GID:使用者所屬的主組的Id号

GECOS:注釋資訊

directory:使用者的家目錄;

Shell:使用者的預設shell,登入時預設shell程式

/etc/shadow 密碼

九個字段:

登入名

加密了的密碼

最後一次更改密碼的日期

密碼的最小使用期限

最大使用期限

密碼警告時間段

密碼禁用期

賬戶過期日期

保留字段:保留供将來使用

/etc/group:Group_name:password:GID:user_list

User_list:該組的使用者成員:以此組為附加組的使用者的使用者清單。

二、

Linux使用者群組管理

1、groupadd指令:添加組

Groupadd [opition] group-name

系統使用者不用登陸,程序一某個普通使用者的身份運作,

程序對檔案的通路權限,取決于發起此程序的使用者的權限

為了能夠讓背景程序或服務類程序以非管理者的身份進行,通常需要為此建立多個普通使用者,這類使用者不用登陸系統

groupadd指令:添加組  groupadd [選項] group_name

-g GID :指定GID:預設是上一個組的GID+1;

-r :建立系統組;

2、groupmod指令:修改組屬性

       groupmod [選項]  GROUP

       -g GID

       -n new_name

3、 groupdel指令:删除組

1、useradd指令:建立使用者

 useradd  [選項] 登入名

-u,--uid UID :指定UID;

-g,--gid GROUP1[,GROUP2,…[,GROUPN]]]:指明使用者所屬的附加組,多個組用“,”隔開

-c,--comment COMMENT:指明注釋資訊

-d,--home HOME_DIR:以指定的路徑為使用者的家目錄;通過複制/etc/skel此目錄并重命名實作;指定的家目錄路徑如果事先存在,則不會為使用者複制環境配置檔案;

-s,--shell SHELL:指定使用者的預設shell,可用的所有shell清單存儲在/etc/shells檔案;

-r,--system:建立系統使用者;

-m,如果不存在,則建立使用者主目錄。骨架目錄中的檔案和目錄(可以使用-k選項指定),将會複制主目錄。預設上,如果沒有指定此選項并且CREATE_HOME沒有啟用,不會建立主目錄。

-M:不建立主目錄,即使系統在 /etc/login.defs 中的設定(CREATE_HOME)為yes。

-f:密碼過期後,賬戶被徹底禁用之前的天數。0表示立即禁用,-1表示禁用這個功能。如果未指定,useradd将使用 /etc/default/useradd中的INACTIVE指定的預設禁用周期,或者預設為-1.

注意:建立使用者是的諸多預設設定檔案為/etc/login.defs

useradd -D:顯示建立使用者的預設配置。

useradd -D 選項:修改預設選項的值。

 修改的結果儲存于/etc/default/useradd檔案中;

2、usermod指令

 usermod  [選項] 登入

-u,--uid  UID:修改使用者的的ID為此處指定的新UID;

-g,--gid GROUP:修改使用者所屬的基本組;

-G,--group1[,GROUP2,…[,GROUPN]]]:修改使用者所屬的附加組,原來的附加組會被覆寫

-a,--append:與-G一同使用,用于為使用者追加新的附加組;

-c,--comment COMMENT:修改注釋資訊:

-d,--home HOME_DIR:修改使用者的家目錄,使用者原來的檔案不會被轉移至新位置

-m,--move-home:隻能與-d選項一同使用,用于将原來的家目錄移動為新的家目錄

-l,--login NEW_LOGIN:修改使用者名

-s,--shell SHELL:修改使用者的預設shell;

-L,--lock:鎖定使用者密碼,即在使用者原來的媽媽字元串之前添加一個“!”

-U,--unlock:解鎖使用者的密碼

3、userdel

   userdel [選項] 登入

-r:删除使用者時一并删除其家目錄;

1、passwd指令:

Pass [-k] [-l] [-u] [-f] [-d][-e] [-n mindays] [-x maxdays] [-w warndays] [-I  inactivedays] [-S] [--stdin] [username]

(1) passwd:修改使用者自己的密碼;(2)passwd  USERNAME:修改指定使用者的密碼,但僅root由此權限;

-l,-u :鎖定和解鎖使用者,

-d,清除使用者密碼

-e DATE:過期期限,日期

-i DAYS:非活動期限

-n DAYS密碼的最短使用期限

-x DAYS:密碼的最長使用期限;

-w DAYS:警告期限

-- stdin:标準輸入 echo "PASSWORD" | passwd --stdin USERNAME

2、gpasswd指令

   gpasswd  [option] group

-a USERNAME  向組中添加使用者

-d   USERNAME  從組中删除使用者

 newgrp 指令:登入到一個新組

 newgrp [-] [group]

-:會模拟使用者重新登入以實作重新初始化其工作環境。

 chage [選項]  登入名

-d:

-d, --lastdayLAST_DAY

           Set the number of days since January 1st, 1970 when the password was last changed. The date may also be expressed in the format YYYY-MM-DD (or the format more commonly used in your area).

-E:

 -E, --expiredateEXPIRE_DATE

           Set the date or number of days since January 1, 1970 on which the user's account will no longer be accessible. The date may also be expressed in the format YYYY-MM-DD (or the format more commonly used in your area). A user whose account is locked must

           contact the system administrator before being able to use the system again.

           EXPIRE_DATE 設定為 -1 會移除賬戶的過期日期。

-W:

  -W, --warndaysWARN_DAYS

           Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire.

       如果沒有選擇任何選項,chage 會進入互動模式,以所有字段的目前值提示使用者。輸入一個新值可以更改這些字段,或者留白使用目前值。目前值出現在 [ ] 标記對裡。

-m:

 -m, --mindaysMIN_DAYS

           在密碼更改之間的最小天數設定為 MIN_DAYS。此字段中的 0值表示使用者可以在任何時間更改其密碼。

-M:

-M, --maxdaysMAX_DAYS

           Set the maximum number of days during which a password is valid. When MAX_DAYS plus LAST_DAY is less than the current day, the user will be required to change his/her password before being able to use his/her account. This occurrence can be planned for

           in advance by use of the -W option, which provides the user with advance warning.

id指令:顯示使用者的有效id ,

 id  [option]  … [USER]

 id -g   基本組ID

 id -u  僅顯示使用者的基本組ID;

 id -G  僅顯示使用者所屬的所有組的ID;

 id -n   顯示名字而非ID

Su指令:switch user

登入式切換:會通過重新讀取目标使用者的配置檔案來重新初始化

   su  -   USERNAME

    su  -l    USERNAME

非登入式切換:不會讀取目标使用者的配置檔案進行初始化

   su   USERNAME 

注意:管理者可無密碼切換至其他任何使用者;

  -c  'COMMAND':僅以指定使用者的身份運作此處指定的指令

其他幾個指令:

  chsh - change your login shell,用法:chsh [-s shell] [-l] [-u] [-v] [username]

chfn - change your finger information,用法:

  chfn  [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u] [-v]

       [username]

  finger(yum install finger )

 pwck - 檢查密碼檔案的完整性   用法: pwck [選項] [passwd [ shadow ]]

 grpck - 檢查組檔案的完整性  用法:grpck [選項] [group [ shadow ]]

指令總結:groupadd,groupmod,groupdel,useradd,usermod, userdel passwd,gpasswd,newgrp,id,su,chage

轉載于:https://blog.51cto.com/yzxyaow/1723047

繼續閱讀