1.用戶及用戶組配置文件介紹:
用戶相關(guān)文件:1. /etc/passwd 用戶所在文件
/etc/passwd文件及bash解釋器:
Linux是命令行管理柑潦,平時(shí)輸入ls,cp妒茬,誰識(shí)別乍钻,幫我們把我們想要的輸出呢银择?
這個(gè)工具就是bash(命令行解釋器)浩考。 * 析孽? [abc]
用戶登錄:輸入命令袜瞬,希望哪個(gè)解釋器解釋(結(jié)尾列決定)
-
密碼相關(guān)文件:/etc/shadow
[root@oldboyedu ~]# tail -1 /etc/shadow
bingbing | E睦稹季稳! | 17980 | 0 | 99999 | 7 | |||
---|---|---|---|---|---|---|---|---|
用戶 | 密碼 | 最近更改密碼的時(shí)間 | 最近更改密碼的時(shí)間 | 用戶必須更改口令的天數(shù) | 警告更改密碼的期限 | 在用戶密碼過期之后到禁用賬戶的天數(shù) | 從1970年1月1日起景鼠,到用戶被禁用的天數(shù) | 保留 |
- CentOS7默認(rèn)解釋器是bash莲蜘。
sbin/nologin(普通用戶不讓解釋)
- /etc/passwd里的解釋器
[root@oldboyedu ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c
6 /bin/bash
1 /bin/sync
1 /sbin/halt
18 /sbin/nologin
1 /sbin/shutdown
[root@oldboyedu ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/bash /server/scripts/bak.sh
- bash是sh的擴(kuò)展,sh是bash的軟連接芬迄。
[root@oldboyedu ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 Mar 4 11:15 /bin/sh -> bash
useradd oldboy 添加用戶實(shí)際上就是修改上述兩個(gè)文件
passwd oldboy 改密碼實(shí)際上就是修改密碼所在文件
3.用戶組相關(guān)文件:/etc/group
/etc/group 用戶組所在文件
/etc/gshadow 用戶組密碼所在文件(廢棄狀態(tài))
useradd oldboy 添加用戶實(shí)際上也會(huì)修改上述兩個(gè)文件(因?yàn)橐獎(jiǎng)?chuàng)建同名的用戶組)
groupadd sa 添加用戶組就是修改上述兩個(gè)文件
2.Linux用戶及用戶目錄介紹
- 有關(guān)匯總
用戶直接相關(guān):useradd杜窄、userdel塞耕、usermod
用戶密碼相關(guān):passwd嘴瓤、chage
其他相關(guān):id廓脆、su停忿、sudo席赂、visudo
用戶組相關(guān):groupadd颅停、groupdel便监、groupmod扎谎、gpasswd碳想、groups、newgrp
md5sum命令 給文件設(shè)置指紋(計(jì)算和檢查MD5數(shù)字信息)
文件指紋發(fā)生變化
useradd oldboy 添加用戶實(shí)際上就是修改上述兩個(gè)文件
passwd oldboy 改密碼實(shí)際上就是修改密碼所在文件
useradd oldboy 添加用戶實(shí)際上也會(huì)修改上述兩個(gè)文件(因?yàn)橐獎(jiǎng)?chuàng)建同名的用戶組)
groupadd sa 添加用戶組就是修改上述兩個(gè)文件
3毁靶、添加用戶命令useradd
[root@oldboyedu ~]# useradd gongli -u 888 -s /sbin/nologin -M
[root@oldboyedu ~]# tail -1 /etc/passwd
gongli:x:888:1007::/home/gongli:/sbin/nologin
默認(rèn):bingbing:x:1004:1006::/home/bingbing:/bin/bash[root@oldboyedu ~]# useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@oldboyedu ~]# tail -1 /etc/passwd
gongli1:x:1005:1008:beautify woman:/tmp:/bin/bash[root@oldboyedu ~]# useradd gongli2 -g incahome
[root@oldboyedu ~]# id gongli2
uid=1006(gongli2) gid=1004(incahome) groups=1004(incahome)/etc/default/useradd文件 useradd命令的配置文件
默認(rèn)shell就是/bin/bash
為什么默認(rèn)的家目錄在home下
為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件胧奔,從哪來的。
就是/etc/default/useradd文件配置的预吆。
修改方法:
useradd -D -s /bin/sh 相當(dāng)于vim編輯/etc/default/useradd文件。
[root@oldboyedu ~]# useradd -D -s /bin/sh
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes[root@oldboyedu ~]# useradd chenglong1
[root@oldboyedu ~]# tail -1 /etc/passwd
chenglong1:x:1007:1009::/home/chenglong1:/bin/sh
[root@oldboyedu ~]# chage -l chenglong1
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : Oct 21, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
- /etc/skel目錄拐叉,創(chuàng)建用戶默認(rèn)就會(huì)把此目錄下的文件拷貝到/home/用戶名下岩遗。
/etc/skel 為每個(gè)用戶提供用戶環(huán)境變量的目錄。
[root@oldboyedu ~]# ls /etc/skel -A
.bash_logout .bash_profile .bashrc
===================================================
.bash_logout .bash_profile .bashrc 用戶環(huán)境變量
4.修改用戶信息相關(guān)命令usermod
5.userdel刪除用戶組
在企業(yè)場景中凤瘦,如果不能確認(rèn)用戶相關(guān)目錄有沒有重要數(shù)據(jù)宿礁,就不能用-r
應(yīng)該先使用vi編輯器把/etc/passwd注釋掉,觀察一個(gè)月蔬芥,這樣出問題可以還原义锥。相當(dāng)于操作前備份
6.添加用戶組命令:groupadd
7.刪除用戶組命令:groupdel
8.修改用戶密碼命令passwd
9.批量更新用戶密碼命令:chpasswd
不交互設(shè)置密碼:
方法1:
[root@oldboyedu ~]# echo 123456|passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.方法2:
[root@oldboyedu ~]# echo 123456 >pass
[root@oldboyedu ~]# cat pass
123456
[root@oldboyedu ~]# passwd --stdin oldgirl <pass
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
[root@oldboyedu ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}' >user.log
[root@oldboyedu ~]# cat user.log
gongli1:oldboy
gongli2:oldboy
chenglong1:oldboy
zongsheng:oldboychpasswd對密碼文件的要求是上述user.log
方法1:
[root@oldboyedu ~]# chpasswd<user.log
方法2:
[root@oldboyedu ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'|chpasswd
10.修改密碼有效期命令:chage
[root@oldboyedu ~]# chage -l gongli1
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : Oct 20, 2020 =================
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
如果給開發(fā)等人員添加用戶述召,盡量給截止時(shí)間褥伴。
例題要求創(chuàng)建新用戶range萧恕,要求用戶7天內(nèi)不能改密碼,60天以后必須改密碼乎婿,過期前10天通知用戶测僵,過期后30天禁止用戶登錄
chage -m7 -M60 -W10 - I30 oldboy
登錄系統(tǒng)后,命令行出現(xiàn)如下提示:為什么谢翎?
[root@oldboyedu /home/chenglong1]# su - chenglong1
-sh-4.2$
-sh-4.2$
解答:用戶的環(huán)境變量缺失導(dǎo)致的捍靠。
執(zhí)行如下命令解決
-sh-4.2$ cp /etc/skel/.bash* .
-sh-4.2$ source ./.bash_profile ./.bashrc
[chenglong1@oldboyedu ~]$
[chenglong1@oldboyedu ~]$
-sh-4.2$ export PS1='[[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m][\e[31;1m] \w[\e[0m]]$'
[chenglong1@oldboyedu ~]$
添加用戶要用的文件
/etc/login.defs 了解
添加用戶要用的文件
/etc/login.defs /etc/skel /etc/default/useradd
- 編輯/etc/passwd,通過注釋來刪除。
#chenglong1:x:1007:1009::/home/chenglong1:/bin/sh
"/etc/passwd" 30L, 1362C written
[root@oldboyedu ~]# su - chenglong1
su: user chenglong1 does not exist
[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh
[root@oldboyedu ~]# id zongsheng
uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)
[root@oldboyedu ~]# chage -l zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1"
[root@oldboyedu ~]# usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
[root@oldboyedu ~]# chage -l zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@oldboyedu ~]# id zongsheng
uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash
You have new mail in /var/spool/mail/root
usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
usermod -m /home/zongsheng zongsheng
11.su命令與sudo命令
怎么用su岳服。
1剂公、先登錄普通用戶,沒事不允許登錄root吊宋。
只有執(zhí)行的任務(wù)需要root權(quán)限的時(shí)候才允許你登錄root纲辽。
系統(tǒng)維護(hù)通道。
用su管理璃搜,必須知道root密碼拖吼,安全隱患。
10個(gè)運(yùn)維这吻,都得知道root密碼吊档,安全隱患。
-
需求:
1唾糯、不用知道root密碼還能管理服務(wù)器怠硼。
2鬼贱、最小化管理服務(wù)器,想關(guān)機(jī)香璃,就只給你halt權(quán)限这难。
su參數(shù):-c 臨時(shí)切換到另一個(gè)用戶下執(zhí)行一條命令
-表示攜帶環(huán)境變量
sudo命令:
可以以最小化的權(quán)限(單個(gè)命令),執(zhí)行命令時(shí)擁有root用戶的權(quán)限
suid針對命令葡秒,任何用戶執(zhí)行授權(quán)的命令都想到與以root身份來執(zhí)行他姻乓。 任何用戶執(zhí)行某個(gè)命令:模糊
sudo針對用戶,給某個(gè)用戶以root身份執(zhí)行某個(gè)命令眯牧。指定用戶執(zhí)行某個(gè)命令:具體蹋岩。
如何編輯配置sudo?
sudo是一個(gè)提權(quán)的命令(對應(yīng)權(quán)限通過讀取/etc/sudoers(嚴(yán)格語法)文件實(shí)現(xiàn)的)
配置/etc/sudoers可以使用visudo命令学少,或vim /etc/sudoers(不推薦)
舉例:用普通用戶ls/root目錄
1剪个、先看一下,普通用戶是沒有權(quán)限的
2旱易、我們用root用戶來編輯visudo(注意:
1禁偎、路徑要全路徑:
which cp查
2腿堤、不要vim /etc/sudoers編輯阀坏,如果非要用編輯完visudo -c檢查語法)
跳到100行,會(huì)看到
root代表用戶笆檀,第二列代表主機(jī)忌堂,第三列代表權(quán)限,我們來給普通用戶chen加上權(quán)限
提權(quán)成功酗洒,我們再來看一下
成功士修,第一次執(zhí)行是需要輸入本機(jī)密碼的,下面我們來敘述一下這個(gè)步驟是怎么執(zhí)行的:
這張圖是普通用戶使用sudo時(shí)候系統(tǒng)執(zhí)行的步驟
先檢查/var/bd/sudo里邊是否有密碼
果然樱衷。
- 在工作中棋嘲,為了安全禁止root遠(yuǎn)程連接linux。
工作中如何登錄矩桂?使用普通用戶登錄然后利用sudo提權(quán)到root沸移。
下節(jié)命令:
chage和passwd對比
groupadd
groupdel
id whoami w last lastlog
su sudo visudo
磁盤基礎(chǔ)。
核心命令實(shí)戰(zhàn)侄榴。雹锣。。的書籍癞蚕。
作業(yè):批量創(chuàng)建10個(gè)用戶蕊爵,oldboy01-oldboy10,請?jiān)O(shè)置和用戶名相同的密碼。