用戶和用戶組的基本概念:docker
Linux的用戶是經過帳號和密碼登陸到Linux系統的,而Linux主機並不會直接識別帳號和密碼,它只認識ID。那麼Linux系統用戶的ID分爲如下類別:shell
系統管理員:root,0-UIDide
普通用戶:1-65535-UID測試
普通用戶有分爲:系統用戶和登陸用戶加密
系統用戶:1-999-UIDspa
登陸用戶:1000-65535-UID命令行
Linux用戶組(GID)的分類:對象
管理員組:root,0(GID)遞歸
普通用戶組:1-65535(GID)進程
普通用戶組又分爲:
系統組:1-999(GID)
登陸用戶組1000-65535(GID)
一個用戶能夠有多個不一樣的組,叫作用戶的基本組(主組)和附加組。基本組的組名和用戶名相同,只包含一個用戶,也叫私有組。基本組以外的組就是用戶的附加組。
與Linux用戶和組相關的配置文件爲/etc/passwd,此文件記錄用戶和用戶的屬性信息。
能夠經過whatis passwd來查看起對應的配置文件的幫助信息。
或者也能夠經過#man 5 passwd命令行去查看。
name:password:UID:GID:GECOS:directory:shell
分別表示的信息是:用戶名:密碼:UID:GID:用戶的註釋信息:用戶的家目錄:用戶默認的shell類型。
組的相關的配置文件/etc/group。
和passwd同樣能夠經過命令行去查看此配置文件的幫助信息。
group_name:password:GID:user_list
分別表示的信息是:組名:密碼:GID:以此組爲附加組的用戶列表。
/etc/shadow
保存用戶的密碼、帳號有效期等信息,每一行對應一個用戶的密碼記錄,九個字段
用戶名:加密密碼:最近修改密碼時間:密碼最短有效期:密碼最長有效期:密碼的警告時間段:密碼禁用期:帳號過時日期:保留字段。
當用戶登陸系統時,系統經過比對事先存儲的信息與登陸時提供的信息是否一致。
組配置文件保存的路徑:
/etc/group:保存組賬號基本信息
/etc/gshadow:保存組賬號的密碼信息
用戶管理常見命令的常見用法:
一、groupadd:表示建立一個新的用戶組。
-g 指定用戶組的UID(默認是上一個組的GID+1)
-r 建立系統組
二、groupdel:刪除組
三、groupmod:修改組屬性
-g 表示修改GID
-n 表示修改組名
四、useradd:表示建立用戶
-u:表示指定用戶的UID
-g:表示指定用戶的基本組名(此組事先必須存在)
-c:表示指明註釋信息
-d:表示以指定路徑爲用戶的家目錄,經過複製/etc/skel目錄,並重命名實現。指定的家目錄路徑若是事先存在則不會爲用戶複製環境的配置文件
-r:表示建立系統用戶
-G:指定用戶的附加組名(或GID號)多個附加組用逗號隔開
-M:表示不爲用戶建立主目錄
-s:指定用戶的默認的Shell可用的shell列表在/etc/shells文件中
-D:表示顯示建立用戶的默認配置
五、usermod:修改用戶屬性信息
-u:表示修改用戶的ID
-g:表示修改用戶所屬的基本組
-G:表示修改用戶的附加組,原來的會被覆蓋。若是想保留原來的附加組,則使用-a選項,與-G一同使用則表示增長附加組。
-c:表示修改註釋信息
-d:表示修改用戶的家目錄。用戶原有的家目錄文件不會被轉移代新的目錄中,而若是和-m選項一同使用則表示將原來的家目錄移動爲新的家目錄。
-l:表示修改用戶名
-s:表示修改用戶的默認的shell
-L:鎖定用戶的密碼
-U:解鎖用戶的密碼
六、userdel:刪除用戶
-r:表示在刪除用戶的同時,刪除用戶的家目錄
七、passwd:修改用戶的密碼
#passwd username 修改指定用戶的密碼,僅root有此權限。Root不須要知道其餘用戶原來的密碼。
-l、-u:表示鎖定和解鎖用戶的密碼
-d:表示清除用戶的密碼
-e:過時期限
-i:非活動期限
-n:密碼的最短使用期限
-x:密碼的最長使用期限
-w:警告期限
--stdin:
eg:#echo ‘111111111’ | passwd --stdin username
將某用戶的密碼設置爲111111111
八、gpasswd 設置組賬號密碼、添加/刪除組成員
-a:向組內添加一個用戶
-d:從組內刪除一個用戶成員
九、newgrp:臨時切換基本組
十、chage:改密碼的 過時信息
十一、id:查看用戶的相關ID信息
-u:顯示ID
-g:顯示基本組的GID
-G:顯示全部的附加組
-n:顯示name
十二、su:switch user 用戶切換
su - username /su -l username 表示登陸式切換,從新讀取用戶的配置文件來從新初始化。
su username 表示非登陸式切換,不會讀取目標用戶的配置文件進行初始化。
-c:eg:
#su - docker -c ‘whoami’-----------docker 命令引用
用戶的權限管理:
用戶對於文件或目錄的訪問權限有三種分別是:
r:readable 可讀的 , 4
w:writable 可寫的 ,2
x:excutable 可執行的 , 1
而對於文件或者目錄的訪問者也有三種分別是:
user:屬主,u
group:屬組,g
other:其餘,o
屬主:擁有該文件或目錄的用戶賬號
屬組:擁有該文件或目錄的組賬號
進程對文件或目錄的訪問權限應用模型:訪問者的訪問權限與文件或目錄的屬主是否相同,若是相同,應用屬主權限,不然檢查進程的發起者是否屬於屬組,若是屬於,則使用屬組權限訪問,若是不一樣,則使用其餘訪問權限訪問。
被訪問的對象若是是文件則:
r:即是可獲取文件的數據
w:表示可修改文件的數據
x:可將此文件發起運行爲進程
被訪問的對象若是是目錄則:
r:可用ls命令獲取其下的全部文件列表
w:可修改此目錄下的文件列表
x:可cd至此目錄中,且可以使用ls -l獲取文件詳細屬性信息
權限的表示方法:
權限、 二進制、 八進制
——— 000 0
——x 001 1
—w— 010 2
—wx 011 3
r—— 100 4
r—x 101 5
rw— 110 6
rwx 111 7
權限管理命令:
chmod
-R:表示遞歸
chmod u= 、g= 、o=、ug= ..........
chmod u+ 、g+ 、o+、ug+ ..........
chmod u- 、g- 、o-、ug- ..........
chmod 660............... file
chmod ......--reference=rfile file........引用參考文件
從屬關係管理命令:
chown命令
chown [OPTION]....[OWNER][:[GROUP]] FILE......
-R:表示遞歸
一、owner只改屬主
二、owner: group 修改屬主和屬組
三、group只修改屬組
chgrp:修改文件的屬組
umask:文件或目錄建立時的遮罩碼,遮罩碼就是建立一個文件或目錄時的默認權限
文件的默認遮罩碼是666-umask 目錄的默認遮罩碼是777-umask
umask命令
umask:查看umask值
umask #:設定umask值
install命令 複製文件和設置屬性
單源和多源複製
-d:建立空目錄
-m:設定目標文件的權限,默認是755
-o:設定目標文件的屬主
-g:設定目標文件的屬組
mktemp命令 建立臨時文件
-d:建立臨時目錄
-u:用於測試 dry run