Linux用戶管理

Linux系統用戶管理

一、理論概念

(一)系統用戶

百科定義的系統用戶是:那些在通常意義上使用信息系統或者受到信息系統影響的“客戶”通俗講就是能夠使用和管理系統資源,並達到某種特定目標的人或客戶”。

(二)用戶分類

系統管理員

普通用戶

系統用戶

登錄用戶

(三)用戶標識

UIDLinux通過UID來區別和標識用戶

根據用戶分類UID的取值範圍:0-65535

系統管理員:0

普通用戶:1-60000

系統用戶:1-499,1-999

登錄用戶:500+1000+

(四)用戶組

具有相同權限或用戶屬性的用戶劃分爲一類,用組表示

(五)用戶組分類

管理員組

普通組

用戶基本組

用戶附加組

(六)用戶組標識

GIDLinux通過GID來區別和標識用戶組

管理員組:0

普通組:1-499,1-999

500+1000+

註解:centos的版本從6升到7後,默認用戶創建的新用戶ID500開始改爲從1000開始


二、Linux系統用戶相關的配置文件

1/etc/passwd;記錄用戶基本信息

2/etc/group:記錄用戶組基本信息

3/etc/shadow:記錄用戶密碼及相關信息

4/etc/gshadow:記錄用戶組密碼及相關信息

 

(一)各配置文件默認格式:

1/etc/passwd

name:password:UID:GID:GECOS:directory:shell

登錄名:x:UID:GID:comment:主目錄:用戶默認shell

2/etc/group

group_name:password:GID:user_list

組名:x:GID:組用戶列表

3/etc/gshadow:

group name:encrypted password:administrators:members

組名:加密字符串:組管理:組成員

4/etc/shadow:

login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

用戶名:密碼加密字串:密碼最後修改日期:密碼最小過期期限:密碼最大過期期限:密碼到期警告期:密碼鎖定週期:賬號過期日期:保留字段

5)擴展

root:$6$amdZ6oA3a.Cbr7UG$l1RTCNNacewA5vFA263R9NcFpWZGtjl9x4nq0DnCX25wMqdxWApWI7UwTgVO0/wAu1geXrirVv7WChL8FFhsS0:16673:0:99999:7:::

註解:密碼加密字符串由$分隔,分三部分

1、加密算法,6表示sha512加密算法

2、隨機字符串

3、密碼和隨機字符串合併加密後的字符串

加密算法:

md5sha1, sha224, sha256, sha384, sha5121,2,3,4,5,6

md5:用數字1標識,按固定的算法轉換設置的密碼字符串,如果兩個用戶設置相同的密碼,在shadow文件中兩個用戶的加密密碼字符串也是相同的。這是風險點

sha512:用數字6標識,先將用戶設置的密碼串按算法添加部分隨機的字符串,再按固定的加密算法轉換密碼爲加密的字符串,最大程度的降低md5算法存在的風險

注:兩個或多個加密算法可以混合使用

測試顯示系統加密算法命令:

[root@localhost ~]# authconfig --test|grep hashing

 password hashing algorithm is sha512

密碼複雜性策略:

1、使用數字、小寫字母、大寫字母、特殊字符四類中至少三類;

2、足夠長;

3、使用隨機密碼;

4、定期更換


三、命令

1useradd:添加用戶

useradd [options] LOGIN

-c, --comment COMMENT:用戶描述

-d, --home-dir HOME_DIR:指定用戶家目錄路徑

-e, --expiredate EXPIRE_DATE:指定用戶使用期限;format YYYY-MM-DD

-g, --gid GROUP:指定用戶所屬基本組,此組必須事先存在

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指定所屬的附加組;

-K, --key KEY=VALUE:指定配置文件/etc/login.defs中參數的值

-m, --create-home:創建用戶家目錄

-M, --no-create-home:不給用戶創建家目錄

-p, --password PASSWORD:創建時設置用戶密碼

-r, --system:創建系統用戶

-s, --shell SHELL:設定用戶默認的shellcat /etc/shells查看可設置的shell類型

-u, --uid UID:指定用戶UID


練習:創建用戶Oracle,所屬附加組databasesqlID號爲3000, 家目錄爲/home/database,密碼爲1q2w3e,並指定用戶的shellbash

[root@localhost ~]# groupadd database
[root@localhost ~]# groupadd sql
[root@localhost ~]# useradd -G database,sql -u 3000 -d /home/database -p 1q2w3e -s /bin/bash Oracle

結果:shadow文件中Oracle的密碼是明文密碼,而不是加密後的字符串?

wKioL1XgFLqh3UWbAAEXhhoA0XQ732.jpg

[root@localhost ~]# passwd Oracle

重新用passwd命令重置Oracle密碼後,shadow文件中Oracle用戶密碼是加密後的字符串wKiom1XgEvPCW2LXAAIqo7dfRK4935.jpg2、groupadd:添加用戶組

groupadd [options] group

-g, --gid GID:指定組ID

-r, --system:創建系統組

例子是1useradd練習中的databasesql,查看兩個組信息

wKioL1XgFUaChS9lAADWM9BfqDw400.jpg3、id:查看用戶相關ID信息

 id [OPTION]... [USER]

-g, --group:只打印組ID

-a:默認格式

-G, --groups:打印所有GID

-n, --name:打印名字而不是ID,與-ugG一起使用

-u, --user:只打印用戶ID

wKioL1XgFbjAvOKVAAGAj9zmAUc131.jpg4、su切換用戶或以其他用戶身份執行命令

su [OPTION]... [-] [USER [ARG]...]

-, -l, --login USERNAME:完全切換,登錄式切換;相當於用新用戶登錄

USERNAME:非完全切換

-c, --command=COMMAND:以新用戶身份執行命令‘command

5、usermod修改用戶屬性

usermod [options] LOGIN

-d, --home HOME_DIR:修改用戶家目錄

-g, --gid GROUP:修改用戶所屬基本組

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶附加組

-L, --lock:鎖定用戶

-p, --password PASSWORD:修改用戶密碼

-s, --shell SHELL:修改用戶默認shell

-u, --uid UID:修改UID

-U, --unlock:解鎖,不能和-p-L一起使用

6、passwd設置用戶密碼

passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warn-

       days] [-i inactivedays] [-S] [--stdin] [username]

-llock user

-uunlock user

--stdin:從標準輸出接收用戶密碼

echo 123456 | passwd --stdin root

wKiom1XgE8XBSqq8AAB18VCUWz8190.jpg

7userdel:刪除用戶

userdel [-r] USERNAME

-r:刪除用戶的同時刪除其家目錄

8groupmod: 組屬性修改

groupmod [OPTION] GROUPNAME

-n GROUP_NAME:修改組名

-g GID:修改用戶組GID

9、newgrp:爲當前用戶臨時添加用戶組,切換shell後消失

例:

wKioL1XgFfXDGlUGAAEhFycLbcw511.jpg

10、gpasswd:設置用戶組密碼

groupdel:刪除用戶組

11、chfn:修改用戶信息

chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u][-v] [username]

chfn USERNAME:交互式同時修改用戶所有信息,包括namephoneoffice

例:

wKiom1XgE_TyXkgvAAHFtcGSAyk451.jpg

 12、chsh:修改用戶默認shell

chsh [-s shell] [-l] [-u] [-v] [username]

-s, --shell shell:修改默認shell

-l, --list-shells:等同於命令:cat /etc/shells

wKioL1XgFjXRsiRaAAGReLW1TjI137.jpg

13、finger:顯示系統用戶信息

finger [-lmsp] [user ...] [user@host ...]

14、whoami:顯示系統當前shell登錄用戶。等同於id -un

wKioL1XgFnWB5KjbAAC1GzmxWOY648.jpg

15、who:顯示登錄系統的用戶信息

who [OPTION]... [ FILE | ARG1 ARG2 ]

-a, --all:顯示所有信息

-b, --boot:系統最後一次啓動時間

-q, --count:所有登錄的用戶名和用戶數

-r, --runlevel:顯示系統運行級別

-u, --users:顯示登錄的用戶

wKioL1XgFoOAsrKAAAErC3paHKI378.jpg

16w:顯示哪些用戶登錄以及在作什麼

w - [husfiV] [user]

-h:不打印頭信息

-u:忽略用戶名

-s:簡略方式顯示

-f:不顯示From

-i:用IP顯示

 








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