用戶配置文件:/etc/passwd
cat /etc/passwd查看linux用戶配置文件:
*用戶配置文件的內容一共分為7段,通過 :劃分,
第一段代表用戶名
第二段x代表密碼,保存在/etc/shadow文件中
第三段代表uid(用戶編號),
第四段代表gid(用戶組編號
第五段代表注釋(通常為空或描述用戶相關注釋)
第六段代表用戶家目錄
第七段代表用戶的shell(通常為/bin/bash,系統創建用戶有/sbin/nologin等,nologin表示不能登錄)
密碼配置文件:/etc/shadow
*密碼配置文件與/etc/passwd用戶配置文件對應,分為9段,通過 :劃分,
第一段代表用戶名,
第二段代表加密后的密碼(兩個用戶密碼相同,加密后的值也不同)
第三段代表上次更改密碼的日期(單位:天,從1970/01/01計算到上次修改密碼那天過了多少天的天數)
第四段代表兩次修改密碼中間所需的最小天數
第五段代表密碼保持有效的最大天數
第六段代表密碼失效前多少天開始提示用戶
第七段代表用戶在沒有登錄的情況下賬號保持有效的最大天數
第八段代表用戶賬號的失效時間
第九段暫無意義,保留域
系統備份文件
*在/etc目錄下出現的一些文件名后面加 - 符號的文件是系統自動備份文件,用于誤刪重要文件時恢復數據
用戶組管理
1.增加用戶組:groupadd groupname
創建好用戶組之后查看用戶組配置文件,顯示已經創建成功,gid(用戶組編號)為1004*
2.創建用戶組時指定gid(用戶組編號),-g參數
*指定gid時選擇1000以上未被使用的數字,1000以下為系統保留gid
3.刪除用戶組:groupdel groupname
刪除用戶組時,如組內有用戶則不能刪除*
用戶管理
1.創建用戶: useradd username
新增用戶時如不指定用戶組,會創建一個與username相同的組*
2.創建用戶時指定用戶組: -g 參數
*如下圖:創建用戶usertest2時,指定用戶組為grouptest,創建完成后查看用戶配置文件gid為用戶組grouptest的gid:1001
**補充:
-u參數:指定用戶uid(用戶編號)
-d參數:指定用戶家目錄
-s參數:指定用戶shell(/bin/bash、nologin等)
-M參數:在創建用戶時,不創建家目錄
創建用戶命令還可以是:adduser username*
3.刪除用戶:userdel username
*需要注意在使用該命令刪除用戶后,不會刪除用戶家目錄,ls /home發現usertest2用戶目錄還在
4.刪除用戶的同時刪除用戶家目錄:-r 參數
5.usermod命令:更改用戶信息
修改用戶uid:usermod -u uid username
修改用戶gid:usermod -g gid username
修改用戶家目錄:usermod -d 目錄路徑 username
修改用戶shell:usermod -s shell路徑 username
鎖定用戶:usermod -L username
解鎖用戶:usermod -U username
修改用戶拓展組:usermod -G groupname username
查看用戶拓展組信息:id username,linux中用戶可以屬于多個組,如下圖第三列顯示的就是用戶拓展組*
給linux01用戶添加用戶組linux02:
給linux01用戶添加多個組(linux02、linux03):
*需要給用戶添加多個拓展組時,需要寫上所有要添加的組用","分隔開,如果第一次添加linux02組,第二次再添加linux03組,那么linux03組會覆蓋linux02組,linux01用戶的拓展組就只有linux03
用戶密碼管理
1.更改密碼:
root用戶更改密碼命令:passwd
提示密碼難度不夠時,再次輸入即可更改成功*
普通用戶更改密碼命令:passwd username
*提示密碼長度不夠時,再次輸入即可更改成功
密碼更改成功后查看密碼配置文件/etc/shadow中linux01的第二列已經是加密內容:
第二列顯示"!!"代表用戶未設置密碼,不能登錄*
當第二列顯示 "*"號時代表密碼被鎖定,也是無法登陸的用戶*
2.鎖定與解鎖用戶密碼:
鎖定密碼:passwd -l username
*將剛才創建好密碼的用戶linux01鎖定后查看密碼配置文件/etc/shadow第二列密碼加密內容前面顯示"!!",代表用戶密碼已被鎖定
解鎖密碼:passwd -u username
解鎖用戶linux01的密碼后,查看密碼配置文件顯示正常*
**鎖定與解鎖用戶密碼還可以使用上文所說的usermod命令,-L 參數:鎖定密碼,-U 參數:解鎖密碼
3.stdin參數:
給用戶設置密碼時,使用stdin參數,可以直接修改無須二次驗證,常用語編寫shell腳本中
4.一次性修改密碼:(在不使用stdin參數時,也可以無需二次驗證修改密碼)
使用echo -e一次性修改密碼,echo命令加上-e參數時,\n可以解析為換行( \t → tab),組合管道符"|"使用可以直接修改密碼,無需二次驗證*
密碼生成工具:mkpasswd
1.安裝expect包:yum -y install expect
2.生成隨機密碼:
*輸入mkpasswd即可生成隨機密碼,-l 參數:指定生成密碼的長度,-s 參數:指定生成的隨機密碼包含幾個特殊字符
su命令:
*su命令有兩種用法:1.切換用戶,2.以某個用戶的身份執行一條命令
1.切換用戶:su - username
[root@localhost ~]# su - linux01 # - 切換用戶的同時切換用戶環境變量
上一次登錄:二 9月 3 19:02:22 CST 2019pts/0 上
[linux01@localhost ~]$ pwd
/home/linux01 #切換完成后查看當前位置顯示在用戶家目錄中
-------------------------------------------------------------------
[root@localhost ~]# su linux01
[linux01@localhost root]$ pwd
/root #不加 - 只切換用戶不切換用戶環境變量,當前位置還在/root目錄中
[linux01@localhost root]$ ls
ls: 無法打開目錄.: 權限不夠
2.以某個用戶的身份去執行命令: -c 參數
*以linux01用戶的身份在/test目錄下創建文件,查看文件屬于linux01用戶
[root@localhost ~]# su - -c "touch /test/linux01file.txt" linux01
[root@localhost ~]# ls -l /test/
總用量 0
-rw-rw-r-- 1 linux01 linux01 0 9月 3 19:21 linux01file.txt
sudo命令:
*讓普通用戶臨時擁有root用戶的權限
使用linux01用戶查看root用戶家目錄:
[linux01@localhost ~]$ whoami
linux01
[linux01@localhost ~]$ ls /root/
ls: 無法打開目錄/root/: 權限不夠
給linux01用戶添加sudo權限:
[root@localhost ~]# visudo #編輯sudo配置文件
找到配置文件用以root開始的行:
添加如下內容,使linux01用戶可以臨時擁有root用戶的ls、cat權限:
切換linux01用戶,使用sudo查看/root目錄以及目錄中的文件:
[root@localhost ~]# su - linux01
上一次登錄:二 9月 3 21:20:21 CST 2019pts/0 上
[linux01@localhost ~]$ ls /root/
ls: 無法打開目錄/root/: 權限不夠
[linux01@localhost ~]$ sudo ls /root #在sudo配置文件中添加權限后即可查看
[sudo] linux01 的密碼: #第一次執行需要驗證用戶密碼
test.log
[linux01@localhost ~]$ sudo cat /root/test.log
ABCDEFG
如需在使用sudo時不驗證密碼,在配置文件中加上NOPASSWD: 即可:
[root@localhost ~]# su - linux02
[linux02@localhost ~]$
[linux02@localhost ~]$ sudo ls /root/
test.log #修改配置文件后沒有要求密碼驗證,直接顯示結果
限制root遠程登錄:
*在某些情況下,為安全考慮可以限制root用戶遠程登錄
[root@localhost ~]# vi /etc/ssh/sshd_config #編輯配置文件限制root遠程登錄
將此次配置項的注釋符號"#"去掉,修改配置值為no
[root@localhost ~]# systemctl restart sshd #重啟ssh服務
遠程登錄提示SSH服務器拒絕了密碼,限制遠程登錄成功
在限制root用戶使用遠程登錄后,有需要的普通用戶可以使用su命令切換到root用戶,但同時又不想讓普通用戶知道root密碼,此時可以使用sudo免密碼驗證登錄root用戶:
編輯sudo配置文件:
此時即可使用sudo免密碼認證登錄root用戶:
[linux01@localhost ~]$ whoami
linux01
[linux01@localhost ~]$ sudo su - root
上一次登錄:二 9月 3 22:44:47 CST 2019pts/0 上
[root@localhost ~]#
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。