天天看點

使用者與使用者組(上)

    “使用者,是指所有接受某一項産品服務的客體,不單指某一類人,泛指所有享受服務的客服。”在linux作業系統中,使用者是指登入并使用系統的人。而使用者組,是将一群具有相同特征或者權限的使用者聚集起來形成一個集中管理的小組。使用者組的存在,簡化了運維人員的管理工作。

    在linux中,使用者分為root使用者和普通使用者。root使用者預設擁有對系統的最大權限。而普通使用者的權限一般是通過root使用者授權給予的。

    下面我們使用root使用者登入系統,示範下普通使用者和使用者組的建立與管理。在示範之前,我們先看下使用者與使用者組的配置檔案。

一、配置檔案

1、/etc/passwd 使用者配置檔案

<code>[root@server02 ~]</code><code># cat /etc/passwd</code>

<code>root:x:0:0:root:</code><code>/root</code><code>:</code><code>/bin/bash</code>

<code>bin:x:1:1:bin:</code><code>/bin</code><code>:</code><code>/sbin/nologin</code>

<code>......</code>

<code>postfix:x:89:89::</code><code>/var/spool/postfix</code><code>:</code><code>/sbin/nologin</code>

<code>chrony:x:997:995::</code><code>/var/lib/chrony</code><code>:</code><code>/sbin/nologin</code>

<code>user1:x:1000:1000::</code><code>/home/user1</code><code>:</code><code>/bin/bash</code>

<code>user2:x:1001:1001::</code><code>/home/user2</code><code>:</code><code>/bin/bash</code>

<code>user3:x:1002:1002::</code><code>/home/user3</code><code>:</code><code>/bin/bash</code>

整個passwd配置檔案每一行代表一個使用者。每行又通過“:”分割成7段。每段都有特殊的涵義。

<code>第一段:使用者名;</code>

<code>第二段:密碼,後期以密文形式放在/etc/shadow檔案内;</code>

<code>第三段:UID,CentOS 7中普通使用者的UID從1000開始;</code>

<code>第四段:GID;</code>

<code>第五段:使用者注釋說明,普通使用者一般為空;</code>

<code>第六段:家目錄;</code>

<code>第七段:shell。</code>

2、/etc/shadow 使用者密碼檔案

<code>[root@server02 ~]</code><code># cat /etc/shadow</code>

<code>root:$6$WoqReoR6$hX......swZsJ02EoK6n1:17315:0:99999:7:::</code>

<code>bin:*:17110:0:99999:7:::</code>

<code>postfix:!!:17312::::::</code>

<code>chrony:!!:17312::::::</code>

<code>user1:!!:17315:0:99999:7:::</code>

<code>user2:!!:17315:0:99999:7:::</code>

<code>user3:$6$4LuFZLgC$wfEq......9W6DoNF4vu.h.:17315:0:99999:7:::</code>

shadow檔案與passwd對應,也是一行代表一個使用者的密碼資訊。該檔案每行分為9段。每段各有涵義。

<code>第二段:加密密碼,不設定密碼預設為“!!”;</code>

<code>第三段:從1970年1月1日到上次修改密碼的時間;</code>

<code>第四段:密碼多少天後才能修改;</code>

<code>第五段:密碼多久會過期;</code>

<code>第六段:密碼過期前多少天預警;</code>

<code>第七段:密碼過期後延遲多少天鎖定賬号;</code>

<code>第八段:賬戶生命周期;</code>

<code>第九段:保留值。</code>

3、/etc/group    使用者組配置檔案

   /etc/gshadow  使用者組密碼檔案

<code>[root@server02 ~]</code><code># cat /etc/group</code>

<code>root:x:0:</code>

<code>bin:x:1:</code>

<code>postfix:x:89:</code>

<code>chrony:x:995:</code>

<code>user1:x:1000:</code>

<code>user2:x:1001:</code>

<code>user3:x:1002:</code>

<code>[root@server02 ~]</code><code># cat /etc/gshadow</code>

<code>root:::</code>

<code>bin:::</code>

<code>postfix:!::</code>

<code>chrony:!::</code>

<code>user1:!::</code>

<code>user2:!::</code>

<code>user3:!::</code>

這兩個配置檔案在工作中基本用不到調整,這裡就不再贅述了。

二、使用者與使用者組的管理

1、使用者管理

序 号

命  令

參  數

作  用

1

useradd

新增使用者

-u

指定使用者UID

-g

指定使用者所屬組

-d

指定使用者家目錄

-s

指定使用者的shell

-M

建立使用者時,不自動建立家目錄

2

userdel

删除使用者

-r

删除使用者時,同時删除家目錄

測試示例:

<code>[root@server02 ~]</code><code># useradd user10      //建立一個使用者</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/passwd</code>

<code>user10:x:1003:1003::</code><code>/home/user10</code><code>:</code><code>/bin/bash</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/shadow</code>

<code>user10:!!:17316:0:99999:7:::</code>

<code>[root@server02 ~]</code><code># tail -1 /etc/group</code>

<code>user10:x:1003:</code>

<code>[root@server02 ~]</code><code># useradd -u 1111 -g user3 user11  //“-u”指定UID,“-g”指定所屬組</code>

<code>[root@server02 ~]</code><code># useradd user12</code>

<code>[root@server02 ~]</code><code># tail -3 /etc/passwd              //會按照最大的UID生成下一個UID</code>

<code>user11:x:1111:1002::</code><code>/home/user11</code><code>:</code><code>/bin/bash</code>

<code>user12:x:1112:1112::</code><code>/home/user12</code><code>:</code><code>/bin/bash</code>

<code>[root@server02 ~]</code><code># useradd -d /home/user2 -s /sbin/nologin  user13  </code>

<code>useradd</code><code>:警告:此主目錄已經存在。             </code><code>//</code><code>“-d”指定家目錄</code>

<code>不從 skel 目錄裡向其中複制任何檔案。          </code><code>//</code><code>“-s”指定shell</code>

<code>[root@server02 ~]</code><code># tail -5 /etc/passwd</code>

<code>user13:x:1113:1113::</code><code>/home/user2</code><code>:</code><code>/sbin/nologin</code>

<code>[root@server02 ~]</code><code># useradd -M user20          //“-M”表示不建立家目錄</code>

<code>user20:x:1114:1114::</code><code>/home/user20</code><code>:</code><code>/bin/bash</code>

<code>[root@server02 ~]</code><code># ls /home/user20</code>

<code>ls</code><code>: 無法通路</code><code>/home/user20</code><code>: 沒有那個檔案或目錄</code>

<code>[root@server02 ~]</code><code># userdel user11</code>

<code>[root@server02 ~]</code><code># userdel -r user12          //“-r”表示删除使用者時同時删除家目錄</code>

<code>[root@server02 ~]</code><code># ls /home</code>

<code>user1  user10  user11  user2  user3</code>

2、使用者組管理

groupadd

建立使用者組

指定使用者組的GID

groupdel

删除空的使用者組

<code>[root@server02 ~]</code><code># groupadd grp10             //增加一個使用者組</code>

<code>[root@server02 ~]</code><code># groupadd -g 1111 grp11     //“-g”指定GID</code>

<code>[root@server02 ~]</code><code># tail -3 /etc/group</code>

<code>user20:x:1114:</code>

<code>grp10:x:1115:</code>

<code>grp11:x:1111:</code>

<code>[root@server02 ~]</code><code># groupdel user20            //隻有空的使用者組才能被删除</code>

<code>groupdel:不能移除使用者“user20”的主組</code>

本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1934739,如需轉載請自行聯系原作者