用戶和組——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

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

             用戶和組——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
下一篇 2017-07-22

相關推薦

  • 14 用戶組和權限管理4

    14 用戶組和權限管理4 一、雜項知識整理 1、groups 查看用戶所屬組列表 [user1@localhost ~]$ groups user3 user1 2、文件屬性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children &…

    Linux干貨 2016-08-04
  • 第五周練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一小組括號的行,刑如:hello() 3、使用echo命令輸出一個絕對路徑,使用grep取出基名 4、找出ifconfig命令結果中的1-255之間的數字 5、查找/var目錄下屬主為root,且屬組為mai…

    2017-10-29
  • linux文件系統上的權限

    文件系統上的權限是指文件系統上的文件和目錄的權限,主要針對三類對象進行的(訪問者)進行的定義: 針對文件來說 r 使用工具cat nano去看文件里面內容的權限 w 可以修改文件的內容 x 二進制程序以及腳本需要發起系統調用,去啟動為一個進程 針對目錄來說 r 是否可以查看目錄里面的內容 有r權限的話 可以使用ls -l w 對目錄里面是否可以創建文件或者目…

    Linux干貨 2017-04-01
  • 根分區伸縮實驗

    眾所周知LVM是Linux環境下對 磁盤進行管理的一種機制。用戶在安裝Linux操作系統時,難以分配合適的硬盤空間,當一個分區存放不下某個文件時,這個文件因為文件系統的限制,也不能 跨越多個分區來存放。而遇到出現某個分區耗盡時,只有使用調整分區大小的工具。隨著LVM功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方 便…

    Linux干貨 2015-05-27
  • Linux中的賬號管理之命令的使用(中)

    linux中賬號管理的命令非常多,我這里主要介紹最常見的幾個命令,這些命令分別是針對用戶和組的管理 主要介紹對用戶管理的命令: 一、用戶創建:useradd useradd命令用于Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之后,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實…

    Linux干貨 2016-08-07
  • 數據庫的備份和恢復

    數據庫的備份和恢復 一 (理論篇)、數據庫備份與恢復基礎 1、數據庫的備份與恢復 備份:存儲的數據副本; 原始數據:持續改變; 恢復:把副本應用到線上系統; 僅能恢復至備份操作時刻的數據狀態; 時間點恢復: binary logs; 2、為什么備份? 災難恢復: 硬件故障(冗余)、軟件故障(bug)、自然災害、黑客攻擊、誤操作、…&nb…

    2016-11-22
欧美性久久久久