10、自學——Linux的學習進度與任務【用戶和用戶組相關操作】
用戶和用戶組相關操作
用戶和用戶組定義:
用戶:資源獲取標識符(資源分配),是安全權限模型的可信要素之一
用戶組:用戶組是指多個用戶的集合,方便對一類需要同樣權限的用戶授權
密碼:用戶認證
Linux是多用戶、多任務的操作系統。
多用戶指:多人同時使用系統資源;多任務:同時運行多個進程
用戶和用戶組的類別:
1、用戶:名稱解析庫 /etc/passwd
a、管理員
root 用戶標識(UID)為0
b、普通用戶及系統用戶
普通用戶的用戶標識(既UID):
CentOS 5,6: 500+
CentOS 7: 1000+
系統用戶用戶標識(既UID):
CentOS 5,6: 1-499
CentOS 7: 1-999
2、用戶組:名稱解析庫 /etc/group
a、管理員組
組標識為:0
b、普通用戶組及系統用戶組
普通用戶組標識:
CentOS 5,6: 500+
CentOS 7: 1000+
系統用戶組標識:
CentOS 5,6: 1-499
CentOS 7: 1-999
3、用戶組類別:
以用戶為核心分為:
用戶的主組:基本組;
用戶的附加組:額外組;
以容納的用戶來劃分:
私有組:與用戶名相同,且只有一個用戶;
共有組:組內包含了多個用戶;
用戶及用戶組的認證機制
Linux的用戶密碼認證方式在centos7中使用sha512
認證信息庫存儲位置:
用戶的認證(密碼)信息庫:/etc/shadow
組的認證信息庫:/etc/gshadow
密碼:加密存放,使用單向加密機制
加密方法:
對稱加密:如果加密和解密使用的同一個密鑰.DES數據加密標準,3DES,AES,
公鑰加密:DSA,RSA
單向加密:輸入的數據相同,則輸出相同
輸入的數據不同,則雪崩效應
定長輸出
不可逆
MD5:信息摘要128bits
SHA1:安全的hash算法:160bits
SHA256:
SHA512:
操作:
# md5sum 文件 :檢測密碼
# sha1sum 文件
用戶及用戶組管理命令
添加組:
# groupadd [options] group
-g GID:指明GID;
-r, –system:系統組
修改組信息:
# groupmod [選項] GROUP
-g GID
-n NEW_NAME:修改組名;
刪除組:
# groupdel [選項] GROUP
添加用戶:
# useradd [選項] 登錄名
-c, –comment COMMENT:註釋信息,一般為Full Name:
-d, –home /PATH/TO/HOME_DIR:家目錄路徑;目標路徑不能事先存在,否則會有警告,不會復制skel相關的文件給用戶;
-g, –gid GROUP:用戶的基本組組名或GID;
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:用戶所屬的附加組列表,彼此間用逗號隔開,中間沒有空格;
-m, –create-home:強制創建家目錄;
一般指當CREATE_HOME變量為設置時必須使用此參數
-M:不創建用戶主目錄,即使系統在 /etc/login.defs 中的設置 (CREATE_HOME) 為 yes;
-r, –system:創建一個系統賬戶
創建系統用的UID在0-999之內。且不創建家目錄
-s, –shell SHELL:用戶的登錄 shell 名,默認為留空,讓系統根據 /etc/default/useradd 中的 SHELL 變量選擇默認的登錄shell;
-u, –uid UID:用戶 ID 的數字值。此值必須為唯一的,除非使用了 -o 選項。此值必須非負,默認使用大於等於UID_MIN,且大於任何其他用戶 ID 最小值。
註意:創建登錄用戶時,為其自定義的shell程序必須為可登錄shell,且要位於/etc/shells文件中;
# useradd -D:顯示創建用戶時的默認設置;
# useradd -D 選項:設置某默認選項;
-e, –expiredate EXPIRE_DATE:用戶賬號的過期期限;過期後會被鎖定;日期以 YYYY-MM-DD 格式指定
-f, –inactive INACTIVE:密碼過期後,賬戶被徹底禁用之前的天數。0 表示立即禁用,-1 表示禁用這個功能。
配置文件:
為用戶提供默認配置的配置文件:
/etc/login.defs, /etc/default/useradd
影子口令文件:/etc/shadow
/etc/shadow每個字段的意思:
登錄名:密碼:最近一次的修改時間:密碼的最短使用期限:密碼最長使用期限:提前警告的天數:非活動期限:賬號的禁用日期:保留字段
修改賬號信息:
# usermod [選項]
-c, –comment COMMENT
-d, –home HOME_DIR:修改家目錄為新的位置,但一般應該同時使用-m選項以保證原家目錄中的文件會移動到新目錄中;
-g, –gid GROUP
-G, –groups GRO UP1[,GROUP2,…[,GROUPN]]]:修改時會覆蓋原有的附加組;一同使用-a選項,表示為用戶添加新的附加組;
-l, –login NEW_LOGIN:修改當前用戶的用戶名;
-s, –shell SHELL
-u, –uid UID
-L, –lock:鎖定用戶的密碼。這會在用戶加密的密碼之前放置一個“!”
-U, –unlock:解鎖用戶的密碼。這將移除加密的密碼之前的“!”
刪除用戶賬號:
# userdel [選項] 登錄名
-r, –remove:用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一起刪除
密碼管理命令:
(1)# passwd:修改自己的密碼;
(2)# passwd username:修改其它用戶的密碼,僅root有此權限;
密碼復雜度:
(1) 不能少於8個字符;
(2) 不能使用與過去的密碼太相似的密碼;
(3) 應該使用四類字符中的至少三類;
選項:
-l:鎖定密碼
-u:解鎖解密
-d:清除密碼
與usermod不同的是,passwd在鎖定時密碼前面有兩個!!號
特殊用法:可以避免交互式
–stdin:從標準輸入接收密碼;
echo "PASSWORD" | passwd –stdin USERNAME
為組添加密碼:
組密碼文件:/etc/gshadow
# gpasswd [選項] group
-a USERNAME:把用戶添加至組中;
-d USERNAME:從此組中移除此用戶;
# newgrp命令:登錄到一個新組
# chage命令:修改用戶賬號的各種期限;
查看用戶相關信息:
# id UserName
-u :顯示UID,跟-n一起使用則顯示用戶名
-g :顯示基本組ID,跟-n一起使用則顯示基本組名
-G:顯示所有組ID。跟-n一起使用則顯示所有組名
修改用戶的屬性定義:
修改用戶默認shell:# chsh
修改用戶註釋:# chfn
切換用戶:
su :Switch User
切換用戶:
# su Username
-l(不加-l非登陸切換):登陸式切換
-c"COMMAND":
10、自學——Linux的學習進度與任務【用戶和用戶組相關操作】