顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業只做數據庫實訓和認證的品牌機構

微信公眾號新浪微博
免費咨詢電話:400-0909-964
當前位置: 網站首頁 > DBA實戰 > DBA課程 > DBA基礎課程-linux基礎入門:linux用戶和組管理

DBA基礎課程-linux基礎入門:linux用戶和組管理

文章來源: 更新時間:2016/6/24 10:15:24

在線老師點擊咨詢:

最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!

我要咨詢

dba基礎課程-linux基礎入門:linux用戶和組管理

要登錄linux操作系統,我們必須要有一個用戶名和密碼。每一個用戶都由一個惟一的身份來標識,這個標識叫做用戶ID.系統中的每一個用戶也至少需要屬于一個"用戶分組".同樣,用戶分組也是由一個惟一的身份來標識的,該標識叫做用戶分組ID(GID).每位用戶的權限可以被定義為普遍用戶或者根用戶,普通用戶只能訪問其擁有的或者有權限執行的文件.根用戶能夠訪問系統全部的文件和程序,根用戶通常也被稱為"超級用戶"其權限是系統中最大的,可以執行任何操作.在本篇博客中,我們就一起來學習一下linux對用戶和組的管理。

一. 用戶和組文件

1. 用戶信息

linux操作系統的所有的用戶信息都保存在/etc/passwd文件,用于用戶登錄時校驗用戶登錄名.加密的口令數據項,用戶ID(UID),默認用戶分組ID(GID),用戶信息,用戶登錄子目錄和登錄后使用的shell.這個文件的每一行保存一個用戶的資料,而用戶資料的每一個數據項采用冒號":"分隔,具體文件內容如下:

字段1:用戶帳號的名稱

字段2:用戶密碼字串或者密碼占位符“x”

字段3:用戶帳號的UID號

字段4:所屬基本組帳號的GID號

字段5:用戶全名

字段6:宿主目錄

字段7:登錄Shell信息

2. 用戶密碼信息

inux用戶密碼信息主要保存在/etc/shadow文件中,這個文件也稱為用戶影子文件--shadow

LINUX使用不可逆的加密算法如DES來加密口令,所以黑客從密文是得不到明文的.文件的每行是8個冒號分割的9個域,如下:

username:passwd:lastchg:min:max:warn:inactive:expire:flag

解釋一下:

username:用戶登錄名

passwd:加密的用戶口令

lastchg:表示從1970年1月1日起到上次修改口令所經過的天數

min:表示兩次修改口令之間至少經過的天數

max:表示口令還會有效的最大天數,如果是99999則表示永不過期

warn:表示口令失效前多少天內系統向用戶發出警告

inactive:表示禁止登錄前用戶名還有效的天數

expire:表示用戶被禁止登錄的時間

flag:保留域,暫未使用

二.用戶管理(添加、修改和刪除用戶命令useradd/usermod/userdel )

1.useradd建立用戶

useradd不加任何參數創建用戶時,系統首先讀取添加用戶配置文件/etc/login.defs和/etc/default/useradd,根據這兩個配置文件中定義的規則添加用戶,然后會向/etc/passwd和/etc/group文件添加用戶和用戶組記錄,同時/etc/passwd和/etc/group對應的加密文件也會自動生成記錄,接著系統會自動在/etc/default/useradd文件設定的目錄下建立用戶主目錄,最后/etc/skel目錄中的所有文件到新用戶的主目錄中,這樣一個新的用戶就建立完成了。

示例:

添加一個用戶caoshenghuan,指定所屬的主用戶組為linuxgroup2,附加用戶組為linuxgroup,同時指定用戶的默認主目錄為/opt/caoshenghuan

[root@localhost ~]# useradd -g linuxgroup2 -G linuxgroup-d /opt/caoshenghuan caoshenghuan

[root@localhost ~]# more /etc/passwd|grep caoshenghuan

caoshenghuan:x:523:1030::/opt/caoshenghuan:/bin/bash

[root@localhost ~]# more /etc/group|grep caoshenghuan

linuxgroup:x:1020:caoshenghuan

2.useradd的使用語法

useradd語法的一般格式為:

useradd [-u uid [-o]] [-g group] [-G group,...]

[-d home] [-s shell] [-c comment]

[-f inactive] [-e expire ] name

各個選項具體含義如下:

? -u uid:即用戶標識號,此標識號必須唯一。

? -g group:指定新建用戶登錄時所屬的默認組,或者叫主組。此群組必須已經存在。

? -G group:指定新建用戶的附加組,此群組必須已經存在。附加組是相對與主組而言的,當一個用戶同時是多個組中的成員時,登錄時的默認組成為主組,而其它組稱為附加組。

? -d home:指定新建用戶的默認主目錄,如果不指定,系統會在/etc/default/useradd文件指定的目錄下創建用戶主目錄。

? -s shell:指定新建用戶使用的默認shell,如果不指定,系統以/etc/default/useradd文件中定義的shell作為新建用戶的默認shell。

? -c comment:對新建用戶的說明信息。

? -f inactive:指定帳號過期多長時間后永久停用。當值為0時帳號則立刻被停權。而當值為-1時則關閉此功能,預設值為-1

? -e expire:指定用戶的帳號過期時間,日期的指定格式為MM/DD/YY。

? name:指定需要創建的用戶名。

示例:

添加一個用戶bzu,指定UID為686,默認的shell為/bin/csh,讓其歸屬為用戶組linuxgroup和linuxgroup2,同時添加對此用戶的描述,

[root@localhost ~]# useradd -u 686 -s/bin/csh -G linuxgroup,linuxgroup2 -c "This is test user"bzu

[root@localhost ~]# more /etc/passwd|grep bzu

bzu:x:686:686:This is test user:/home/bzu:/bin/csh

[root@localhost ~]# more /etc/group|grep bzu

linuxgroup2:x:1030:bzu

linuxgroup:x:1020:caoshenghuan,bzu

bzu:x:686:

3.usermod的使用語法

usermod用來修改用戶的賬戶屬性信息,使用語法如下:

usermod [-u uid [-o]] [-g group] [-Ggroup,...]

[-d 主目錄 [-m]] [-s shell] [-c 注釋] [-l 新名稱]

[-f 失效日期] [-e 過期日期][-L|-U]Name

各個選項具體含義與上面一樣。

示例:

修改用戶bzu的主用戶組為新建的組test_group1,同時修改bzu的附加組為linuxgroup和root,最后修改bzu的默認登錄shell為/bin/bash

[root@localhost ~]# groupadd test_group1 #添加一個新的用戶組

[root@localhost ~]# more /etc/group|greptest_group1 #顯示新增用戶組的信息

test_group1:x:1031:

[root@localhost ~]# usermod -g test_group1 -G linuxgroup,root-s /bin/bash bzu

[root@localhost ~]# more /etc/passwd|grep bzu #從輸出可知,用戶的屬性已經更改

bzu:x:686:1031:This is test user:/home/bzu:/bin/bash

[root@localhost ~]# more /etc/group|grep bzu #從輸出可知,用戶組的屬性也同步更改

root:x:0:root,bzu

linuxgroup:x:1020:caoshenghuan,bzu

bzu:x:686:

4.userdel的使用語法

Userdel用來刪除一個用戶,若指定“-r”參數不但刪除用戶,同時刪除用戶的主目錄以及目錄下的所有文件。語法格式為:

userdel [-r][用戶帳號]

5.如何鎖定、解除用戶密碼

下面首先對bzu和caoshenghuan用戶設置密碼

[root@localhost ~]# passwd bzu

Changing password for user bzu.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]# passwd caoshenghuan

Changing password for user caoshenghuan.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updatedsuccessfully.

下面的操作是通過su命令切換到caoshenghuan用戶下,然后在caoshenghuan下再次切換到bzu用戶下,這里的切換用戶是為了說明一個問題:從超級用戶root切換到普通用戶下,是不需要輸入普通用戶密碼的,系統也不會去驗證密碼。但普通用戶之間切換是需要密碼驗證的。

[root@localhost ~]# su – caoshenghuan #通過su命令切換到caoshenghuan用戶下

[caoshenghuan@localhost ~]$whoami #用whoami命令查看當前用戶

caoshenghuan

[caoshenghuan@localhost ~]$ su - bzu #這里是從caoshenghuan用戶下切換到bzu用戶下,需要輸入密碼

Password:

[caoshenghuan@localhost ~]$whoami #成功切換到bzu用戶下

bzu

接下來,在root用戶下執行usermod鎖定bzu的密碼,測試bzu是否還能登錄,從下面可以看出,密碼鎖定后,出現登錄失敗。

[root@localhost ~]# usermod -L bzu #鎖定bzu用戶的密碼

[root@localhost ~]# su - caoshenghuan

[caoshenghuan@localhost ~]$ whoami

caoshenghuan

[caoshenghuan@localhost ~]$ su - bzu #這里輸入的密碼是正確的,但是提示密碼錯誤,因為密碼被鎖定了

Password:

su: incorrect password

[caoshenghuan@localhost ~]$ whoami

caoshenghuan

最后對bzu解除密碼鎖定,登錄正常。

[root@localhost ~]# usermod -U bzu #解除密碼鎖定

[root@localhost ~]# su – caoshenghuan

[caoshenghuan@localhost ~]$ whoami

caoshenghuan

[caoshenghuan@localhost ~]$ su - bzu

Password:

[bzu@localhost ~]$ whoami #密碼鎖定解除后,bzu用戶可以登錄系統

bzu

二. 用戶組管理(添加、切換、刪除groupadd/newgrp/groupdel)

1.groupadd命令

用來新建一個用戶組。語法格式為:

groupadd [-g -o] gid group

各個選項具體含義如下:

-g:指定新建用戶組的GID號,該GID號必須唯一,不能和其它用戶組的GID號重復。

-o:一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同。

例如:

創建一個linuxgroup的用戶組和一個linuxgroup2用戶組,GID分別為1020和1030

[root@localhost ~]# groupadd -g 1020 linuxgroup

[root@localhost ~]# groupadd -g 1030 linuxgroup2

[root@localhost ~]# more /etc/group|grep linuxgroup

linuxgroup:x:1020:

[root@localhost ~]# more /etc/group|grep linuxgroup2

linuxgroup2:x:1030:

2.newgrp命令

如果一個用戶同時屬于多個用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權限,newgrp主要用于在多個用戶組之間進行切換,語法格式為:

newgrp <用戶組>

例子:下面通過實例講述newgrp的用法:

首先建立了3個用戶組group1、group2和group3.

[root@localhost ~]# groupadd group1

[root@localhost ~]# groupadd group2

[root@localhost ~]# groupadd group3

下面創建了一個用戶user1,同時指定user1的主用戶組為group1,附加用戶組為group2和group3

[root@localhost ~]# useradd -g group1 -G group2,group3 user1

[root@localhost ~]# more /etc/group|grep user1

group2:x:501:user1

group3:x:502:user1

下面是對用戶user1設置密碼

[root@localhost ~]# passwd user1

Changing password for user user1.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

下面是切換到user1用戶下,通過newgrp切換用戶組進行的一系列操作,從中可以看出newgrp的作用。

[root@localhost ~]# su - user1

[user1@localhost ~]$ whoami

user1

[user1@localhost ~]$ mkdir user1_doc

[user1@localhost ~]$ newgrp group2

[user1@localhost ~]$ mkdir user2_doc

[user1@localhost ~]$ newgrp group3

[user1@localhost ~]$ mkdir user3_doc

[user1@localhost ~]$ ll

total 12

drwxr-xr-x 2 user1 group1 4096 Oct 24 01:18 user1_doc

drwxr-xr-x 2 user1 group2 4096 Oct 24 01:18 user2_doc

drwxr-xr-x 2 user1 group3 4096 Oct 24 01:19 user3_doc

[user1@localhost ~]$

3.groupdel命令

表示刪除用戶組,語法格式為:

groupdel [群組名稱]

當需要從系統上刪除用戶組時,可用groupdel指令來完成這項工作。如果該用戶組中仍包括某些用戶,則必須先刪除這些用戶后,然后才能刪除用戶組。

例如:刪除linuxgroup這個用戶組

[root@localhost ~]# groupdel linuxgroup

附:用戶和組其他相關命令

設置/更改用戶口令:

格式:passwd 用戶名

id命令

用途:查詢用戶身份標識

格式:id [用戶名]

users、w 、who命令

用途:查詢已登錄到主機的用戶信息

su命令

用途:切換用戶身份

格式:su - 用戶名

本文地址:http://www.mudan321.com/dba/kecheng/12298418765.html 轉載請注明!


PostgreSQL入門到精通 100+ 個學習資料

Oracle培訓機構

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細了解老師]

免費咨詢上課流程 客服在線中

陳衛星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優化 11年Ora...[詳細了解老師]

免費咨詢上課流程 客服在線中

選學校如何選擇適合自己的學校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內悠久的專業UNIX培訓機構,被譽為中國UNIX 的搖籃。多年來,以提高教學質量為本,強調素質教育,積極引進、消化國外的新技術,有效的結合中國....[詳情]

一站式服務(從入學到就業一幫到底)

入學

學習

就業

實操

食宿
地址:北京市海淀區田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業服務:137 1818 8639(陳經理)
部分信息來源于網絡,如有錯誤請聯系指正!
版權所有@北京神腦資訊技術有限公司 (CUUG,中國UNIX用戶協會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1