用戶和組——Linux基本命令(10)

1.     用戶和組的配置文件

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

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

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

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

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

 

2. /etc/passwd

Linux /etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統管理員經常會接觸到這個文件的修改以完成對用戶的管理工作。這個文件對所有用戶都是可讀的。

getent passwd [username] 查看用戶passwd的命令

/etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段。

使用getent passwd
magedu
可以查看magedupasswd中信息

用戶和組——Linux基本命令(10)

其格式和具體含義如下:

用戶名:密碼:用戶標識號UID:組標識號GID:注釋性描述:家目錄:登錄Shell

 

       用戶名:

       密碼位:x

因為passwd這個文件任何用戶都能訪問,所以將密碼存在里面不安全,一般這一位都是x

pwconv (默認) 將密碼映射到了/etc/shadow

pwunconv 此命令將密碼保存到/etc/passwd中,刪除/etc/shadow文件

       UID

              每個用戶都有一個UIDUID0時,說明是管理員帳戶。

             用戶和組——Linux基本命令(10)

              CentOS6
1-499
為系統用戶,預留

              CentOS7
1-999
為系統用戶,預留

       GID

              主要組:每個有且僅有一個主要組,當用戶創建時,自動創建一個與用戶同名的組作為主要組。

              輔助組:用戶可以有零個或多個輔助組。

描述位:

chfn username 設置用戶的描述

finger username (默認沒有安裝) 查看用戶的信息

       家目錄:

usermod -d /home/magedunew magedu  修改用戶家目錄

默認的登錄Shell

       usermod -s /sbin/nologin
magedu

       chsh -s /sbin/nologin magedu   都可以修改magedushell

       用戶和組——Linux基本命令(10)

如果要禁止某個用戶登錄,可以將它最后一位改為/sbin/nologin

 

 

3. /etc/shadow

只有root能訪問

getent shadow [username] 查看用戶shadow信息

同樣,使用getent shadow magedu可以查看magedushadow中信息

用戶和組——Linux基本命令(10)

其各位含義為:

用戶名:

密碼位:sha512 sha256
md5  $id$salt$password

                            authconfig –passalgo=sha256 –update

              !!:用戶被鎖定

              用戶和組——Linux基本命令(10)

                            usermod -L 鎖定用戶

                            usermod -U 解鎖用戶 -p
password

                           用戶和組——Linux基本命令(10)

密碼上一次的修改日期:(從1970-1-1到修改的時間經過了多少天來表示)

密碼最小存活期:(指的是兩次修改口令之間所需的最小天數)

密碼最大存活期:(指的是口令保持有效的最大天數)

密碼過期之前提前多少天提醒用戶:(在正確登錄時)

密碼過期之后多少天帳戶過期:(在正確登錄時)

帳戶過期時間:(自1970-1-1到該天經過了多少天來表示)

保留位:(還沒被開發出來)

 

chage -l
username
顯示帳戶的密碼信息

       -d 指定密碼的上次修改時間(yyyy-mm-dd)

               -d 0 則強制用戶下次登錄時必須修改密碼

        -E 指定賬戶的過期時間

        -I 密碼過期之后多少天帳戶過期

        -m 設置最小存活時間

        -M 設置最大存活時間

        -W 設置密碼過期前的提醒時間

chage username 交互式修改用戶的密碼策略

 

4. /etc/group

getent group [groupname]

用戶和組——Linux基本命令(10)

分為以下四位:

       groupname組名

       密碼位:x

       gid:

              CentOS6
1-499
為系統組,預留

              CentOS7
1-999
為系統組,預留

       組成員:將該組作為輔助組的成員列表。當成員先把該組當作輔助組,再轉成主要組時,不改變。當成員離開該組時,被刪除。

   用戶和組——Linux基本命令(10)

首先使用groupmems -g group -a username將指定成員加入指定組中。

如圖,將lky加入magedu組,使用id可以看到lkylky的主組,magedu為附加組。

使用usermod -g groupname username 修改用戶的主組,將lky的主組改成magedu

用戶和組——Linux基本命令(10)

組成員沒有改變。

用戶和組——Linux基本命令(10)

我們再將主組改回lky,刪除附加組,此時才消失。因為該成員已經離開該組。

 

5. /etc/gshadow

       getent
gshadow [groupname]

       用戶和組——Linux基本命令(10)

       groupname組名

       密碼位:

              gpasswd
groupname
設置組密碼

              newgrp
groupname(
普通用戶)

                     當用戶不是該groupname的輔助組成員時,則需要輸入密碼,成功后臨時以主要組的身份加入該組。

                     當用戶是該groupname的輔助組成員時,無需輸入密碼,將臨時以主要組的身份加入該組,而其原有的主要組,臨時變為輔助組。

       管理員:只能由root任命或撤銷,可以同時有多名,以,為間隔。權利:可以修改組密碼,可以將用戶從該組(輔助組)當中添加或刪除。

                      任命  gpasswd -A
username1,username2 groupname

                                         撤消所有管理員:gpasswd
-A “” groupname

                              用戶和組——Linux基本命令(10)               


                                  gpasswd
-a libai admin 
往組中增加用戶

                                  gpasswd
-d libai admin 
將用戶從組中刪除

            用戶和組——Linux基本命令(10)

    

                                  gpasswd
-r admin
刪除組密碼

                                  gpasswd
-R admin
限制非輔助組用戶可以通過newgrp admin獲取主組權限。當前密碼被刪除替換為!

                                  gpasswd
-M redhat,libai admin 
設置輔助組的成員列表。

 

                                  groupmems
-g admin -a libai 
將指定成員加入指定組中(僅能一次加一個用戶到組中)

                                  groupmems
-g admin -d libai 
將指定成員從組中刪除

                                  groupmems
-g admin -l
列出指定組的成員列表(輔助組)

                                  groupmems
-p admin
消除指定組的所有成員。

 

       組成員:將該組作為輔助組的成員列表。當成員先把該組當作輔助組,再轉成主要組時,不改變。當成員離開該組時,被刪除。     

 

6.創建用戶刪除用戶

useradd 創建一個新用戶

       -u
uid username
創建用戶時指定uid(如不指定則Centos:500-60000, Centos7: 1000-60000)

       -o
-u uid username
創建用戶時指定uid(可以與已存在用戶的uid相同)

       -g
groupname username
創建用戶時指定主組為某個已存在的組。(將不會再創建與用戶同名的組)

       -c
…  username 
創建用戶時指定描述信息。

              chfn
… username

       -d
path username
指定用戶的家目錄(確保指定的家目錄所在的上級目錄要存在,且家目錄本身不能存在)

       -s
/sbin/nologin username
指定用戶的默認shell

       -G
group1[,group2] username
指定用戶的輔助組(附加組)

       -N
username
設置用戶的主要組為默認組(users,gid=100)

       -r
username
創建系統用戶

   用戶和組——Linux基本命令(10)

如圖,使用上述方法創建了一個新用戶keke

 

創建用戶時會有默認值,默認值的信息存放在/etc/default/useradd 文件中。

用戶和組——Linux基本命令(10)

由此可以看出,默認組為100,家目錄默認在home下,默認shell/bin/csh 等信息。

 

刪除用戶userdel
[-r] username

        一般都加上-r,可以連同其家目錄,mail一同刪除

 

7.修改用戶信息usermod

usermod -u newuid username    修改用戶的UID

       -o
-u newuid username
修改用戶的uid(可以與已存在用戶的uid相同     

       -aG 加組名,可以追加輔助組而不用覆蓋之前的組

       -G
“” username 
usermod -G
primarygroup username
清空用戶所有的輔助組

       -g
groupname username
修改用戶的主組

       -s
/sbin/nologin username
修改用戶的默認shell

       -c
…  username
修改用戶時指定描述信息。

              chfn
… username

       -d
/…/path username
修改用戶的家目錄(不會創建,只修改/etc/passwd當中的家目錄信息)

       -m
-d /…/path username
修改用戶的家目錄信息,并將家目錄移動到目的目錄并改名。

       用戶和組——Linux基本命令(10)

       如圖,使用上述方式修改部分信息

 

       -l
newname oldname
修改用戶名

       -L 給用戶/etc/shadow中的密碼位加!使用戶被鎖定

       -U !拿掉。

       -e
yyyy-mm-dd
設置一個帳戶過期時間

       -f
days
指定密碼過期之后多少天帳戶過期

 

文件編輯:

vipw = vim /etc/passwd 編輯passwd中內容

vipw -s = vim /etc/shadow 編輯shadow中內容

vigr = vim /etc/group 編輯group中內容

vigr -s = vim /etc/gshadow  編輯gshadow中內容

(輸入:q退出)

 

pwck 檢查用戶密碼文件的完整性/etc/passwd /etc/shadow

grpck 檢查用戶組及密碼文件的完整性/etc/group /etc/gshadow

 

8.查看用戶相關的ID信息

       id username

              -u 顯示UID

-un 顯示UID名稱

              -g 顯示GID

              -gn 顯示GID名稱

              -G 顯示用戶所數組的ID

              -Gn 顯示用戶所數組的名稱

              用戶和組——Linux基本命令(10)


9.用戶切換

su switch user用戶切換)

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

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

       su
[-] username -c ‘command’
換個身份執行命令,不登錄

  用戶和組——Linux基本命令(10)

如圖,可以直接臨時換成natasha用戶的身份執行命令

 

10.設置密碼

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
因此也可以使用管道將密碼傳輸過去,如圖,將xinmima作為新的密碼設置成了natasha的密碼。

        用戶和組——Linux基本命令(10)


11.

groupadd 創建組

-g gid groupname 創建指定gid的組

       -r groupname 創建系統組

groupmod 修改組

       -n newgrpname oldgrpname  修改組名

       -g newgid groupname 修改gid

groupdel groupname 刪除組

groups username 查看指定用戶屬于哪些組

 

****重點總結****

groupmems -g groupname -l  查看組里有哪些人

groups username  查看一個人屬于哪些組

用戶和組——Linux基本命令(10)                

****重點總結****

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

(0)
T_endlessT_endless
上一篇 2017-07-22 16:35
下一篇 2017-07-22 17:04

相關推薦

  • N25-第7周博客作業

    N25-第7周博客作業 1、創建一個10G分區,并格式為ext4文件系統;        (1) 要求其block大小為2048, 預留空間百分比為2,   卷標為MYDATA, 默認掛載屬性包含acl;        (2)   掛載至/data/mydat…

    Linux干貨 2017-01-21
  • shell腳本之變量類型、算數運算符、條件測試

    一、bash中的變量類型     本地變量:僅對當前shell有效,對其子shell無效             變量賦值:name=value      &n…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班21期+第一周課程練習

    1、描述計算機的組成及其功能。   計算機由五個部分組成:運算器、控制器、存儲器、輸入設備、輸出設備。   控制器和運算器合稱為中央處理單元,即CPU。   功能:     運算器:也稱為算術邏輯單元,是計算機的核心,在控制器的控制下,對取自內存或內部寄存器的數據進行算術運算和邏輯運算。   &nb…

    Linux干貨 2016-07-07
  • 第三周作業

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2.取出最后登錄到當前系統的用戶的相關信息。 […

    Linux干貨 2017-01-04
  • Linux–各種常用表達式整理收集

    文字顏色設置IP地址獲取隨機口令查找替代等

    Linux干貨 2017-12-10
欧美性久久久久