系統(tǒng)用戶管理
- 系統(tǒng)用戶重要文件:4個
(1)/etc/passwd :系統(tǒng)用戶記錄文件
[root@www ~]# cat /etc/passwd
Root :x :0 :0 :root :/root :/bin/bash
Bin :x :1 :1 :bin :/bin :/sbin/nologin
01列: 用戶名稱信息
02列: 用戶密碼信息
03列: 用戶uid數(shù)值信息
04列: 用戶gid數(shù)值信息
05列: 用戶注釋信息 (usermod -c “test user” oldboy 為oldboy用戶 添加注釋)
06列: 指定用戶家目錄 (useradd xuniyonghu –M –s /sbin/nologin 創(chuàng)建虛擬用戶)
07列: 用戶登錄系統(tǒng)方式 bash == shell nologin(不能登錄)
(2)/etc /shadow : 系統(tǒng)用戶密碼(密文)記錄文件
Chrony :!! :18103: : : : : :
Ntp :!! :18105: : : : : :
01列:用戶名稱信息
02列: 用戶密碼信息 (!表示沒有密碼)
生成密碼密文信息
利用python模塊功能
yum install python-pip
pip install passlib
優(yōu)化pip源
~/.pip/pip.conf
中添加或修改:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
python -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.using(rounds=5000).hash(getpass.getpass()))"
(3)/etc/group : 系統(tǒng)用戶組記錄文件
[root@www ~]# cat /etc/group
Root :x :0 :
Bin :x :1 :
Daemon :x :2 :
(4)/etc/gshadow : 系統(tǒng)用戶組密碼記錄文件
[root@www ~]# cat /etc/gshadow
Root : : :
Bin : : :
Daemon : : :
- 系統(tǒng)用戶重要目錄:
/etc/skel --- 樣板房
useradd oldboy
01. 將用戶信息填充到用戶文件中
02. 在/home目錄創(chuàng)建家目錄 mkdir /home/oldboy(權(quán)限700)
03. cp -r /etc/skel/.bas* /home/oldboy
/etc/skel/* /home/oldboy
[圖片上傳失敗...(image-91809d-1564489993654)]
企業(yè)面試題: 恢復(fù)命令提示:
方式一: 修改PS環(huán)境變量
vim /etc/profile
export PS1='[\e[32;1m][\u@\h \W]$ [\e[0m]'
方式二: 復(fù)制/etc/skel目錄中的隱藏文件
cp /etc/skel/.bash* /home/oldboy/
3.如何進行用戶提權(quán)操作:
切換用戶為root
su - / su - root
修改文件或目錄權(quán)限chmod:
- 單獨修改權(quán)限信息: (+rwx/ -rwx/ =rwx)
? 單獨修改屬主權(quán)限 chmod u+r/w/x 文件名 u--user
? 單獨修改屬組權(quán)限 chmod g+r/w/x 文件名 g--group
? 單獨修改其他用戶權(quán)限 chmod o+r/w/x 文件名 o—other\
- 批量修改權(quán)限信息:
? 利用數(shù)值進行修改 chmod 數(shù)值 文件名
? 利用符號修改權(quán)限 chmod a+rwx 文件名
利用sudo方式對指定用戶提權(quán)
第一個里程: root用戶設(shè)置其他用戶權(quán)限(visudo)
Visudo 在100行添加
oldboy ALL=(ALL) /sbin/, /bin/, vi
oldboy ALL=(ALL) /bin/*, !/bin/vim, !/usr/sbin/visudo --- 對有些危險命令進行取反配置
oldboy ALL=(ALL) NOPASSWD: /bin/*, !/bin/vim, !/usr/sbin/visudo --- 忽略sudo密碼信息
!表示取反 NOPASSWD 表示忽略密碼
第二個里程: 測試賦予權(quán)力
普通用戶測試執(zhí)行
sudo -l --- 查看特殊權(quán)限
/bin/cat /etc/shadow, /bin/touch /etc/*
sudo cat /etc/shadow --- 操作命令
sudo -l --- 查看sudo權(quán)力
sudo -k --- 清除sudo密碼緩存
visudo(語法檢查功能) == vim /etc/sudoers
visudo -c --- 檢查/etc/sudoers文件合法性
04. 系統(tǒng)特殊權(quán)限位 12位權(quán)限
(1) setuid (4-s):可以讓普通用戶獲得一個命令文件屬主能力 (root)
修改命令權(quán)限:
chmod u+s /usr/bin/cat
chmod 4755 /usr/bin/cat
補充: s權(quán)限位會覆蓋執(zhí)行權(quán)限位:
執(zhí)行權(quán)限位有x setuid符號為小寫
執(zhí)行權(quán)限位無x setuid符號為大寫
(2)setgid (2-s): 可以讓普通用戶獲得一個命令文件屬組能力 (root)
修改命令權(quán)限:
chmod g+s /usr/bin/cat
chmod 2755 /usr/bin/cat
(3)sticky bit: t=1 對目錄設(shè)置
創(chuàng)建一個共享目錄, 目錄中文件數(shù)據(jù)只能屬主用戶操作
其他用戶只能看不能改, 也不能刪除
[root@oldboyedu ~]# chmod o+t /share/
[root@oldboyedu ~]# chmod 1777 /share/
[root@oldboyedu ~]# ll /share/ -d
drwxrwxrwt 2 root root 43 Jul 29 19:45 /share/
05. 用戶管理相關(guān)命令:
useradd: 創(chuàng)建用戶
-u :指定uid信息
-g :指定用戶所屬主要組
-G :指定用戶所屬附屬組
-M :不創(chuàng)建用戶家目錄
-s :指定用戶shell登錄方式 /sbin/nologin
useradd rsync -M -s /sbin/nologin --- 創(chuàng)建虛擬用戶
-c :給用戶添加注釋信息
userdel:刪除用戶
userdel -r 徹底刪除用戶,以及家目錄
usermod:
-u : 指定uid信息
-g : 指定用戶所屬主要組
-G : 指定用戶所屬附屬組
-s : 指定用戶shell登錄方式 /sbin/nologin
useradd rsync -M -s /sbin/nologin --- 創(chuàng)建虛擬用戶
-c : 給用戶添加注釋信息
groupadd: -g
groupdel:
groupmod: -g
chmod:
chown:
passwd: --stdin
id: uid gid 用戶組成員信息
w:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 15:22 4:48m 0.18s 0.18s -bash
root pts/1 10.0.0.1 18:21 4.00s 0.54s 0.00s w
01: 登錄系統(tǒng)用戶信息
02: 登錄方式 tty本地登錄 pts/1遠程登錄
echo "請其他用戶最近2天不要修改/home/oldboy/oldboy.txt" >/dev/pts/0
03: 顯示登錄的源IP地址
04: 登錄時間
05: 登錄之后空閑時間
06-07: 執(zhí)行命令耗費CPU時長
08: 執(zhí)行了什么操作
last: 顯示用戶曾經(jīng)登錄歷史記錄
lastlog: 顯示系統(tǒng)所有用戶登錄信息