歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

Linux基礎知識之用戶、組的介紹與管理

Linux基礎知識之用戶、組的介紹與管理


Linux基礎知識之用戶、組的介紹與管理


主要介紹Linux中用戶、組的基本概念,對應的配置文件,用戶組的管理包括添加、修改、刪除。

Linux用戶、組概念介紹

用戶:一種技術、產品、服務的使用者。計算機中用戶即使用計算機功能的對象。

用戶類別:管理用戶與普通用戶
管理用戶:root
普通用戶:系統用戶與登錄用戶
系統用戶:分配給相應進程使用,特點無交互式登陸。在程序啟動時自動使用相應系統用戶。
登錄用戶:交互式登陸
用戶標識:UserID簡稱UID是16bits的二進制數字其表示范圍:0-65535
管理員UID:0
普通用戶:1-65535
系統用戶:1-499(CentOS6.x) 1-999(CentOS7.x)
登陸用戶:500-60000(CentOS6.x) 1000-60000(CentOS7.x)
對於系統來說它依靠UID這個數字來識別用戶

組:系統中的組可以看做一個容器,在它所屬下面的所有用戶都具有這個容器的相關特性。
若這個組對某個文件有讀寫執行這三個權限,那麼它下面的所有成員對這個文件也具有讀寫執行三個權限。
組按其不同性質可分三種:
1、
管理員組
普通用戶組:系統組、登陸組
組標識:GroupID簡稱GID
管理員組:0
普通用戶組:1-65535
系統用戶組:1-499(CentOS6.x) 1-999(CentOS7.x)
登陸用戶組:500-60000(CentOS6.x) 1000-60000(CentOS7.x)
2、
用戶的基本組
用戶的附加組
3、
私有組:組名同用戶名,且只包含一個用戶
公共組:組內包含了多個用戶

 


--------------------------------------------------------------------------------
用戶在登陸系統時系統會對所登陸用戶進行認證,這個認證過程是通過對比事先存儲在系統文件的信息與登錄時提供的信息是否一致來判斷。

對比的文件有/etc/passwd、/etc/shadow、/etc/gshadow、/etc/group
下面對這四個文件做下詳細介紹

/etc/passwd 這個文件存儲的是用戶相關的信息
[root@localhost ~]# tail -5 /etc/passwd
user7:x:3006:3006::/testdir/user7:/bin/csh
user8:x:3007:3007::/testdir/user8:/bin/csh
user9:x:3008:3008::/testdir/user9:/bin/csh
user10:x:3009:3009::/testdir/user10:/bin/csh
bkjia:x:4322:4322::/home/bkjia:/bin/bash

可以看到該文件有固定的表達格式。

其格式每一項的意義如下
第一項:為name用戶名
第二項:為password,可以是加密的密碼,也可以是占位符x,這裡通常為占位符,而把密碼放在另一個文件/etc/shadow內,這樣更加安全。
第三項:為UID
第四項:為GID
第五項:為GECOS注釋信息
第六項:為Directory用戶的家目錄
第七項:為shell用戶的默認shell,登錄時默認的shell程序

/etc/group這個文件存儲的是組相關信息
[root@localhost ~]# tail -3 /etc/group
user10:x:3009:
sysadmins:x:5003:
bkjia:x:4322:

第一項:groupname組名

第二項:password密碼
第三項:GID
第四項:userlist該組的用戶成員,以此組為附加組的用戶的用戶列表。

/etc/shadow此文件為存儲用戶密碼信息的文件
[root@localhost ~]# tail -3 /etc/shadow
user9:$6$EYxzH/dhRFw/zg4V$BQakOIX/HsZJobHdAhpSu5MK.pP1Jtpi/nVwktde/eoOxz5zm1oPUfliy4gzKPmYB5Wf0fBX6OPEEDvNWoUl3/:17016:0:99999:7:::
user10:$6$5eJ8JKiwo/6h42$lhx.J9r6m6dKq8.xKQ82WeiRvLOAQcoTRvEw43DfmxsOB.qfiO1Esyu2oZVCFcejq613h0WEA3G0FD.jxUE3W1:17016:0:99999:7:::
bkjia:!!:17016:0:99999:7:::

第一項:user用戶名
第二項:password用戶密碼,密文,默認使用sha512加密
第三項:從1970年1月1日起到密碼最近一次被更改的時間
第四項:密碼最短使用期限,密碼再過幾天可以被更改,0表示隨時可被更改
第五項:最常使用期限,密碼再過幾天必須變更,99999表示永不過期
第六項:警告期段,密碼過期前幾天系統提醒用戶
第七項:過期期限,密碼過期幾天後賬號被鎖定
第八項:保留字段,從1970年1月1日算起,多少天後賬號失效。

/etc/gshadow此文件為存儲組密碼信息的文件,其文件格式與/etc/group相同,卻別僅在於第二項密碼部分。
[root@localhost ~]# tail -3 /etc/gshadow
user10:*::
sysadmins:$6$RRCfdNW.e$R1CqBN/5WZ8HrYuDlQrgRlP313sg5NNDCdrq2eGkUsieaZAjMM.Dhj8oGvvy/NKsb0joGLQlSspiiQPs78xJ3/::
bkjia:!::

第一項:groupname組名
第二項:password組密碼,密文,默認sha512加密
第三項:GID
第四項:userlist該組的用戶成員,以此組為附加組的用戶的用戶列表。

這裡的四個文件都涉及到密碼內容,這裡就插點關於密碼的相關內容,這內容會加深對加密方式的理解。

在上面的/etc/shadow、/etc/gshadow兩個文件內,在第二項密碼中,我們看到其開頭都有$6,這裡$6表示的是sha512加密算法。
加密算法:
對稱加密:加密和解密使用同一個密碼
非對稱加密:加密解密使用一對密鑰
密鑰對兒:公鑰、私鑰
因為以上還是不夠安全所以又有了單項加密
單項加密:只能加密,不能解密,提取數據特征碼:
其特性:定長輸出、雪崩效應(一點點的變化就會引起大變動)
Linux中使用的加密算法有以下6種:
$1 md5      由128bits二進制表示
$2 sha      由160bits二進制表示
$3 sha224  由224bits二進制表示
$4 sha256  由256bits二進制表示
$5 sha384  由384bits二進制表示
$6 sha512  由512bits二進制表示
近期由於md5的加密方式已被破解所以之前Linux默認使用的md5加密算法已被更新為sha512。

Linux用戶、組管理

用戶管理:創建、修改、刪除
用戶創建:
命令格式:useradd [OPTION] USERNAME
OPTION:
      -u 指定UID
      -g 指定基本組ID,此組需事先存在
      -c 指明注釋信息
      -G 指明用戶所屬附加組,附加組需事先存在。
      -d 指明用戶家目錄,通過復制/etc/skel/此目錄並重命名實現,指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件
      -s 指定用戶默認shell
      -r 創建系統用戶
      -D 顯示創建用戶的默認配置
      -D + [選項] 修改用戶的默認配置 /etc/login.def  修改的結果保存於/etc/default/useradd中

用戶修改
usermod
命令格式:usermod [OPTION] USERNAME
OPTION:
      -u 修改用戶的ID為指定的新UID
      -g 修改用戶的GID為新的GID
      -c 修改該用戶注釋信息
      -G 修改該用戶所屬附加組,附加組需事先存在。
      -d 修改用戶家目錄,用戶原有的文件不會被轉移至新位置
      -m 與-d一起使用,將原來的家目錄移動至新家目錄(-m放在-d後面使用)
      -l 修改用戶名
      -s 修改該用戶默認shell
      -L 鎖定用戶密碼
      -U 解鎖用戶密碼

用戶刪除
userdel
命令格式:userdel [OPTION] USERNAME
OPTION:
      -r 刪除用戶時一並刪除家目錄

組管理:創建、修改、刪除
組創建
groupadd

命令格式:groupadd [OPTION] GROUPNAME
OPTION:
      -g 指定GID,默認是上一個組的GID+1
      -r 創建系統組

組修改
groupmod
命令格式:groupadd [OPTION] GROUPNAME
OPTION:
      -g 修改GID
      -n 修改組名

組刪除
groupdel GROUPNAME

其他的命令
groups USERNAME
查看用戶的所屬組信息

[root@localhost test]# groups gentoo
gentoo : gentoo distro peguin netadmin

這說明gentoo用戶的基本組是gentoo,distro peguin netadmin是其附加組。

--------------------------------------------------------------------------------
下面通過幾個例子來具體感受用戶、組管理的具體作用

1、創建用戶u1,附加組g1,g2,默認shell為/bin/csh,注釋信息為“UUU”
要實現上述內容,需先創建組g1、g2,之後再創建u1。
[root@localhost ~]# groupadd g1
[root@localhost ~]# groupadd g2
[root@localhost ~]# useradd u1 -G g1,g2 -s /bin/csh -c "UUU"
[root@localhost ~]# tail -1 /etc/passwd
u1:x:4323:4323:UUU:/home/u1:/bin/csh
[root@localhost ~]# groups u1
u1 : u1 g1 g2

2、創建下面的用戶、組和組成員關系

名字為admins的組
用戶u2,使用admins作為附屬組
用戶u3,也是用admins作為附屬組
用戶u4,不可交互登陸系統,默認家目錄為/test/u4,u2、u3、u4密碼都是centos
[root@localhost ~]# useradd -G admins u2
[root@localhost ~]# useradd -G admins u3
[root@localhost ~]# useradd -s /sbin/nologin -d /test/u4 u4
[root@localhost ~]# echo "centos" | passwd --stdin u2
更改用戶 u2 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ~]# echo "centos" | passwd --stdin u3
更改用戶 u3 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ~]# echo "centos" | passwd --stdin u4
更改用戶 u4 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ~]# tail -5 /etc/passwd
bkjia:x:4322:4322::/home/bkjia:/bin/bash
u1:x:4323:4323:UUU:/home/u1:/bin/csh
u2:x:4324:4324::/home/u2:/bin/bash
u3:x:4325:4325::/home/u3:/bin/bash
u4:x:4326:4326::/test/u4:/sbin/nologin

不可交互指的是其默認shell為/sbin/nologin

3、修改u4用戶的家目錄為/home/u4,要求其原文件仍能被用戶訪問
[root@localhost ~]# usermod -d /home/u4 -m u4
[root@localhost ~]# ll /home
總用量 8
drwx------.  3 fedore  fedore    89 8月  2 22:04 fedore
drwxr-xr-x.  3 root    root      74 8月  2 22:00 gentoo
drwx------.  5 bkjia laowang 4096 8月  4 16:06 bkjia
drwxr-xr-x.  3 root    root      74 8月  3 10:49 test1
drwx------.  3 u1      u1        74 8月  4 17:25 u1
drwx------.  3 u2      u2        74 8月  4 17:38 u2
drwx------.  3 u3      u3        74 8月  4 17:38 u3
drwx------.  3 u4      u4        74 8月  4 18:18 u4
[root@localhost ~]# tail -1 /etc/passwd
u4:x:4326:4326::/home/u4:/sbin/nologin
[root@localhost ~]# ll /test/
總用量 948
-rw-rw-r--. 1 gentoo gentoo      0 8月  4 16:05 a
-rw-rw-r--. 1 gentoo gentoo      0 8月  4 16:05 b
-rwxr-sr-x. 1 root  root    33040 8月  4 16:02 echo
-rw-rw-r--. 1 gentoo gentoo    59 8月  4 16:09 Fedora
-rw-rw-r--. 1 gentoo root      34 8月  4 16:23 bkjia2
drwx---rwx+ 2 root  root      26 8月  3 11:46 t1
-rw-r--r--. 1 root  root      162 8月  3 08:49 userpd
-rw-r--r--. 1 root  root      432 8月  3 08:45 user.txt
-rwxr-sr-x. 1 root  root  910040 8月  4 16:02 vi

本文永久更新鏈接地址:

http://xxxxxx/Linuxjc/1148608.html TechArticle

Copyright © Linux教程網 All Rights Reserved