Liunx使用者與組

2021-08-04 03:53:41 字數 3864 閱讀 7700

**:

一.使用者與組的概念

1.理解linux多使用者,多工的特性

linux是乙個真實的、完整的多使用者多工作業系統,多使用者多工就是可以在系統上建立多個使用者,而多個使用者可以在同一時間內登入同乙個系統執行各自不同的任務,而互不影響,例如某台linux伺服器上有4個使用者,分別是root、www、ftp和mysql,在同一時間內,root使用者可能在檢視系統日誌,管理維護系統,www使用者可能在修改自己的網頁程式,ftp使用者可能在上傳軟體到伺服器,mysql使用者可能在執行自己的sql查詢,每個使用者互不干擾,有條不紊的進行著自己的工作,而每個使用者之間不能越權訪問,比如www使用者不能執行mysql使用者的sql查詢操作,ftp使用者也不能修改www使用者的網頁程式,因此可知,不同使用者具有不同的許可權,每個使用者是在許可權允許的範圍內完成不同的任務,linux正是通過這種許可權的劃分與管理,實現了多使用者多工的執行機制。

2.linux下使用者的角色分類

在linux下使用者是根據角色定義的,具體分為三種角色:

 超級使用者:擁有對系統的最高管理許可權,預設是root使用者。

 普通使用者:只能對自己目錄下的檔案進行訪問和修改,具有登入系統的許可權,例如上面提到的www使用者、ftp使用者等。

 虛擬使用者:也叫「偽」使用者,這類使用者最大的特點是不能登入系統,它們的存在主要是方便系統管理,滿足相應的系統程序對檔案屬主的要求。例如系統預設的bin、adm、nobody使用者等,一般執行的web服務,預設就是使用的nobody使用者,但是nobody使用者是不能登入系統的。

3.使用者和組的概念

我們知道,linux是乙個多使用者多工的分時作業系統,如果要使用系統資源,就必須向系統管理員申請乙個賬戶,然後通過這個賬戶進入系統。這個賬戶和使用者是乙個概念,通過建立不同屬性的使用者,一方面,可以合理的利用和控制系統資源,另一方面也可以幫助使用者組織檔案,提供對使用者檔案的安全性保護。

每個使用者都用乙個唯一的使用者名稱和使用者口令,在登入系統時,只有正確輸入了使用者名稱和密碼,才能進入系統和自己的主目錄。

使用者組是具有相同特徵使用者的邏輯集合,有時我們需要讓多個使用者具有相同的許可權,比如檢視、修改某乙個檔案的許可權,一種方法是分別對多個使用者進行檔案訪問授權,如果有10個使用者的話,就需要授權10次,顯然這種方法不太合理;另一種方法是建立乙個組,讓這個組具有檢視、修改此檔案的許可權,然後將所有需要訪問此檔案的使用者放入這個組中,那麼所有使用者就具有了和組一樣的許可權。這就是使用者組,將使用者分組是linux 系統中對使用者進行管理及控制訪問許可權的一種手段,通過定義使用者組,在很大程度上簡化了管理工作。

4.使用者和組的關係:

使用者和使用者組的對應關係有:一對

一、一對多、多對一和多對多;下圖展示了這種關係:1

pass_min_days   0

表示自從上次密碼修改以來多少天後使用者才被允許修改口令

pass_min_len    5

指定密碼的最小長度

pass_warn_age   7

表示在口令到期前多少天系統開始通知使用者口令即將到期

uid_min                   500

指定最小uid為500 ,也就是說新增使用者時,使用者的uid 從500開始

uid_max                 60000

指定最大uid為60000

gid_min                   500

指定最小gid為500,也就是新增組時,組的gid從500開始。

gid_max                 60000

指定最大gid為60000

create_home     yes

此項是指定是否建立使用者主目錄,yes為建立,no為不建立。

3./etc/default/useradd檔案

當我們通過useradd命令不加任何引數建立乙個使用者後,使用者預設的主目錄一般位於/home下,預設使用的shell是/bin/bash,這是為什麼呢,看看/etc/default/useradd這個檔案的內容就完全明白了。

[root@localhost ~]# more /etc/default/useradd

group=100  

home=/home  #此項表示將新建使用者的主目錄放在/home目錄下

inactive=-1 #此項表示是否啟用帳號過期禁用,-1表示不啟用

expire=     #此項表示帳號過期日期,不設定表示不啟用

shell=/bin/bash  #此項指定了新建使用者的預設shell型別

skel=/etc/skel  #此項用來指定使用者主目錄預設檔案的**,也就是說新建使用者主目錄下的檔案都是從這個目錄下複製而來的

create_mail_spool=no

/etc/default/useradd檔案定義了新建使用者的一些預設屬性,比如使用者的主目錄、使用的shell等等,通過更改此檔案,可以改變建立新使用者的預設屬性值。

改變此檔案有兩種方法,一種是通過文字編輯器方式更改,另一種是通過useradd命令來更改。這裡介紹一下第二種方法:

useradd命令加「-d」引數後,就可以修改配置檔案/etc/default/useradd,使用的一般格式為:

useradd -d [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

每個選項詳細含義如下:

 -g default_group

表示新建使用者的起始組名或者gid,組名必須為已經存在的使用者組名稱,gid也必須是已經存在的使用者組gid。與/etc/default/useradd檔案中「group」行對應。

 -b default_home

指定新建使用者主目錄的上級目錄,也就是所有新建使用者都會在此目錄下建立自己的主目錄。與/etc/default/useradd檔案中home行對應。

 -s default_shell

指定新建使用者預設使用的shell,與/etc/default/useradd檔案中「shell」行對應。

 -f default_inactive

指定使用者帳號過期多長時間後就永久停用,與/etc/default/useradd檔案中「inactive」行對應。

 -e default_expire_date

指定使用者帳號的過期時間。與/etc/default/useradd檔案中「expire」行對應。

例子:

useradd –d不加任何引數時,顯示/etc/default/useradd檔案的當前設定

[root@localhost ~]# useradd -d  

group=100

home=/home

inactive=-1

expire=

shell=/bin/bash

skel=/etc/skel

如果要修改新增使用者時的預設shell為/bin/csh,可以這麼操作:

[root@localhost ~]# useradd -d -s /bin/csh

[root@localhost ~]# useradd -d

group=100

home=/home

inactive=-1

expire=

shell=/bin/csh

skel=/etc/skel

4./etc/skel目錄

在建立乙個新使用者後,會在新使用者的主目錄下看到類似.bash_profile, .bashrc, .bash_logout等檔案,這些檔案是怎麼來的呢,如果我想讓新建立的使用者在主目錄下預設擁有自己指定的配置檔案,該如何設定呢?

/etc/skel目錄就是解決這個問題的,/etc/skel目錄定義了新建使用者在主目錄下預設的配置檔案,更改/etc/skel目錄下的內容就可以改變新建使用者預設主目錄的配置檔案資訊。

Liunx 使用者與使用者組管理

目錄 1.使用者管理 1.1檢視當前使用者 who 1.2建立使用者 adduser 1.3檢視所有使用者 cat 1.4刪除所有使用者 deluser 1.5修改使用者密碼 passwd 2.使用者組管理 2.1檢視使用者組檔案 cat 2.2檢視某使用者屬於哪些使用者組 2.3新加使用者組 2....

liunx新增使用者,使用者組,密碼

1 建使用者 adduser phpq 新建phpq使用者 passwd phpq 給phpq使用者設定密碼 2 建工作組 groupadd test 新建test工作組 3 新建使用者同時增加工作組 useradd g test phpq 新建phpq使用者並增加到test工作組 注 g 所屬組 ...

liunx 使用者和使用者組的命令

檢視使用者列表 etc passwd 檢視使用者組列表 etc group 使用者和使用者組管理 groupadd groups 新增使用者組 groupmod n newgroupsr groups 修改使用者組 groupmod g 668 groups 修改使用者組的主編號 groupadd ...