7.7-9 chage、chpasswd、su
生活随笔
收集整理的這篇文章主要介紹了
7.7-9 chage、chpasswd、su
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
7.7 chage:修改用戶密碼有效期
chage命令用于查看或修改用戶密碼的有效期,有些參數(shù)和passwd的功能相同。 -d?? ?設(shè)置上一次密碼更改的日期 -E?? ?賬號(hào)過(guò)期的日期。日期格式為YYYY-MM-DD -I?? ?設(shè)置密碼過(guò)期多少天后禁用賬戶 -l?? ?顯示賬號(hào)有效期的信息 -m?? ?密碼可更改的最小天數(shù)。默認(rèn)為0,表示任何時(shí)候都可以更改密碼 -M?? ?密碼保持有效的最大天數(shù) -W?? ?密碼到期前,提前收到警告信息的天數(shù) 要求oldboy用戶7天之內(nèi)不能更改密碼,60天以后必須修改密碼,過(guò)期前10天通知oldboy用戶,過(guò)期后30天后禁止用戶登錄。 [root@cs6 ~]# chage -m 7 -M 60 -W 10 -I 30 lewen [root@cs6 ~]# chage -m7 -M60 -W10 -I30 lewen [root@cs6 ~]# chage -l lewen Last password change : May 11, 2019 Password expires : Jul 10, 2019 Password inactive : Aug 09, 2019 Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 60 Number of days of warning before password expires : 107.8 chpasswd:批量更新用戶密碼
chpasswd命令用于從標(biāo)準(zhǔn)輸入中讀取一定格式的用戶名、密碼來(lái)批量更新用戶的密碼,其格式為“用戶名:密碼”。 -e?? ?默認(rèn)格式是明文密碼,使用e參數(shù)則需要加密的密碼命令行批量修改密碼
[root@cs6 ~]# chpasswd root:123456 lewen:123456 [root@cs6 ~]# #<==在新的空行輸入Ctrl+D結(jié)束輸入。生產(chǎn)案例
范例7-18:批量創(chuàng)建10個(gè)用戶stu0l-stul0,并且設(shè)置8位隨機(jī)密碼,要求不能使用Shell的循環(huán)(例如:for、while等),只能用Linux命令及管道實(shí)現(xiàn),此題前面也用passwd的方法實(shí)現(xiàn)過(guò),本例將采用chpasswd方法來(lái)實(shí)現(xiàn)。 1)添加10個(gè)用戶: [root@cs6 ~]# echo stu{01..10}|xargs -n 1 useradd [root@cs6 ~]# tail /etc/passwd stu01:x:1001:1001::/home/stu01:/bin/bash stu02:x:1002:1002::/home/stu02:/bin/bash stu03:x:1003:1003::/home/stu03:/bin/bash stu04:x:1004:1004::/home/stu04:/bin/bash stu05:x:1005:1005::/home/stu05:/bin/bash stu06:x:1006:1006::/home/stu06:/bin/bash stu07:x:1007:1007::/home/stu07:/bin/bash stu08:x:1008:1008::/home/stu08:/bin/bash stu09:x:1009:1009::/home/stu09:/bin/bash stu10:x:1010:1010::/home/stu10:/bin/bash2)以“用戶名:密碼”的格式將新添加的用戶寫入pass.txt文件: [root@cs6 ~]# echo stu{01..10}:$((RANDOM+10000000))|tr " " "\n" >pass.txt #將空格變成換行符\n [root@cs6 ~]# cat pass.txt stu01:10027070 stu02:10027493 stu03:10013323 stu04:10023959 stu05:10001639 stu06:10003292 stu07:10018430 stu08:10012448 stu09:10022958 stu10:10011925 3)chpasswd將從文件pass.txt中讀取相關(guān)的數(shù)據(jù),為對(duì)應(yīng)的用戶設(shè)置冒號(hào)后面的密碼: [root@cs6 ~]# chpasswd <pass.txt 測(cè)試所設(shè)置密碼的有效性: [root@cs6 ~]# su - stu08 [stu08@cs6 ~]$ su - stu10 Password: [stu10@cs6 ~]$ whoami stu10
7.9 su:切換用戶
su命令用于將當(dāng)前用戶切換到指定用戶或者以指定用戶的身份執(zhí)行命令或程序。 若省略了命令后面的用戶名,則默認(rèn)切換為root用戶。 從root用戶切換到普通用戶時(shí),不需要任何密碼;從普通用戶切換到root用戶時(shí),需要輸入root 密碼。 -,-l,-login ?? 切換用戶的同時(shí),將用戶的家目錄、系統(tǒng)環(huán)境等重新按切換后的用戶初始化* -c??? ??? ?? ??向Shell傳遞單個(gè)命令 [lewen@cs6 ~]$ whoami lewen[lewen@cs6 ~]$ su - root Password: [root@cs6 ~]# env |egrep "USER|MAIL|PWD|LOGNAME" USER=root MAIL=/var/spool/mail/root PWD=/root LOGNAME=root 從上面的范例可以得出如下結(jié)論: “su 用戶名”雖然能夠切換到對(duì)應(yīng)的用戶,但是登錄后的環(huán)境變量信息還是切換之前用戶的環(huán)境變量信息。 “su - 用戶名”不但能切換到相應(yīng)的用戶,還能將登錄后的環(huán)境變量一并切換,這是標(biāo)準(zhǔn)規(guī)范的操作方法。 如何讓系統(tǒng)在每一次開(kāi)機(jī)時(shí)都能自動(dòng)以普通用戶啟動(dòng)指定的服務(wù)腳本? [root@cs6 ~]# taiL -1 /ete/rc.local #<==在開(kāi)機(jī)啟動(dòng)文件/etc/rc.local中寫入啟動(dòng)命令。 su - lewen -c '/bin/sh /service/scripts/deploy.sh' 通過(guò)普通用戶運(yùn)行服務(wù)是一個(gè)很好地提升系統(tǒng)安全性的辦法,在生產(chǎn)環(huán)境中,大多數(shù)服務(wù)都可以通過(guò)普通用戶來(lái)啟動(dòng)(不用特權(quán)端口),而不用root用戶啟動(dòng)服務(wù)。這樣就可以使系統(tǒng)的安全性又提高一個(gè)等級(jí),同時(shí)管理時(shí)使用普通戶管理就可以了,管理者不需要有root權(quán)限。 su命令總結(jié) 1)普通用戶切換到root用戶,可使用su- 或su - root,但必須輸入root密碼才能完成切換。 2)root用戶切換到普通用戶,可使用“su - 普通用戶名”的寫法。不需要輸入任何密碼就能完成切換。在CentOS5.X系統(tǒng)中,切換到普通用戶后,再執(zhí)行一些命令如ifconfig時(shí),可能會(huì)遭遇環(huán)境變量PATH的路徑問(wèn)題,也會(huì)因此找不到某些系統(tǒng)命令(一般是/sbin,/usr/sbin等下面的命令),這時(shí)就需要使用全路徑執(zhí)行或者調(diào)整配置普通用戶的PATH變量?jī)?nèi)容,CentOS6和CentOS7不存在這方面的問(wèn)題。 3)如果僅希望在某用戶下執(zhí)行命令,而不用直接切換到該用戶下來(lái)操作,可以使用su - 用戶名 -c ”命令” 的方式。總結(jié)
以上是生活随笔為你收集整理的7.7-9 chage、chpasswd、su的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tracert
- 下一篇: 7.2-5 usermod