Linux的用戶組和權限(一)

導讀:本章主要內容如下

      1.解釋Linux的安全模型

     2.解釋用戶賬號和組群賬號的目的

     3.用戶和組管理命令

     4.理解并設置文件權限

     5.默認權限

     6.特殊權限

     7.ACL

 

一、安全介紹 3A

     1.資源分派:

         Authentication :認證  (用戶名和對應口令)

         Authorization :授權   (不同的用戶權限不一樣)

         Accouting /Audition :審計


    2.所屬主和所屬組

        ? user(用戶) token令牌 ;identity身份

         Linux用戶:username UID(用戶標識號)

             管理員root UID=0

          普通用戶:1-65535

            系統用戶:1-499(centos6)1-999

              由系統保留,作為管理賬號,對守護進程獲取資源進行權限分配

                登錄用戶:500+(centos6) 1000+  交互式登錄

         ?group 組

        Linux組:Groupname GID(組標識號)

              管理員.:root, 0

             普通組

                系統組:1-499(centos 6);1-999(centos 7)

                普通組:500+ ; 1000+

             注意:在Linux中用戶名和組名可以相同,要小心使用,具體看命令。

         ?安全上下文

             運行中的程序:進程(process)

             以進程發起者的身份運行:

             進程所能夠訪問資源的權限取決于進程的運行者的身份 (和程序本身沒關系,看是誰運行的)


二、用戶賬號和組群賬號管理

     1.Linux組的類別:

      用戶的主要組(主組)

           用戶必須屬于一個且只有一個主組

           組名同用戶名,且僅包含一個用戶:私有組(新建的用戶,也會建一個組,但組里只有用戶自己)

      用戶的附加組(輔助組):secondary group  

        一個用戶只有一個主組,但是可以屬于零個或多個輔助組(如下圖)

1.png

    注意:一般第一個為用戶的主組,后面的都為附加組

         系統識別用戶不是看用戶名,是看id編號的


     2.用戶和組的配置權限

     Linux用戶和組的主要配置文件:

       /etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)

       /etc/group:組及其屬性信息

         /etc/shadow:用戶密碼及其相關屬性

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

    (1)/etc/passwd 解說

2.png

     /etc/passwd 由“:”分割成7段,每個字段含義如下:

        ①login name:登錄用戶名(wang) 

        ②passwd:密碼,口令(x) 現在放在 /etc/shadow  如果要想回到之前的狀態用(命令 pwunconv)但是這樣的話/etc/shadow文件就沒有了,恢復使用(命令 pwconv)     

        ③UID用戶身份編號 管理員:0,系統默認為root,但是可以修改。普通用戶:500+;1000+

     實驗如下圖,說明:系統辨別是否為管理員是看id的  

3.png

4.png

       GID:組標識號登錄默認所在組編號(1000) 

        GECOS:用戶全名或注釋  

        用 命令chfn 可以修改注釋信息

5.png

        用命令 finger 可以更加詳細的查看修改和用戶信息

6.png

       ⑥home directory:用戶主目錄(/home/wang)

         root 的家目錄是/root ,普通用戶的家目錄則為/home/username,用戶家目錄可以自己定義。

       ⑦shell:用戶默認使用shell (/bin/bash) 

         用 chsh命令 可以直接修改用戶的shell

7.png

8.png

   (2)/etc/shadow解說

9.png

    /etc/shadow he /etc/passwd 類似,由“:”分割成9段,只有管理員可以查看,普通用戶是看不了的。含義如下: 

        ①登錄用戶名,與/etc/passwd 類似

        ②用戶密碼,一般sha512加密

            如果剛建的新用戶,密碼是(?。。┦遣辉试S登陸的,(可以用 su切換)如果刪除了,該用戶就可以不用密碼直接登錄。可以使用 命令 usermod -U (刪除!號)(usermod -L 加!號),只能刪除一個,第二個系統不允許被刪除。 其實,有密碼的用戶也是可以被鎖定的,也是用 usermod -L

10.png

            密碼前面的$6代表哈希算法,一般用sha512加密,是單向加密的,不可逆。但是也有可能會被破解。我們也可以修改用戶的加密算法  命令:authconfig–passalgo=sha256 –update(對老用戶不起作用,只對新用戶起作用)

          如果兩個新用戶設置的密碼完全以一樣,但在 shadow中顯示的也是不同的,因為系統會加 “鹽”,是一種隨機數,更安全。

          在工作中設置密碼可以用命令 openssl rand -base64 (10隨機數)

11.png

       197011日起到密碼最近一次被更改的時間

             如果為0 就代表,迫使你下一次登錄時必須該口令(可以通過 chage -d0 tao 直接改為0)或者(passwd -e tao)和前者效果一樣。

       ④密碼再過多少天可以被更改,系統默認為0,即不受限制

       ⑤密碼多少天后到期,即在多少天內必須更改密碼,系統默認99999表示永遠不需要更改。

       ⑥密碼過期前幾天系統提醒用戶(默認為一周)

       ⑦密碼過期幾天后賬號會被鎖定

       ⑧生命周期,從197011日算起,多少天后帳號失效

       ⑨沒有意義,作為保留用

附加:

密碼期限如下圖:

12.png 

   更改加密算法:authconfig –passalgo=sha256 –update

     (3)/etc/group 組及其屬性信息

14.png 

           ①組群名稱:就是群組名

           ②群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow

           ③GID:就是組的id

           ④以當前組為附加組的用戶列表(分隔符為逗號)

         注意:新用戶添加或刪除附加組,必須重新登錄才能夠表現出來。

      (4)/etc/gashadow 解說

10.png

           ①群組名稱

           ②群組密碼 :一般不對組設置口令,如果設置了,普通用戶知道口令后便可直接加進來,不設置反而更加安全。

           ③組管理員列表:組管理員的列表,更改組密碼和成員

           ④以當前組為附加組的用戶列表:(分隔符為逗號) 

三、用戶和組管理命令

     1.文本操作:

       vipw(vi /etc/passwd)和vigr(vi /etc/group)

     用這兩個命令比直接使用nano,vim等編輯工具安全,因為在使用過程中如果格式不正確,系統會報錯,其他的則不會

         pwck(passwd check)和grpck(group check)

     修改完成之后,用這兩個工具可以作相應的檢查。

    2.用戶和組管理命令

          用戶賬號管理命令:

            useradd     usermod   userdel

          組賬號維護命令:

            groupadd    groupmod   groupdel

        (1)useradd 用戶創建

         ?useradd[options] LOGIN

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

              -o 配合-u 選項,不檢查UID的唯一性

15.png

              -g GID:指明用戶所屬基本組,可為組名,也可以GID

16.png

              -c "COMMENT":用戶的注釋信息

              -d HOME_DIR:以指定的路徑(不存在)為家目錄

12.png

              -s SHELL: 指明用戶的默認shell程序

                       可用列表在/etc/shells文件中

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

11.png

              -N 不創建私用組做主組,使用users組做主組

              -r: 創建系統用戶CentOS 6: ID<500,CentOS 7: ID<1000,一般shell類型為/sbin/nologin

           ?在創建用戶的時候會有一些默認值設定 /etc/default/useradd文件中

               顯示或更改默認設置

             useradd -D

                useradd -D -s(后面加選項可以更改默認設置)

        這里注意,新創建的用戶系統用戶的家目錄和郵箱是不會自動創建的。

14.png

      (3)新建用戶的相關文件和命令

               /etc/default/useradd 相關的配置文件默認設置

              /etc/skel/*  家目錄的配置文件模板

              /etc/login.defs 一些配置文件的默認設置(見下圖)

15.png

              newusers passwd格式文件批量創建用戶

              chpasswd 批量修改用戶口令

16.png

17.png

18.png

19.png

20.png

      (4)usermod用戶屬性修改

          usermod[OPTION] login

           -u UID: UID

           -g GID: 新基本組

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

           -s SHELL:新的默認SHELL;

           -c 'COMMENT':新的注釋信息;

           -d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m選項

           -l login_name: 新的名字;

           -L:lock指定用戶,/etc/shadow 密碼欄的增加!

              -U:unlock指定用戶,/etc/shadow 密碼欄的! 拿掉

              -e:YYYY-MM-DD: 指明用戶賬號過期日期;

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

        (5)userdel 刪除用戶

              -r :刪除用戶家目錄

        (6)查看用戶id相關信息

          id [OPTION]… [USER]

           -u: UID

           -g: GID

           -G: Groups

           -n: Name

        (7)切換用戶以及用戶其他身份執行命令

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

            切換用戶方式:

              su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄

21.png

             su – UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換

22.png

              root su至其他用戶無須密碼;非root用戶切換時需要密碼

           注意:如果切換用戶之后一定要使用 exit或logout 退出來,否則會影響系統。

              換個身份執行命令:

              su[-] UserName -c 'COMMAND'

                  選項:-l –login

              su-l UserName相當于su-UserName


練習:

   

    1、創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為"Gentoo Distribution"

練習1.png

?   2、創建下面的用戶、組和組成員關系

        名字為admins 的組

        用戶natasha,使用admins 作為附屬組

        用戶harry,也使用admins 作為附屬組

        用戶sarah,不可交互登錄系統,且不是admins 的成員,natasha,harry,sarah密碼都是centos

練習2.png

 

原創文章,作者:zhumengxiaotao,如若轉載,請注明出處:http://www.www58058.com/27663

(1)
zhumengxiaotaozhumengxiaotao
上一篇 2016-08-04 14:40
下一篇 2016-08-04 14:40

相關推薦

  • 第十周 N21 總有刁民想害朕

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)   加電-MBR-GRUB-/sysinit-init X 對應的服務-/etc/rc.d     MBR        讀取分區表     GRUB      &…

    Linux干貨 2016-09-26
  • 對虛擬機鍵入Ctrl+Alt+Delete的詳細說明

            日常中我們用Windows系統時經常使用Ctrl+Alt+Delete來換出任務管理的菜單,進行任務管理,linux中也有這樣的鍵入命令,但不是管理任務,而是重啟系統?。?!那么我們就應該注意了,不要誤操作重啟服務器。       &n…

    2017-03-28
  • ?Linux 硬連接與軟連接的區別

        Linux 硬連接與軟連接的區別                        &…

    Linux干貨 2016-10-25
  • wordpress配置安裝

    1、首先進行lamp框架的搭建 服務器環境:Linux Centos 7.2.1511 64位 內存:2G  磁盤空間100GB IP地址:10.55.10.79 進行httpd,php,php-mysql,mariadb-server的安裝,安裝均使用yum安裝 ~]# yum -y install httpd php php-mysql mar…

    Linux干貨 2016-11-04
  • Linux系統命令格式及基礎命令、幫助信息。

    一、Linux系統上的命令使用格式 命令的語法通用格式:                 # COMMAND OPTIONS ARGUMENTS     &nb…

    Linux干貨 2016-10-30
  • date用法心得

    Linux時間格式極大程度的遵循了人類習慣,以下為部分常見時間。
    date命令本身提供了日期的加減運算,shell編程時靈活運用

    2017-11-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-04 21:43

    寫的很好,贊一個。

欧美性久久久久