目錄
用戶和組管理
用戶管理
密碼管理
組管理
用戶創(chuàng)建命令useradd
用戶刪除命令userdel
查看用戶帳號(hào)的信息命令id
usermod 修改用戶帳號(hào)屬性的命令
切換用戶命令su
密碼管理命令passwd
密碼生成工具openssl
創(chuàng)建組命令groupadd
刪除組命令groupdel
各配置文件說明
密碼復(fù)雜性
用戶和組概念
用戶分類
Linux安全上下文
Linux用戶組類別
何為用戶何為組?
Linux用戶和組相關(guān)的配置文件
用戶和組相關(guān)的管理命令
何為用戶何為組?
用戶和組概念
例子 |
---|
進(jìn)火車站刷臉 |
上下班刷指紋 |
天地會(huì)接頭暗號(hào) |
用戶存在的目的是為了實(shí)現(xiàn)資源的分派。
例子 |
---|
共享單車抱回家 |
總經(jīng)理行使權(quán)利 |
Authentication:認(rèn)證
Authorization:授權(quán)
Accouting:審計(jì)
用戶分類
Linux用戶分為管理員和普通用戶兩種:
用戶類別 | 用戶ID |
---|---|
管理員 | 0 |
普通用戶 | 1-65535 |
其中普通用戶又分為系統(tǒng)用戶和登錄用戶兩種:
用戶類別 | 用戶ID |
---|---|
系統(tǒng)用戶 | 1-999(為守護(hù)類進(jìn)程獲取系統(tǒng)資源而完成權(quán)限指派的用戶) |
登錄用戶 | 1000-60000(為了完成交互式登錄使用的用戶) |
Linux安全上下文
運(yùn)行中的程序:進(jìn)程(process)
1.2 以進(jìn)程發(fā)起者的身份運(yùn)行
1.2.1 root:cat
1.2.2 tom:cat
1.3 進(jìn)程所能夠訪問的所有資源的權(quán)限取決于進(jìn)程的發(fā)起者的身份
Linux通過安全上下文的概念完成用戶權(quán)限的指派。
2.2 先判斷用戶是否是某文件的屬主
2.3 再判斷用戶是否屬于某個(gè)組
2.4 最后定其為其他用戶
Linux用戶組類別
用戶組類別 | 特性 |
---|---|
私有組 |
創(chuàng)建用戶時(shí),如果沒有為其指定所屬的組, 系統(tǒng)會(huì)自動(dòng)為其創(chuàng)建一個(gè)與用戶名相同的組 |
基本組 | 用戶的默認(rèn)組 |
附加組(額外組) | 默認(rèn)組以外的其它組 |
Linux用戶和組相關(guān)的配置文件
各配置文件說明
配置文件 | 作用 |
---|---|
/etc/passwd | 用戶及其屬性信息(名稱、uid、基本組id等等) |
/etc/group | 組及其屬性信息 |
/etc/shadow | 用戶密碼及其相關(guān)屬性 |
/etc/gshadow | 組密碼及其相關(guān)屬性。在用戶執(zhí)行基本組切換時(shí)使用 |
配置文件 | /etc/passwd | /etc/group |
---|---|---|
第一字段 | 用戶名 | 組名 |
第二字段 | 密碼占位符 | 組密碼 |
第三字段 | UID | GID |
第四字段 | GID | 以當(dāng)前組為附加組的用戶列表(分隔符為逗號(hào)) |
第五字段 | 用戶的描述信息 | |
第六字段 | 用戶家目錄 | |
第七字段 | 用戶的登錄shell |
配置文件 | /etc/shadow |
---|---|
第一字段 | 登錄名 |
第二字段 | 加密后的密碼 |
第三字段 | 最近一次更改密碼的日期 |
第四字段 | 密碼的最小使用期限 |
第五字段 | 密碼的最大使用期限 |
第六字段 | 密碼警告時(shí)間段 |
第七字段 | 密碼禁用期 |
第八字段 | 帳號(hào)的過期日期 |
第九字段 | 保留字段 |
密碼復(fù)雜性
密碼復(fù)雜性策略:
1.2 使用數(shù)字、大寫字母、小寫字母及特殊字符中至少3種
1.3 足夠長(zhǎng)
1.4 使用隨機(jī)密碼,不要使用有意義的單詞或數(shù)字
1.5 定期更換,不要使用最近曾經(jīng)使用過的密碼
用戶和組相關(guān)的管理命令
用戶管理
用戶創(chuàng)建命令useradd
-u UID
useradd命令用來建立用戶賬號(hào)和創(chuàng)建用戶的起始目錄,使用權(quán)限是終極用戶。-g:指定用戶所屬的起始群組。-G:指定用戶所屬的附加群組。
[root@lnh ~]# id root uid=0(root) gid=0(root) groups=0(root) //查看root用戶信息 [root@lnh ~]# useradd xbz [root@lnh ~]# id xbz uid=1000(xbz) gid=1000(xbz) groups=1000(xbz) //查看用戶id, 組id ,所屬組 [root@lnh ~]# useradd -u 2000 xbz1 [root@lnh ~]# id xbz1 uid=2000(xbz1) gid=2000(xbz1) groups=2000(xbz1) //定義用戶id,一般組id也會(huì)和其一樣
-g GID
[root@lnh ~]# useradd -g 2000 xbz1 [root@lnh ~]# id xbz1 uid=1001(xbz1) gid=2000(xbz1) groups=2000(xbz1) //定義gid組id
-G groupname(組名)
[root@lnh ~]# useradd -G xbz1 xbz2 [root@lnh ~]# id xbz2 uid=1002(xbz2) gid=1002(xbz2) groups=1002(xbz2),2000(xbz1) //給xbz2添加xbz1附屬組
-c "COMMENT"
[root@lnh ~]# useradd -c xbz1 xbz3 [root@lnh ~]# id xbz3 uid=1003(xbz3) gid=1003(xbz3) groups=1003(xbz3) [root@lnh ~]# useradd -c xx hh [root@lnh ~]# tail -5 /etc/passwd xbz:x:1000:1000::/home/xbz:/bin/bash xbz1:x:1001:2000::/home/xbz1:/bin/bash xbz2:x:1002:1002::/home/xbz2:/bin/bash xbz3:x:1003:1003/home/xbz3:/bin/bash hh:x:1004:1004/home/hh:/bin/bash //注釋信息
-d
[root@lnh ~]# useradd -d /home/xbz5 xbz5 [root@lnh ~]# cd ~xbz5/ [root@lnh xbz5]# pwd /home/xbz5 //指定用戶的家目錄。此目錄必須不能事先存在, 否則將不會(huì)從/home/xbz5中復(fù)制環(huán)境設(shè)置文件
-s,-M,-r
[root@lnh ~]# useradd -rMs /sbin/nologin tsb [root@lnh ~]# ll /home/ total 0 drwx------. 2 hh hh 62 Jul 3 18:24 hh drwx------. 2 xbz xbz 62 Jul 3 17:44 xbz //-r添加一個(gè)系統(tǒng)用戶,-M創(chuàng)建用戶時(shí)不創(chuàng)建家目錄,-s登錄shell不允許登錄這個(gè)用戶
用戶刪除命令userdel
[root@lnh ~]# userdel aaa [root@lnh ~]# ls /home/ aaa bbb [root@lnh ~]# userdel -r bbb [root@lnh ~]# ls /home/ aaa //直接用userdel刪除,其是默認(rèn)不刪除家目錄,-r刪除是連著家目錄一起刪除
查看用戶帳號(hào)的信息命令id
id,-u,-g,-G
[root@lnh ~]# id xbz uid=1000(xbz) gid=1000(xbz) groups=1000(xbz) //查看用戶信息 [root@lnh ~]# id -u xbz 1000 //用戶id [root@lnh ~]# id -g xbz 1000 //組id [root@lnh ~]# id -G xbz 1000 //附屬組
usermod 修改用戶帳號(hào)屬性的命令
-u UID ,-g GID,-ag
[root@lnh ~]# id tsb uid=995(tsb) gid=992(tsb) groups=992(tsb) [root@lnh ~]# usermod -u 111 tsb //-u 修改用戶id,不能和其他用戶相同 [root@lnh ~]# usermod -g 993 tsb [root@lnh ~]# id tsb uid=111(tsb) gid=993(rngd) groups=993(rngd) //修改組id,組必須事先存在 [root@lnh ~]# usermod -G xxxb tsb [root@lnh ~]# id tsb uid=111(tsb) gid=993(rngd) groups=993(rngd),1112(xxxb) [root@lnh ~]# usermod -G xbz tsb [root@lnh ~]# id tsb uid=111(tsb) gid=993(rngd) groups=993(rngd),1000(xbz) [root@lnh ~]# usermod -aG xxxb tsb [root@lnh ~]# id tsb uid=111(tsb) gid=993(rngd) groups=993(rngd),1000(xbz),1112(xxxb) //-G修改附加組,沒有加-a會(huì)覆蓋前面的附加組
-md
[root@lnh ~]# ll /home/ total 0 drwx------. 2 1007 1007 62 Jul 3 18:53 aaa drwx------. 2 xxxb xxxb 62 Jul 3 19:04 xxxb [root@lnh ~]# usermod -md /opt/shan xxxb [root@lnh ~]# ll /home/ total 0 drwx------. 2 1007 1007 62 Jul 3 18:53 aaa [root@lnh ~]# ll /opt/ total 0 drwx------. 2 xxxb xxxb 62 Jul 3 19:04 shan -rw-r--r--. 1 root root 0 Jul 3 07:55 xbz //改變用戶家目錄的同時(shí)把原來家目錄的文件移動(dòng)到新的家目錄中
-e -f
[root@lnh ~]# usermod -e 2022-7-7 xxxb [root@lnh ~]# usermod -f 2 xxxb [root@lnh ~]# cat /etc/shadow |grep xxxb xxxb19176:0:99999:7:2:19180: //-e YYYY-MM-DD 指明用戶帳號(hào)過期日期 //-f 設(shè)置過期的延緩期限
-L -U
[root@lnh ~]# passwd xxxb Changing password for user xxxb. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully. [root@lnh ~]# usermod -L xxxb [root@lnh ~]# cat /etc/shadow |grep xxxb xxxb:!$6$6RKtLUh/iJRAf5aq$J7MIzJ2sY2VrS5FmeNvrampnjO2S1HyRQKVJz2wYrRI0Qq35CrE/QyxjE6K8mhEV15JqmFOem9ICO0FbeEP6M/:19176:0:99999:7:2:19180: [root@lnh ~]# usermod -U xxxb [root@lnh ~]# cat /etc/shadow |grep xxxb xxxb:$6$6RKtLUh/iJRAf5aq$J7MIzJ2sY2VrS5FmeNvrampnjO2S1HyRQKVJz2wYrRI0Qq35CrE/QyxjE6K8mhEV15JqmFOem9ICO0FbeEP6M/:19176:0:99999:7:2:19180: //-L鎖定帳號(hào),被鎖定的帳號(hào)在/etc/shadow文件中密碼前面會(huì)有一個(gè)!感嘆號(hào) //-U 解鎖帳號(hào)
-s shell
[root@lnh ~]# usermod -s /sbin/nologin xxxb [root@lnh ~]# cat /etc/passwd |grep xxxb xxxb:x:1122:1112::/opt/shan:/sbin/nologin -s//禁止其登錄shell進(jìn)入xxxb
切換用戶命令su
切換用戶的方式 | 特點(diǎn) |
---|---|
su USERNAME | 非登錄式切換,即不會(huì)讀取目標(biāo)用戶的配置文件 |
su - USERNAME | 登錄式切換,即會(huì)讀取目標(biāo)用戶的配置文件。完全切換 |
su - | 不指定用戶時(shí)默認(rèn)切換至root用戶 |
root su至其他用戶不需要密碼,非root用戶su至其他用戶時(shí)需要輸入目標(biāo)用戶的密碼 |
[root@lnh ~]# su tushanbu [tushanbu@lnh root]$ su - Password: Last login: Sun Jul 3 19:56:01 CST 2022 from 192.168.222.1 on pts/0 [root@lnh ~]# su - tushanbu Last login: Sun Jul 3 19:57:00 CST 2022 on pts/0 [tushanbu@lnh ~]$ su - Password: Last login: Sun Jul 3 19:57:31 CST 2022 on pts/0 //在root用戶下可以直接su tushanbu進(jìn)入,su -是不指定用戶默認(rèn)切換到root用戶,su - tushanbu是登錄的方式進(jìn)行切換 [root@lnh ~]# su - tushanbu -c "mkdir xxx" [root@lnh ~]# ls /home/tushanbu/ xxx //不進(jìn)入用戶進(jìn)行創(chuàng)建
bash的配置文件:
配置文件類型 | 配置文件路徑 |
---|---|
全局配置 |
etc/profile /etc/profile.d/*.sh /etc/bashrc |
個(gè)人配置 |
~/.bash_profile ~/.bashrc |
配置文件類型 | 功能 |
---|---|
profile類 | 為交互式登錄的shell提供配置,用來設(shè)定環(huán)境變量、運(yùn)行命令或腳本 |
bashrc類 | 為非交互式登錄的shell提供配置,用來設(shè)定本地變量、定義命令別名 |
登錄式shell如何讀取配置文件? | |
/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc |
非登錄式shell如何讀取配置文件?
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
密碼管理
密碼管理命令passwd
passwd , --stdin
[root@lnh ~]# passwd tushanbu Changing password for user tushanbu. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully. //在root下可以直接進(jìn)行設(shè)置密碼 [root@lnh ~]# echo 1 |passwd --stdin tushanbu Changing password for user tushanbu. passwd: all authentication tokens updated successfully. //標(biāo)準(zhǔn)輸入獲取用戶密碼
-l ,-u ,-d
[root@lnh ~]# passwd -l tushanbu Locking password for user tushanbu. passwd: Success //鎖定用戶 [root@lnh ~]# passwd -u tushanbu Unlocking password for user tushanbu. passwd: Success //解鎖用戶 [root@lnh ~]# passwd -d tushanbu Removing password for user tushanbu. passwd: Success //刪除用戶密碼
-n ,-x,-w,-i
[root@lnh ~]# passwd -n 20 tushanbu Adjusting aging data for user tushanbu. passwd: Success //-n mindays最短使用天數(shù)20天 [root@lnh ~]# passwd -x 200 tushanbu Adjusting aging data for user tushanbu. passwd: Success //-x maxdays最長(zhǎng)使用天數(shù)200天 [root@lnh ~]# passwd -w 10 tushanbu Adjusting aging data for user tushanbu. passwd: Success //-w warndays提前10天前發(fā)出過期警告 [root@lnh ~]# passwd -i 10 tushanbu Adjusting aging data for user tushanbu. passwd: Success //-i inactivedays可以延期10天 [root@lnh ~]# cat /etc/passwd |grep tushanbu tushanbu1123:1123::/home/tushanbu:/bin/bash
密碼生成工具openssl
//語法:openssl command [ command_opts ] [ command_args ]
command //包含標(biāo)準(zhǔn)命令、消息摘要命令、加密命令
version //查看程序版本號(hào)
dgst //提取特征碼
passwd //生成密碼
rand //生成偽隨機(jī)數(shù)
[root@lnh ~]# openssl dgst -md5 /etc/fstab MD5(/etc/fstab)= 431fca5169ffb3a30eb83c94a11dc2f6 //提取特征碼 [root@lnh ~]# openssl passwd -1 -salt hellotom Password: $1$hellotom$o9rUZ07NstylvbqW9RrdV/ //生成密碼 openssl passwd -1 -salt string string一般為8位 [root@lnh ~]# openssl rand -base64 20 aDsYyelB9h6ksGSke6A3bN4OzfI= //生成隨機(jī)數(shù) openssl rand -base64 NUM,NUM表示隨機(jī)數(shù)的長(zhǎng)度 [root@lnh ~]# tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30 |xargs VnRr0QqXyGGS5SHuv1Rl1KK3TYPbcb //生成30位的密碼
組管理
創(chuàng)建組命令groupadd
-g GID ,-r
[root@lnh ~]# groupadd bnx //創(chuàng)建組 [root@lnh ~]# groupadd -g 1222 xnx //指定組id [root@lnh ~]# groupadd -r xbn //-r 創(chuàng)建一個(gè)系統(tǒng)組 [root@lnh ~]# cat /etc/passwd |grep xnx [root@lnh ~]# cat /etc/passwd |grep xbn [root@lnh ~]# cat /etc/group |grep xbn xbn991: [root@lnh ~]# cat /etc/group |grep xnx xnx1222: [root@lnh ~]# cat /etc/group |grep bnx bnx2001:
刪除組命令groupdel
[root@lnh ~]# groupdel bnx [root@lnh ~]# groupdel xbn [root@lnh ~]# groupdel xnx [root@lnh ~]# cat /etc/group |grep bnx [root@lnh ~]# cat /etc/group |grep xbn [root@lnh ~]# cat /etc/group |grep xnx
-
Linux
+關(guān)注
關(guān)注
87文章
11462瀏覽量
212803
原文標(biāo)題:用戶與組管理全攻略:確保權(quán)限分配無懈可擊
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Altium 365高效設(shè)計(jì)評(píng)審全攻略

Linux權(quán)限管理基礎(chǔ)入門

UC3854 功率因數(shù)校正設(shè)計(jì)全攻略:從理論到實(shí)戰(zhàn)

Nginx實(shí)戰(zhàn)全攻略

無感無刷直流電機(jī)驅(qū)動(dòng)全攻略
多方位掌控局域網(wǎng):華企盾電腦管理全攻略助你一臂之力
LED測(cè)試項(xiàng)目及方法全攻略

避坑指南:云服務(wù)器數(shù)據(jù)庫購買方法全攻略
工廠提效必備!機(jī)器設(shè)備資產(chǎn)管理全攻略

linux權(quán)限管理詳解
關(guān)于4G模組LuatOS開發(fā):通用加解密函數(shù)(crypto)|全攻略

華納云:設(shè)置RBAC權(quán)限的方法
Linux用戶身份與進(jìn)程權(quán)限詳解

評(píng)論