一背景
Linux 是 一個真實的、完整的多用戶多任務操作系統,多用戶多任務就是可以在系統上建立多個用戶,而多個用戶可以在同一時間內登錄同一個系統執行各自不同的任務,而互不影響,例如某臺linux服務器上有4個用戶,分別是root、www、ftp和mysql,在同一時間內,root用戶可能在查看系統日志,管理維護系統,www用戶可能在修改自己的網頁程序,ftp用戶可能在上傳軟件到服務器,mysql用戶可能在執行自己的SQL查詢,每個用戶互不干擾,有條不紊的進行著自己的工作,而每個用戶之間不能越權訪問,比如www用戶不能執行mysql用戶的SQL查詢操作,ftp用戶也不能修改www用戶的網頁程序,因此可知,不同用戶具有不同的權限,每個用戶是在權限允許的范圍內完成不同的任務,linux正是通過這種權限的劃分與管理,實現了多用戶多任務的運行機制。
二、用戶user和組group的簡介
(1)、用戶user
Linux用戶:Username/UID
管理員:root, 0
普通用戶:1-65535
1、系統用戶(不需要登入,系統服務或者后臺進程使用):
UID為1-499(CentOS6), UID為1-999( CentOS7)
對守護進程獲取資源進行權限分配
2、登錄用戶:500(CentOS6)+, 1000+(CentOS7)
3、交互式登錄
如果用戶指定的是nologin,用戶就不能登入,就給服務使用
(2)組group
些用戶或組的集合(linux中不支持組的嵌套),方便用戶的管理
例如:有文件file1 希望用戶wang,zhang, li對他有read和write的權限,文件file2希望這三 個用戶多他有read的權限,可以把這三個用戶加入一個group,以后就可以直接對group授權,file1 read write group;file2 read group
Linux組:Groupname/GID
管理員組:root, 0
普通組:
1、系統組:1-499(centos6),1-999(centos7)
2、普通組:500+(centos6),1000+(centos7)
Linux中允許用戶和組的名字一樣,甚至id也可以一樣
當新建一個用戶的時候,會自動建一個和他同名的組
Linux組的類別:
1、主要組:用戶必須屬于一個且只有一個主
2、私有組:組名同用戶名,且僅包含一個用戶
3、附加組(輔助組):一個用戶可以屬于零個或多個輔助組
三、與用戶有關的文件/etc/passwd,/etc/shadow
a./etc/passwd文件:
下面是/etc/passwd文件的部分輸出:
下面是每個字段的詳細含義:
login name:登錄用名(wang)
passwd:密碼(x)
UID:用戶身份編號(1000)
GID:登錄默認所在組編號(1000)
GECOS:用戶全名或注釋
home directory:用戶主目錄(/home/wang)
shell:用戶默認使用shell (/bin/bash)
b./etc/shadow文件:
下面是/etc/passwd文件的部分輸出:
下面是每個字段的詳細含義:
登錄用名
用戶密碼:一般用sha512加密
從1970年1月1日起到密碼最近一次被更改的時間
密碼再過幾天可以被變更(0表示隨時可被變更)
密碼再過幾天必須被變更(99999表示永不過期)
密碼過期前幾天系統提醒用戶(默認為一周)
密碼過期幾天后帳號會被鎖定
從1970年1月1日算起,多少天后帳號失效。
四、與組有關的文件/etc/group,/etc/gshdow
a、/etc/group
群組名稱:就是群組名稱
群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow
GID:就是群組的ID
以當前組為附加組的用戶列表(分隔符為逗號)
b、/etc/gshadow
群組名稱:就是群組名稱
群組密碼:
組管理員列表:組管理員的列表,更改組密碼和成員
以當前組為附加組的用戶列表:(分隔符為逗號)
五./etc/login.defs文件
用來定義創建一個用戶時的默認設置,比如指定用戶的UID和GID的范圍,用戶的過期時間、是否需要創建用戶主目錄等等。
下面是centos6下的/etc/login.defs文件,簡單介紹如下:
MAIL_DIR /var/spool/mail
當創建用戶時,同時在目錄/var/spool/mail中創建一個用戶mail文件
PASS_MAX_DAYS 99999
#指定密碼保持有效的最大天數
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為不創建。
六./etc/default/useradd文件
當我們通過useradd命令不加任何參數創建一個用戶后,用戶默認的主目錄一般位于/home下,默認使用的shell是/bin/bash,這是為什么呢,看看/etc/default/useradd這個文件的內容就完全明白了
默認值設定:/etc/default/useradd文件中
顯示或更改默認設置:
useradd-D
useradd–D-s SHELL
# useradd defaults file
GROUP=100
HOME=/home #此項表示將新建用戶的主目錄放在/home目錄下
INACTIVE=-1 #此項表示是否啟用帳號過期禁用,-1表示不啟用
EXPIRE= #此項表示帳號過期日期,不設置表示不啟用
SHELL=/bin/bash #此項指定了新建用戶的默認shell類型
SKEL=/etc/skel #此項用來指定用戶主目錄默認文件的來源,也就是說新建用戶主目錄下的 文件都是從這個目錄下復制而來的
CREATE_MAIL_SPOOL=no
/etc/default/useradd文件定義了新建用戶的一些默認屬性,比如用戶的主目錄、使用的shell 等等,通過更改此文件,可以改變創建新用戶的默認屬性值
七、總結
這里簡單介紹了用戶和組的概念還有一些重要配置文件每個字段的含義,相關一些命令的使用下節介紹。
原創文章,作者:xiaoqing,如若轉載,請注明出處:http://www.www58058.com/28143