用戶與組管理

如何成為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 16:16
下一篇 2016-08-08 16:17

相關推薦

  • yum初步入門

                             yum工具是為提高RPM軟件安裝性而開發的一種軟件包管理器,是由pyt…

    Linux干貨 2015-04-01
  • N25_第六周

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]+@#&@g 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; %s@^[[:spac:]]+@@g…

    Linux干貨 2017-02-13
  • 作業:0805

    1.查出用戶UID最大值的用戶名、UID及shell類型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的權限,以數字方式顯示 > st…

    Linux干貨 2016-08-08
  • 運籌帷幄之中,決勝與千里之外!

    ? ? ? ?運籌帷幄之中,決勝與千里之外,決定改變一生。 ? ? ? ?自從2016年年后學校要求產參加畢業實習,但對linux一竅不通的我,陰差陽錯的被一家網絡公司給錄取了。 ? ? ? ?安排在一家企業做駐場運維工程師,剛去駐場的時候并沒有給我分配相應的工作只是給了一些關于數據庫,網絡,和系統的一些資料,要求進行自學。我想了想,就決定選擇了系統進行了解…

    2018-03-26
  • Linux下find命令的使用

    為什么要使用find命令?     Linux系統中有著成千上萬的文件,如果你想要找到自己想要的文件,一款查找軟件是必不可少的,而locate是根據其生成的數據庫進行查找,雖然速度會略快,但非實時查找,有些新的文件或目錄是匹配不到的,而且locate是模糊匹配,而find命令為實時查找,且為精確匹配,如果你對目錄的權限…

    Linux干貨 2016-08-18
  • 第一周

    1、描述計算機的組成與功能 計算器是由運算器,控制器,存儲器,輸入設備和輸出設備五大部件組成;每一部件分別按要求執行特定的功能,具體功能如下: (1)運算器:完成各種算術運算和邏輯運算的裝置,能進行加、減、乘、除等數學運算,也能作比較、判斷、查找、邏輯運算等。 (2)控制器:控制器是計算機機指揮和控制其它各部分工作的中心,其工作過程和人的大腦指揮和控制人的各…

    Linux干貨 2017-01-02
欧美性久久久久