1.3.3 Linux用戶、組管理

用戶、組的基本概念:

用戶和組:

​ 系統上每一個進程都是由一個特定的用戶發起。

​ 系統上的文件都是由特定的用戶擁有。

​ 用戶對系統上的文件訪問時 ,受到權限控制

​ 與運行中的進程相關聯的用戶確定該進程可訪問的文件和目錄

用戶:

​ 用戶的標識符,密碼

​ 用戶的分類:
​                  管理員,

                  普通用戶

組:

       也稱用戶組、用戶容器

1. 用戶和組的標識符:

UID:屬主的標識符

       0 - 65535(一共可以創建65535個用戶)

​ 管理員用戶:root:0

​ 普通用戶:1-65535

              系統用戶:CentOS6:1-499
                               CentOS7:1-999
               登錄用戶:CentOS6:500-65535
                               CentOS7:1000-65535

​ 名稱解析:名稱轉換
                用戶名--------UID

                 根據名稱解析庫 : /etc/passwd

GID:屬組的標識符

        0-65535(劃分與UID一致)

​ 管理員組:root:0

​ 普通用戶組:1-65535

              系統用戶:CentOS6:1-499
                               CentOS7:1-999
               登錄用戶:CentOS6:500-65535
                               CentOS7:1000-65535

​ 名稱解析:
                用戶組名--------GID

                 名稱解析庫 : /etc/group
​ 組類別:
              用戶的基本組

              用戶的附加組

組類別:

              私有組:組名和用戶名一樣,且只包含一個用戶

              公共組:組內包含多個用戶

​ 用戶組group:就是具有相同特徵的用戶的集合

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
//uid和gid就是標識符

認證信息:密碼 (用戶密碼保存在/etc/shadow 中 /etc/gshadow保存組密碼)

密碼策略:

​ 1、使用隨機密碼

​ 2、最短長度不低於8位

​ 3、應該使用小寫字母,大寫字母,數字,標點符號四類中的至少三類

​ 4、定期更換

加密算法:

​ 對稱加密:加密與解密使用同一密碼

​ 非對稱加密:加密與解密使用同一對兒密匙

2、用戶、組管理:

安全上下文:進程是以其發起者的身份運行,進程對文件的訪問權限,取決於發起此進程的用戶的權限。

groupadd:添加用戶組:

​ 結構: groupadd [options] group

​ 選項:-g GID:指定組ID,默認情況下是上一個組ID+1

​           -r:創建一個系統組

groupmod:修改組屬性

​ 結構: groupadd [options] group

             -g:修改組ID

​             -n:修改組名(重命名)

groupdel:刪除組

​ 結構:groupdel [options] GROUP
​           groupdel nebula

[root@localhost ~]# groupadd -g 1000 jerry
[root@localhost ~]# tail -1 /etc/group
jerry:x:1000:

[root@localhost ~]# tail -1 /etc/group
tom:x:1000:

useradd :創建用戶

​ 結構:useradd [options] LOGIN

​       -u:指定UID

​       -g:指定基本組ID

​       -G:指定用戶的附加組,附加組事先要存在

​       -c:添加註釋信息

​       -d:指定用戶的家目錄,通過複製/etc/skel目錄,並改名

​       -s:指定用戶的默認shell

​        -r:創建系統用戶

​ useradd -D:顯示創建用戶的配置

​ useradd -D [options] :修改默認配置

[root@localhost ~]# useradd  -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
//修改後的內容存儲的路徑

userdel:用戶刪除

​       userdel 登錄名

​       -r:刪除用戶時一併刪除家目錄

usermod:修改用戶屬性

​       -u:修改用戶ID

​        -g:修改用戶的基本組

​       -G:修改用戶的附加組

​        -c:修改註釋信息

​       -d:修改家目錄

​       -m:與-d選項一起使用,用於將原來家目錄的文件移動到新的家目錄

​       -a:與-G一起使用,追加用戶的附加組

​        -l:修改用戶名

​        -s:修改默認shell

        -e:修改用戶密碼過期時間

​       -L:鎖定用戶密碼

​       -U:解鎖用戶密碼

[root@localhost ~]# usermod -u 1001 -c "modify user" -s /bin/bash -aG user2 -md /mnt/user3 -l user4 user3

[root@localhost ~]# usermod -e "Aug 16,2019" john
//將John用戶密碼過期時間

[root@localhost ~]# chage -l John
最近一次密碼修改時間                                    :8月 14, 2019
密碼過期時間                                    :從不
密碼失效時間                                    :從不
帳戶過期時間                                            :8月 16, 2019
兩次改變密碼之間相距的最小天數          :0
兩次改變密碼之間相距的最大天數          :99999
在密碼過期之前警告的天數        :7

/etc/passwd:存儲用戶的基本信息

root: x:0:0:root:/root:/bin/bash

用戶名:密碼(x是佔位符):用戶標識符:組標識符:註釋信息:主目錄(也稱家目錄):登錄shell

passwd:用戶密碼

			 passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays]
   [-w warndays] [-i inactivedays] [-S] [--stdin] [username]			

​ 1、passwd:直接修改自己的密碼

​ 2、passwd username:修改指定用戶的密碼,僅root用戶有此權限

      -l:鎖定用戶

      -d:清楚密碼串

      -e DATE:過期日期

​      -i DAYS:非活動期限(指該用戶可以多久不使用,但依舊存在)

      -n DAYS:密碼最短使用期限

      -x DAYS:密碼最長使用期限

​      -w DAYS:告警期限(告訴你該密碼還有多久過期)

​             –stdin :非交互式創建密碼

​        echo “PASSWORD” |passwd --stdin username

gpassed:組密碼(保存在/etc/gshadow中)

      -a username:向組內添加用戶

      -d username:從組內刪除用戶

newgrp:用來做臨時切換指定的組爲基本組

chage:更改密碼過期信息

      -d:指定密碼最後修改日期

      -E:密碼到期日期,

      -w:密碼過期前的警告天數

      -m:密碼可以更改的最小天數

      -M:密碼保持有效的最大天數

[root@localhost ~]# chage -l John
最近一次密碼修改時間                     :8月 14, 2019
密碼過期時間                                    :從不
密碼失效時間                                    :從不
帳戶過期時間                                    :8月 16, 2019
兩次改變密碼之間相距的最小天數          :0
兩次改變密碼之間相距的最大天數          :99999
在密碼過期之前警告的天數       		 :7

id:顯示用戶的真和有效ID

      -u:顯示 UID

      -g:顯示GID

      -G:顯示用戶的所有組

      -n:顯示名字

​             /etc/shadow:存儲用戶密碼信息

root:$6$cPLjOIAuIwObXHI.$Ev6aLd95N98DVK7KNZ6zl5IfUOvy3F3YS3uwjUyplboCL/idy90DxZnS0sOAVa/f5Yr2Nz9zof3EkZx.IizgA.::0:99999:7:::

登錄名:加密口令:最後一次修改時間:最小時間間隔(0):最大時間間隔(99999):警告時間(7):不活動時間:失效時間:(預留)標誌

最後一次修改時間:表示從某一個時間點開始,到用戶最後一次修改口令的時間天數,一般情況下從1970.1.1開始

最小時間間隔:兩次修改口令之間所需的最小天數

最大時間間隔:口令保持有效的最大天數

警告時間:從系統開始警告用戶到用戶密碼正式失效之間的天數

不活動時間:指用戶沒有登錄活動單賬號仍然保持有效的最大天數

失效時間:該用戶使用權有一期限,到時間沒有使用權

加密口令:66加密算法,cPLjOIAuIwObXHI.$:加密因子

小練習:

1、創建用戶gentoo.UID 爲4001,基本組爲gentoo,附加組爲jerry(jerry的GID爲5000)

[root@localhost ~]# groupadd -g 10003 jerry

[root@localhost ~]# groupadd -g 10001 suse

[root@localhost ~]# user -u 40001 -g suse -G jerry gentoo

[root@localhost ~]# tail -1 /etc/passwd
federa:x:40002:40002:federa core:/home/federa:/bin/bash

[root@localhost ~]# id gentoo
uid=40001(gentoo) gid=10003(suse) groups=10003(suse),50000(jerry)

2、創建用戶federa,其註釋信息爲“federa core”,默認shell爲/bin/csh

[root@localhost ~]# useradd -c "federa core" -s /bin/csh federa

[root@localhost ~]# tail /etc/passwd
federa:x:40002:40002:federa core:/home/federa:/bin/bash

3、修改gentoo用戶家目錄,目錄爲/tmp/gentoo

[root@localhost ~]# usermod -d /tmp/gentoo gentoo
[root@localhost ~]# tail /etc/passwd
gentoo:x:4001:1001::/tmp/gentoo:/bin/bash

4、爲gentoo 增加附加組 natasha

[root@localhost ~]# groupadd natasha
[root@localhost ~]# username -aG natasha gentoo
[root@localhost ~]# id gentoo
uid=4001(gentoo) gid=1001(suse)
groups=1001(suse),5000(jerry),5001(natasha)

5、非交互式修改gentoo密碼爲gentoo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章