用戶與組管理

如何成為linux用戶?

    在linux系統中,要想從系統中獲取資源、對系統進行管理和控制,就需要向系統申請一個賬號,從而實現特定用途,當申請到賬號后,要對它設置口令,這樣用戶賬號就申請成功了,然后可以登陸系統,當用戶登陸系統時,需要通過系統的認證,認證成功后才給予授權,在用戶的使用過程中還會對用戶進行審計。

為什么要設置用戶組?


    是為了方便對不同類用戶進行分組統一管理,例如:把一個公司的員工按職能的不同劃分為不同的部門從而實現不同部門進行不同的管理方式是一個道理。

    

linux中的用戶類別:

      管理員用戶 root UID :0 又稱為超級用戶,擁有至高無上的權利,可以對linux系統進行任何操作,甚至可以刪除系統。

      普通用戶:系統用戶 UID : 1-499(Centos6版本中),1-999(Centos7版本中)系統用戶是維護特定的一些服務運行,對守                 護進程獲取資源進行權限分配的賬號

                登陸用戶 UID :500-60000 (Centos6版本中),1000-60000(Centos7版本中)登陸用戶就是可以登陸到系統                 中,完成一些權限內的操作,從而獲取所須資源的用戶。

linux是如何認識用戶名的呢?

   其實系統是通過UID來標識一個用戶的,當你輸入用戶名登陸時,其中進行了名稱轉換,把用戶名轉換為了linux能夠識別的UID號,名稱轉換信息保存在/etc/passwd文件中


      UID:UID是每個用戶身份標識,就像人的身份證一樣

linux中的組類別:

      按用戶類型分:

          管理員組:root GID :0

          普通用戶組:系統用戶組 GID : 1-499(Centos6版本中),1-999(Centos7版本中)

                      登陸用戶組 GID :500-60000 (Centos6版本中),1000-60000(Centos7版本中)


       按所屬的主從關系來分:

                  基本組

                  附加組

        按私有公有分:

             私有組:組名同用戶名,并且只包含一個用戶

             公共組:組內包含了多個用戶

       GID :每個組的身份標識

       同樣,GID也是linux認識這個組的標識,通過/etc/group文件中保存的信息進行組名與UID的解析


與用戶相關的文件:

          /etc/passwd文件:保存著用戶賬號的信息

解釋文件內容:

     第一列:登陸的用戶名

     第二列:密碼占位符

     第三列:UID

     第四列:GID(所在組的)

     第五列:注釋描述信息

     第六列:用戶家目錄

     第七列:用戶默認使用的shell

[root@myhost ~]# getent passwd zhangsan

zhangsan:x:501:501::/home/zhangsan:/bin/bash

      /etc/shadow:保存用戶的密碼信息

解釋文件內容:

     第一列:登陸的用戶名

     第二列:用戶的密碼(一般用sha512加密)

     第三列:從1970年1月1日起到密碼最近一次被修改的時間

     第四列:密碼的最小有效時間

     第五列:密碼的最大有效時間(99999表示永不過期)

     第六列:密碼過期前幾天提醒

    第七列:密碼的非活動期限

    第八列:從1970年1月1日起,多少天后賬號失效


[root@myhost ~]# getent shadow zhangsan

zhangsan:$6$y5uABHzk$5RFHTYLHA4cL.WfSW2Gd4tjOoefwJ4DNrvLzE8.shDViZqBe/JcZbLoN672LqEnl48F484pxg/AWFPZhwWM.Y/:17018:0:30:7:5:17383:

與組相關的文件:


   /etc/group文件:保存組的信息

解釋文件內容:

        第一列:組名稱

        第二列:組密碼占位符

        第三列:組的ID

        第四列:以當前組為附加組的用戶列表

[root@myhost ~]# getent group mage

mage:x:504:lisi,wangwu,zhangsan

   /etc/gshadow文件:保存組的密碼信息

解釋文件內容:

         第一列:組名稱

         第二列:組密碼

         第三列:組管理員列表(組管理員可以更改組密碼和族成員)

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

[root@myhost ~]# getent gshadow mage

mage:$6$5Blhu/UHz8UNGvz$9qj158ot4uvGDngNKUrzFyKB246zqSIK7Eo0JhKaUp1SubjI0of1NfGsRUVySB8xuG32hxwtayvlGG.pKWu1w1:lisi:lisi,wangwu,zhangsan



用戶管理命令:           

      useradd命令: 創建用戶

      格式: useradd  選項  用戶名  

    

      常用選項:

             -u:指定UID

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

             -c:"描述信息"

             -d:指定家目錄,指定的家目錄可以不存在,但上層目錄必須存在

             -g:指定基本組或基本組GID

             -G:指定附加組或GID

             -M:不創建家目錄

             -r:創建系統用戶

             -s:指定登陸的shell

             -D:查看useradd默認配置文件,可與其他選項陪和,對默認配置進行更改

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

   示例:          

           創建一個hehe用戶,UID為3000 家目錄為/testdir/hehe  附加組為root組     填寫描述信息為 ni hao

QQ截圖20160803174545.png

 

       usermod命令:修改用戶的屬性信息

     用法格式: usermod 選項  用戶名

         選項:

               

             -u:修改UID

             -c:修改"描述信息"

             -d:修改家目錄

             -g:修改基本組

             -G:修改附加組,原來的附加組會被覆蓋

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

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

             -s:修改登陸的shell

             -l:修改登錄名

             -e:設置用戶賬號的失效時間,XXXX-XX-XX

             -L:鎖定用戶賬號密碼,禁止登陸(在密碼字符前加?。?/span>

                -U:解鎖用戶密碼          

  示例:修改hehe用戶的UID為5000 再把hehe用戶添加附加組bin 設置用戶賬號在2016年10月1日失效           

[root@localhost ~]# usermod -u 5000 -aG bin -e 2016-10-01 hehe

[root@localhost ~]# tail -1 /etc/passwd

hehe:x:5000:3000:nihao:/testdir/hehe:/bin/bash

[root@localhost ~]# groups hehe

hehe : hehe root bin

[root@localhost ~]# tail -1 /etc/shadow

hehe:!!:17017:0:99999:7::17075:

 

passwd命令:用于設置用戶密碼,鎖定和解鎖用戶密碼

 格式:passwd 用戶名

選項:

    -d:清除用戶密碼,使之可無密碼登錄

    -l:鎖定用戶密碼

    -u:解鎖用戶密碼

    -S:查看用戶密碼鎖定情況

    -i:非活動期限

    –stdin :從標準輸入接收用戶密碼(在腳本的時候用的比較多)

[root@localhost ~]# passwd hehe

Changing password for user hehe.

New password: 

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password: 

passwd: all authentication tokens updated successfully.

[root@localhost ~]# passwd -l hehe

Locking password for user hehe.

passwd: Success

[root@localhost ~]# passwd -S hehe

hehe LK 2016-08-04 0 99999 7 -1 (Password locked.)

[root@localhost ~]# passwd -u hehe

Unlocking password for user hehe.

passwd: Success

[root@localhost ~]# passwd -S hehe

hehe PS 2016-08-04 0 99999 7 -1 (Password set, SHA512 crypt.

userdel 命令:刪除用戶

      格式: userdel [選項] 用戶名

選項:   -r:刪除用戶同時刪除家目錄

[root@localhost ~]# tail -2 /etc/passwd  

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

hehe:x:5000:3000:nihao:/testdir/hehe:/bin/bash

[root@localhost ~]# userdel -r hehe

[root@localhost ~]# tail -2 /etc/passwd

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

組管理命令: 

     groupadd命令:添加新組

  格式:groupadd [選項] 組名

  選項:

    -g:指定GID,默認是上一個組的GID+1

    -r:創建系統用戶    

    

示例:創建一個組,組名為zhang GID為5000;

[root@myhost ~]# groupadd -g 5000 zhang

[root@myhost ~]# tail -1 /etc/group

zhang:x:5000:

     groupmod命令:修改組信息

 格式: groupmod [選項] 組名

 選項:

    -g:修改組的GID

    -n:修改組名

示例:把zhang組的GID改為3000,組名改為lisi

 

[root@myhost ~]# groupmod -g 3000 -n lisi zhang

[root@myhost ~]# tail -1 /etc/group

lisi:x:3000:

   

    groupdel命令:刪除組

 格式: groupdel 組名

   gpasswd命令:向組中添加、刪除用戶,給組設置密碼

 

 格式1:gpasswd [選項] 用戶名  組名  \\添加、刪除組成員

 選項:

    -a:向組中添加用戶

    -d:把組中的用戶移除出去

    -M:刷新組列表(意思是可同是添加多個用戶,但原來組里的用戶將被移除)

示例:

[root@myhost ~]# useradd zhangsan

[root@myhost ~]# useradd lisi

[root@myhost ~]# useradd wangwu

[root@myhost ~]# groupadd mage

[root@myhost ~]# gpasswd -a lisi mage

Adding user lisi to group mage

[root@myhost ~]# groupmems -l -g mage

lisi 

[root@myhost ~]# gpasswd -M zhangsan,wangwu mage

[root@myhost ~]# groupmems -l -g mage

zhangsan  wangwu 

[root@myhost ~]# gpasswd -d zhangsan mage

Removing user zhangsan from group mage

[root@myhost ~]# groupmems -l -g mage

wangwu 

 格式2:gpasswd 組名   //給組添加密碼

給組添加密碼的作用是,防止其他人切換到此組。

   其他一些常用命令:

          chage命令:修改用戶密碼

    格式:chage [選項] 用戶名

    選項:

      -d:修改用戶最近一次修改密碼的時間

        修改為0的時候提醒用戶下次登陸修改密碼

      -E:設置賬號的有效期

      -w:修改密碼過期警告時間

      -m:修改密碼最小的有效期

      -M:設置密碼的最大有效期

      -I:修改用戶的非活動期限

示例:把zhangsan用戶的賬號有效期設置為1年,修改最大密碼期限為1個月,修改其飛活動期限為5天

[root@myhost ~]# passwd zhangsan

Changing password for user zhangsan.

New password: 

BAD PASSWORD: it is WAY too short

BAD PASSWORD: is too simple

Retype new password: 

passwd: all authentication tokens updated successfully.

[root@myhost ~]# chage -E 2017-08-05 -M 30 -I 5 zhangsan

[root@myhost ~]# tail -3 /etc/shadow 

zhangsan:$6$y5uABHzk$5RFHTYLHA4cL.WfSW2Gd4tjOoefwJ4DNrvLzE8.shDViZqBe/JcZbLoN672LqEnl48F484pxg/AWFPZhwWM.Y/:17018:0:30:7:5:17383:

lisi:!!:17018:0:99999:7:::

wangwu:!!:17018:0:99999:7:::

    

groupmems命令:查看哪些用戶的附加組為此組

  groupmems [選項] [選項]  組名

  選項:

    -g:指定組

    -l:查看組成員 

    -d:刪除指定的組成員

    -p:清空組成員

    -a:添加組成員

示例:

[root@myhost ~]# gpasswd -M zhangsan,lisi,wangwu mage

[root@myhost ~]# groupmems -l -g mage

zhangsan  lisi  wangwu 

[root@myhost ~]# groupmems -d zhangsan -g mage

[root@myhost ~]# groupmems -l -g mage

lisi  wangwu 

[root@myhost ~]# groupmems -a zhangsan -g mage

[root@myhost ~]# groupmems -l -g mage

lisi  wangwu  zhangsan 

id命令:顯示用戶的真實有效的ID

  格式: id [選項] 用戶名

  選項:

    -u:僅顯示有效的UID

    -g:僅顯示用戶的基本組GID

    -G:顯示用戶的所用組GID

    -n:顯示名稱而非ID

示例:

 

[root@myhost ~]# id wangwu

uid=503(wangwu) gid=503(wangwu) groups=503(wangwu),504(mage)

[root@myhost ~]# id -u wangwu

503

[root@myhost ~]# id -g wangwu

503

[root@myhost ~]# id -G wangwu

503 504

[root@myhost ~]# id -ng wangwu

wangwu

[root@myhost ~]# id -nG wangwu

wangwu mage

      

su命令:切換用戶

   格式1: su –  用戶名

       登陸式切換,會通過讀取目標用戶的配置文件俺來重新初始化(用戶環境也變化)

   格式2: su  用戶名

       非登錄式切換,不會讀取目標用戶的配置文件進行初始化 (用戶環境不變)

      -c “命令”:su結合-c命令后面加上要執行的命令,可以實現不切換用戶的身份即可運行此處制定的命令

   格式:su – 用戶 -c "命令"

   注意:管理員可無密碼切換至其他任何用戶


chfn命令:給用戶添加描述信息

chsh -s /bin/bash 用戶名: 給指定用戶更改shell環境

getent 文件名 用戶名:查看指定用戶的指定文件的信息

newgrp命令:臨時全換到組(需要組密碼)

 格式:newgrp 組名 用戶名

authconfig –passalgo=sha256 –update // 更改密碼的加密算法

newusers命令:批量添加用戶

格式:newusers 用戶名列表文件

chpasswd命令:批量添加密碼

格式:cat 密碼文件 | chpasswd


注意:批量添加用戶以后默認家目錄里沒有任何文件,需要從/etc/skel/中復制過去

    默認不創建mail文件,給添加額用戶發送一個郵件就自動創建了mail文件。


快捷命令:

     vipw = vi /etc/passwd

     vigr = vi /etc/group

pwck:檢查修改的passwd 文件

grpk:檢查修改了得group文件


     

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

(0)
ZJMZJM
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • Nginx 基礎 (IO模型、編譯安裝、幾大塊配置文件詳解)

    Nginx基礎 前言 apache在設計的時候已經考慮了并發訪問模型,select()機制可以響應1024個訪問,但是當數量再大,千萬級別的時候http就響應不過來了。這個時候,nginx的出現解決了這一個問題。nginx是一個安裝簡單、配置文件簡單、占用內存少、穩定性高、處理并發能力非常強、靈活好用等有點聚集于一身的輕量級服務器。在Linux操作系統中,N…

    Linux干貨 2016-12-24
  • Linux發行版的基礎目錄名稱、功能及目錄的命名法則

    Linux發行版的基礎目錄名稱、功能及目錄的命名法則 基礎目錄名稱及功能 /lib 32位系統的基礎共享庫文件和可裝載的內核模塊,用于為/bin和/sbin下的程序提供共享庫,并為內核提供內核模塊 /lib64 64位系統的基礎共享庫文件,用于為/bin和/sbin下的程序提供共享庫 /etc 系統程序的配置文件 /bin 用戶命令的程序文件,所有用戶可用 …

    Linux干貨 2017-07-02
  • liunx文本處理三劍客及文本處理工具的使用與練習。

    linux文本處理三劍客: grep ==擅長過濾,把想要的或者不想要的分離開。linux三劍客 老三  -A: 除了顯示匹配的一行之外,并顯示該行之前的num行;-B:除了顯示匹配的一行之外,并顯示該行之后的num行;-C:除了顯示匹配的一行之外,并顯示該行之前后各num行     sed==擅長取行、替換。三劍客老…

    2017-07-28
  • 文件共享服務之NFS

    文件共享服務之NFS 文件共享服務之NFS 一、什么是NFS及NFS的工作流程 二、NFS發展及問題 三、NFS簡單部署 一、什么是NFS及NFS的工作流程 NFS(Network File System,網絡文件系統)  NFS是借助于RPC來實現功能的 RPC:(Remote  Procedure  Call  p…

    Linux干貨 2016-04-19
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 系統服務之LVS 集群

    Linux集群(Cluster) 一.概論 1.定義     Cluster:計算機集合;     linux集群,多臺Linux主機為解決某個特定問題組合起來形成的單個系統;     由于現代化業務上線的需求, 單服務器已經不能…

    Linux干貨 2016-10-28
欧美性久久久久