LINUX-用戶和組管理

LINUX用戶和組管理

linux用戶分類:Username/UID

     管理員:root,UID 0號,擁有最高權限;負責系統的啟功、停止,安裝新軟件,

              增加、刪除用戶,保證系統正常運轉;

              主目錄:/root

     普通用戶:1-65535;通常情況下只能在自己的主目錄下進行操作;

                  主目錄通常在/home下,其中包含用戶的設置、程序配置文件、郵件等

         系統用戶:1-499.對守護進程獲取資源進行權限分配
         登陸用戶:500+,交互式登陸

 為用戶劃分組的優點

         1、避免手工逐個調整用戶權限。當賦予某個工作組一定權限是,工組中的用戶

             自動具有相應的權限。

         2、方便同組用戶之間共享資源。

         3、可將管理系統的任務劃分到工作組內所有用戶身上,而不需要逐一指定特定

             的管理人員,增加了系統管理的靈活性。

用戶賬號文件

/etc/passwd文件

      -包含系統所有用戶的用戶名及其相關信息。

     -每行對應一個用戶。

       LINUX-用戶和組管理

        account:password:UID :GID :GECOS :directory:shell   
          
    account:用戶名 
     x:口令占有位,很早以前放的是用戶口令;系統為了安全,把它單獨放在一個空間,
       為了與其他系統保留兼容所以占有一個位置。   
              #pwunconv  回歸傳統,顯示口令,不安全。
             #pwconv
     UID:用戶UID身份號。管理員root,0號;
         普通用戶:1-65535  
            系統用戶:1-499,1-999(CENTOS7);對守護進程獲取資源進行權限分配
            登陸用戶:500+,1000+(CENTOS7);交互式登陸
     GID:用戶基本組的ID號
     GECOS:用戶的描述信息。(包括,用戶的全名,辦公地址,辦公電話,家庭電話)
               #chfn long 更改用戶的描述信息,如下圖。

               #finger long 顯示用戶的描述信息

            LINUX-用戶和組管理

     directory:用戶的家目錄路徑
             #usermod -d /home/long long 通過命令更改家目錄時, 需確保用戶退出狀態。
     shell:用戶的shell類型。
              #chsh -s /sbin/nologin long 更改用戶的shell類型。
              #/bin/bash 可以直接切換shell類型
              #getent passwd long 只顯示用戶的信息     

用戶口令文件

/etc/shadow文件

      -為保證系統安全性(passwd文件可以被任何用戶讀取),系統將用戶口令

       保存在shadow中

       root:$6$nh0f4Ayy93oOdPAQ$MmF1V6ulOCqdAVLjsvwQ5rpOGo3lMCX0
                           rjyNbn7beEhIG3dXSi7iamAjFtEm/DtaVdyBRo/r1:17312:0:99999:7:5:17520:

       bin:*:17110:0:99999:7:::

       ntp:!!:17303::::::

     root:用戶登陸名。加密后的口令若為空,則表示不需要口令即可登陸;

            若為“*”或“!”,則表示該賬號被禁用。

                  #usermod -L long 鎖定用戶賬號,使用戶無法登陸;
                  #usermod -U long 解鎖。

     6:加密算法。單向加密:哈希算法,原文不同,密文必不同

               md5:message digest 128bits
               sha1:secure hash algorith,160bits
               sha224,sha256,sha 384 ,sha 512(6,centos7默認加密算法)
                     #authconfig –passalgo=sha256 –update 定義加密算法
                      也可以直接更改配置文件:etc/login.defs  
 
   $nh0f4Ayy93oOdPAQ$: salt,鹽,加密時生成的隨機數;用戶設定的密碼一樣,但是salt不                                   一樣,生產的加密口令也不一樣。    
            #openssl passwd -6 -salt “nh0f4Ayy93oOdPAQ” 
                      設置相同的salt,以及相同的加密算法,是用戶的密碼一樣。
   17312:從1970-1-1起到密碼最近一次被更改的天數
              
     0:用戶口令最短有效期,即口令更改后不可更改的天數。(0表示隨時可被更改) 
   99999:用戶口令最長有效期??诹罡暮蟊仨毟牡奶鞌?。
      7 :口令失效前警告用戶的天數。(默認為一周)
      5:口令過期后,賬號被鎖定的天數。             
     17520:賬號的有效期(賬號被禁用時距1970-1-1的天數)

linux組的類別:

     用戶的主要組:
        用戶必須屬于一個且只有一個主組,組名和用戶名相同,
        且僅包含一個用戶:私有組
     用戶的附加組:一個用戶有零個或多個輔助組
   當一個用戶屬于多個組的時候,它獲取的是多個組的累加權限
    

用戶組賬號文件

    /etc/group

         格式: group_name:passwd:GID:user_list
              LINUX-用戶和組管理

    組名:加密后的組口令(已不用)

組ID:以當前主組為附加組的用戶列表(多個用,隔開)。

用戶組口令文件

      /etc/gshadow文件

         定義用戶組口令、組管理員。

            LINUX-用戶和組管理

            組名:加密后的口令:組管理員:組成員


編輯和驗 證用戶和組賬號

   vipw:編輯/etc/passwd

   vigr:編輯/etc/group         

   pwck:驗證/etc/passwd和/etc/shadow的正確性

  grpck:驗證/etc/group和/etc/gshadow的正確性

創建新用戶

   用戶創建必須有超級用戶root來創建

    主要步驟:添加一條記錄到/etc/passwd文件中;創建用戶主目錄;

                 在用戶主目錄中設置用戶的默認配置文件。

   以上步驟可用/usr/sbin/useradd命令實現。

  useradd [opption] LOGIN

  •          -u UID:定義在/etc/login.defs
  •          -o 配合-u 選項,不檢查UID的唯一性,即可以創建相同的UID號的用戶
  •          -g GID:指明用戶所屬基本組,可為組名。
  •          -c “comment”:用戶的注釋信息。
  •         -d HOME_DIR:以指定的路徑(不存在)為家目錄,
  •          -s SHELL:指明用戶的默認SHELL程序,可用列表在/etc/shells文件中
  •         -G GROUP1[,GROUP2,…] :為用戶指明附屬組,組須事先存在
  •         -N 不創建私有組做主組,使用users組做主組
  •          -r: 創建系統用戶 CENTOS6:ID<500, CENTOS7:ID<1000

                 指定家目錄路徑,但不生成;郵件也不生成

    顯示useradd命令的默認值

       LINUX-用戶和組管理

   上圖中的具體值得設置可以用以下命令,也可以直接修改/etc/default/useradd 文件
                  useradd -D -s SHELL
                  useradd -D -b BASE_DIR
                  useradd -D -g GROUP

刪除用戶

     主要步驟:刪除/etc/passwd文件中此用戶的記錄;

                    刪除/etc/group文件中此用戶的信息;

                    刪除用戶的主目錄;

                    刪除用戶所創建的或屬于此用戶的文件。

            以上步驟可用/usr/sbin/userdel命令實現。

                 -例:userdel -r  long (刪除用戶long 及其主目錄和其中所有文件)

臨時禁用賬戶

      把用戶的記錄從/etc/passwd中注釋掉或刪除掉,保留其主目錄和其他文件不變。

      在/etc/passwd文件中或/etc/shadow中,將該用戶的口令域的第一個字符前面加

      上一 個“*”

用戶已有屬性的修改
    usermod [OPTION] login 
       -u UID: 新UID ,更改用戶UID
       -g GID: 新主組 ,更改用戶的主組
       -G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的 
               附加組將會被覆蓋;若保留原有,則要同時使用-a選項 
       -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: 設定非活動期限

創建/修改/刪除 組
   groupadd [OPTION]… group_name
     -g GID : 指明GID號;[GID_MIN,GID_MAX]

       創建一個組ID為510的用戶組

           #groupadd -g 510 group_name
     -r:創建系統組 centos6:ID <500  ;  centos7:ID<1000
    

更改組的已有屬性

    groupmod [OPTION]…group

         -n group_name:給用戶的組名修改新的組名
         -g GID:新的GID
 刪除組:groupdel
        groupdel GROUP 只能刪除用戶的附屬組,主組不能刪除

管理組中的用戶

     在組中添加用戶或刪除用戶

       -直接編輯/etc/group文件,為組添加用戶。

       -或用gpasswd和groupmems命令

  groupmems [options] [action] 
       options:
              -g, –group groupname 更改為指定組 (只有root) 
             #groupmems -g xiaoqiang -l  查看小強組里的附屬組成員
       Actions: 
         -a, –add username  指定用戶加入組 
         -d, –delete username  從組中刪除用戶 
         -p, –purge 從組中清除所有成員 
         -l,  –list  顯示組成員列表 
     

 gpasswd [OPTION] GROUP 
           -a user: 將user添加至指定組中 
           -d user: 從指定組中移除用戶user 

用戶和組狀態命令

      顯示用戶當前的uid,gid,和所屬組列表

       id [OPTION]… [USER] 
           -u: 顯示UID 
           -g: 顯示GID 
           -G: 顯示用戶附加組的ID 
           -n: 顯示名稱,需配合ugG使用

           #id xxx &> /dev/null 判斷用戶是否存在

用戶和組的密碼相關設置     

修改用戶密碼策略
    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 賬號快過期時,提前幾天警告
      –l  顯示密碼策略 
   示例: chage -d 0 tom 下一次登錄強制重設密碼 
             chage -m 0 –M 42 –W 14 –I 7 tom 
             chage -E 2016-09-10 tom 
設置密碼
   passwd [OPTIONS] UserName: 修改指定用戶的密碼,
          僅 root用戶權限 
   passwd: 修改自己的密碼  
    常用選項: 
     -l:鎖定指定用戶    -u:解鎖指定用戶 
     -e:強制用戶下次登錄修改密碼,相當于#chage -d 0
     -n mindays: 指定最短使用期限 
     -x maxdays:最大使用期限 
     -w warndays:提前多少天開始警告 
     -i inactivedays:非活動期限 
    –stdin:從標準輸入接收用戶密碼 
        echo “PASSWORD” | passwd –stdin USERNAME &> /dev/null
                                              可以把改密碼的信息隱藏
  
更改組密碼
       組密碼:gpasswd 
       gpasswd [OPTION] GROUP 
           -a user: 將user添加至指定組中 
           -d user: 從指定組中移除用戶user 
           -A user1,user2,…: 設置有管理權限的用戶列表 
       newgrp命令:臨時切換主組 
           如果用戶本不屬于此組,則需要組密碼

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

(0)
shenjialongshenjialong
上一篇 2017-05-30
下一篇 2017-05-30

相關推薦

  • 關于 shell腳本編程第一篇

                                                   shell腳本編程(1) …

    系統運維 2016-08-15
  • 8.3_Linux習題和作業

    課堂習題 1.當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 答:不能cd進該目錄 2.當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 答:不能查看目錄內的文件列表,不能cd,也不能查看目錄里面文件的元數據 3.當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件…

    Linux干貨 2016-08-05
  • Linux bash 特性、相關變量以及編程

    Linux bash 特性、相關變量以及編程 bash 特性之:命令hash 緩存此前執行過的命令(都是外部命令,不記錄內嵌命令),加速命令的執行 hash    -d 清空指定命令記錄   -r 直接清空hash表 bash 特性之一: 變量 程序=指令+數據 指令是有文件提供 數據是由…

    Linux干貨 2016-12-29
  • RAID[Redundant Array of Independent Disks | 獨立硬盤冗余陣列 ]

    前言 一個技術要知其然還要知其所以然 RAID 獨立硬盤冗余陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),簡稱磁盤陣列 RAID的基本思想 其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到…

    Linux干貨 2016-05-20
  • 文本三劍客grep爵士與手下的血淚奮戰

    文件查看命令: cat, tac,revcat [OPTION]… [FILE]…  -E: 顯示行結束符$ -n: 對顯示出的每一行進行編號 -A:顯示所有控制符 -b: 非空行編號 -s:壓縮連續的空行成一行 文件查看 分頁查看文件內容more: 分頁查看文件more [OPTIONS…] FILE…-d: 顯示翻頁及退出提示less:一頁一頁…

    Linux干貨 2016-08-07
  • 啟動流程排錯,自制linux內核,編譯內核

    CentOS 6啟動流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot–> /sbin/init–>(/et…

    Linux干貨 2016-09-20
欧美性久久久久