大數據學習環境搭建系列(七)Linux用戶管理

作者 | CDA數據分析師

1. 概述

上一篇文章介紹了Linux文件系統的目錄結構、目錄常用操作命令相關知識。然而當我們用hduser登錄Ubuntu後嘗試在根目錄下去操作一些文件時往往會提示權限不夠,不允許操作。這時我們通過在命令前增加sudo關鍵字就可以執行成功。

這是爲什麼呢?原因就在我們今天要學習的內容“Linux系統的用戶管理”中。小夥伴們讓我們開始今天的發現之旅吧。

2. 用戶管理

Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併爲用戶提供安全性保護。不同的用戶處於不同的地位,擁有不同的權限,root用戶擁有最高的權限。爲了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。

那當我們普通用戶需要使用root用戶權操作時怎麼辦呢?Linux系統提供了相應的工具sudo,該命令爲管理員提供了一種方便的訪問控制方法。通過它人們既可以作爲超級用戶又可以作爲其它類型的用戶來訪問系統。這樣管理員能夠在不告訴用戶root密碼的前提下,授予普通用戶某些特定類型的超級權限。這也就解釋了文章開頭的疑問,我們通過sudo命令讓hduser用戶獲得了root用戶的權限,所以可以在根目錄下的操作可以執行成功。用戶使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。

實現用戶賬號的管理,要完成的工作主要有如下幾個方面:

-用戶賬號的添加

-用戶口令的管理

-用戶賬號的刪除

-用戶組的管理

2.1 用戶賬號的添加

添加用戶賬號就是在系統中創建一個新賬號,然後爲新賬號分配用戶號、用戶組、主目錄和登錄Shell等資源。剛添加的賬號是被鎖定的,無法使用。

1)添加新的用戶賬號使用useradd命令,其語法如下:

useradd 選項[可選] 用戶名

參數說明:

選項:

-c comment 指定一段註釋性描述。

-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄,若不指定用戶主目錄,則會自動使用/home/username作爲用戶主目錄。

  • g 用戶組 指定用戶所屬的用戶組。

  • G 用戶組,用戶組 指定用戶所屬的附加組。

  • s Shell文件 指定用戶的登錄Shell。

  • u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重複使用其他用戶的標識號。

用戶名:

  • 指定新賬號的登錄名。

例1創建hadoop用戶(hduser用戶需要使用sudo命令)

打開我們創建的Ubuntu虛擬機,登錄後(Ctrl+Alt+t)打開終端輸入如下命令:

sudo useradd -m hadoop -s /bin/bash

如下圖所示hadoop用戶創建成功

2.2 用戶口令的管理(口令可理解爲登錄密碼)

用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須爲其指定口令後纔可以使用,即使是指定空口令。

指定和修改用戶口令的Shell命令是passwd。超級用戶可以爲自己和其他用戶指定口令,普通用戶只能用它修改自己的口令。命令的格式爲:

passwd 選項[可選] 用戶名

可使用的選項:

  • l 鎖定口令,即禁用賬號。

  • u 口令解鎖。

  • d 是賬號無口令。

  • f 強迫用戶下次登錄時修改口令

用戶名

  • 需要修改口令的用戶名稱,如果不給出則默認是當前的用戶。

例2爲新建的用戶hadoop添加口令:1

sudo passwd hadoop

執行命令後兩次輸入密碼1,密碼更新完成。執行過程如下圖所示:

2.3 用戶的刪除

如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。

刪除一個已有的用戶賬號使用userdel命令,其格式如下:

userdel 選項 用戶名

常用的選項是 -r,它的作用是把用戶的主目錄一起刪除。

例如:

sudo userdel -r hadoop

此命令刪除用戶hadoop在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。

2.4 用戶的參數修改

修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。

修改已有用戶的信息使用usermod命令,其格式如下:

usermod 選項 用戶名

常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以爲用戶指定新的資源值。

另外,有些系統可以使用選項:-l 新用戶名

例如:

sudo usermod -g hadoop hduser

此命令將用戶hduser的用戶組更改爲hadoop用戶組。

3. 用戶組的管理

每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux系統對用戶組的規定有所不同,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在創建用戶時同時創建。

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。

3.1 創建用戶組

增加一個新的用戶組使用groupadd命令。其格式如下:

groupadd 選項 用戶組

可以使用的選項有:

-g GID 指定新用戶組的組標識號(GID)。

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

例1創建名爲BIGDATA的用戶組

sudo groupadd BIGDATA

3.2 刪除用戶組

刪除已有的用戶組使用groupdel命令。其格式如下:

groupdel 用戶組

例2刪除名爲BIGDATA的用戶組

sudo groupdel BIGDATA

3.3 修改用戶組的屬性

修改用戶組屬性使用groupmod命令。其格式如下:

groupmod 選項 用戶組

常用的選項有:

-g GID 爲用戶組指定新的組標識號。

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

-n新用戶組 將用戶組的名字改爲新名字

例3更改名爲BIGDATA的用戶組標識號爲112

sudo groupmod -g 112 BIGDATA

好啦,今天的內容就到這裏了,下篇文章我們將介紹一下Linux系統的文件屬性。

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