Linux 使用者管理

孤竹星發表於2015-08-03
使用者識別符號:UID與GID
登入linux使用的是賬號,Linux主機並不會直接認識你的“賬號名稱”,它僅識別ID。ID與賬號對應關係存放在/etc/passwd中,ID與使用者組對應關係存放在/etc/group

管理員:使用者管理、許可權管理
每個使用者至少需要取得兩個ID (UserID,簡稱UID),(GroupID,GID)
名稱解析:UserName<-->UID

認證機制:預設的認證機制shadow,影子口令,password

安全上下文:程式啟動並執行為一個程式時,程式是以啟動此程式的使用者的身份執行的。

組:group,使用者組 存放使用者及許可權的集合
組名:GroupName
組表示:Group ID,GID

Linux 使用者:
使用者類別:
                管理員:root 0
                普通使用者:系統使用者:執行後臺執行的服務程式而特別建立,不能登入系統 1-499
                可互動式登入使用者:500-65535
組類別:
                管理員:root,0
                普通組:
                            系統組:1-499
                            使用者組:500-65535

組的另一種分類方式:
使用者的私有組:組名同使用者名稱,且通常只包含一個使用者;hadoop  hadoop
非私有組:
使用者基本組:使用者執行操作時其所宣稱所屬的組;
使用者附加組:使用者基本組之外所屬的其它的組

Linux使用者及組相關的配置檔案:
    使用者及其屬性資訊:/etc/passwd
    組及其屬性資訊:/etc/group
    使用者密碼及其相關屬性:/etc/shadow
    組密碼及其相關屬性:/etc/gshadow

/etc/passwd:
使用者名稱:密碼:UID:GID:GECOS:HOME:SHELL
root   : x    :0   :0    :root    :/root:/bin/bash

/etc/group:
組名:密碼:GID:逗號分隔的使用者列表
root :x    :0   :

使用者和組管理相關的命令:

useradd [OPTION] USERNAME
-u UID: 使用指定的ID號;
-c 'COMMENT':使用者GECOS;
-d /path/to/somewhere:指定使用者家目錄,此目錄事先可以不存在;如果存在,則可能會報出警告資訊;
-s /path/to/shell: 指定使用者的預設shell,可用shell應該為/etc/shells當中定義的安全shell;
-g GrpName或GID:指定使用者所屬的基本組;組必須事先存在;
-r: 建立系統使用者
-G GrpName或GID:指定使用者所屬附加組;組必須事先存在;

命令建立使用者使用的預設資訊的相關配置檔案:/etc/default/useradd
/etc/login.defs

groupadd [OPTION] GRPNAME
-g GID: 指定當前建立的組的ID;
-r: 建立系統組

id [OPTION] USERNAME
-u: 僅顯示UID
-g: 僅顯示GID

userdel [OPTION] USERNAME
-r: 刪除使用者的同時刪除使用者的家目錄;

groupdel GRPNAME

usermod 
   -u UID: 使用指定的ID號;
-c 'COMMENT':使用者GECOS;
-d /path/to/somewhere:修改使用者的家目錄;通常要與-m選項一起使用以實現移動使用者(移動的目標家目錄不能存在)家目錄;
-s /path/to/shell: 修改使用者的預設shell為指定的shell,可用shell應該為/etc/shells當中定義的安全shell;
-g GrpName或GID:指定使用者所屬的基本組;組必須事先存在;
-G GrpName或GID:修改使用者所屬附加組,此處指定的組會覆蓋原有的組;組必須事先存在;
可同時使用-a選項,表示為使用者追加附加組;
-l USERNAME: 使用者改名;

-L USERNAME: 鎖定
-U USERNAME: 解鎖

groupmod
-g GID: 修改組的ID號;
-n NEW_NAME: 修改組名;

chsh USERNAME
-l: 列出安全shell
-s SHELL: 修改為指定SHELL

Linux的預設認證機制:shadow
透過/etc/shadow檔案$中儲存使用者密碼等相關資訊;

root:$6$pOlKOsa3$aYEAl84sM6WJT2DZ/QVCR/Td2jZZzDmeE4RWWydjMVbC/Z9co7FPY9ojRhlEupW5O4e2o2ZOd0Q3ZobPnfmwf.:16535:0:99999:7:::
登入名:密碼:上次修改密碼的時間:密碼最短使用期限:密碼最長使用期限:密碼警告區間:密碼非活動區間:賬號過期期限:預留

加密的密碼:$6$txokdAcM$wF6H4gzYSP.PdRE/c0QKDm/Q3cE7woK8o7nZbTxUxOoF9QNJzwhlIAL/M58C53Sy/tPFQhWcC0W3MEmrZuHIH.
6:加密方式, sha512
txokdAcM:salt
wF6H4gzYSP.PdRE/c0QKDm/Q3cE7woK8o7nZbTxUxOoF9QNJzwhlIAL/M58C53Sy/tPFQhWcC0W3MEmrZuHIH.:密碼

最近一次的密碼修改時間:單位為“天”,指的上次修改密碼時距Unix元年  1970 所經過的天數;

passwd兩種應用方式:
普通使用者:passwd
管理員: passwd [USERNAME]

--stdin: 用法格式 echo "PASSWORD" | passwd --stdin USERNAME
-l: lock,鎖定使用者賬號
-u: unlock,解鎖使用者賬號

gpasswd GROUPNAME: 
為組新增密碼,組密碼儲存在/etc/gshadow檔案中

newgrp GROUPNAME: 切換基本組為指定的組
1、如果使用者不屬於此組,需要輸入組密碼;
2、如果使用者以此組為附加組,無需密碼;

su: switch user
登入式切換:完全切換,讀取目標使用者的所有配置檔案
su - [USERNAME]
su -l [USERNAME]
exit: 退出此前的使用者
非登入式切換:不會讀取目標使用者環境配置檔案‘
su [USERNAME]

-c 'COMMAND':
# su - USERNAME  -c 'COMMAND'

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28282660/viewspace-1760609/,如需轉載,請註明出處,否則將追究法律責任。

相關文章