centos7.2 版本,我們不可能每次都用root賬號登陸,root賬號公認(rèn)的不安全,所以,首先,禁止掉root賬號的登陸。
1.靜止root賬號登陸。
$ vi /etc/ssh/sshd.conf (ssh服務(wù)的配置文件,直接修改)
PermitRootLogin no ( 找到這一行,并將其改為 no )
保存退出
$ systemctl restart sshd (重啟一下sshd服務(wù))
2.創(chuàng)建用戶并授權(quán)
$ adduser sss (創(chuàng)建用戶sss)
$passwd sss (創(chuàng)建sss的密碼)
$ chmod -v u+w /etc/sudoers (增加 sudoers 文件的寫的權(quán)限,默認(rèn)為只讀)
$ vi /etc/sudoers (修改 sudoers)
Allow root to run any commands anywhere
root ALL=(ALL) ALL
sss ALL=(ALL) ALL (添加這一行)
保存,退出
$ chmod -v u-w /etc/sudoers (刪除 sudoers 的寫的權(quán)限)
好了,現(xiàn)在賬號已經(jīng)創(chuàng)建好了,使用sss賬號登陸后,在命令前加 sudo 則是使用root權(quán)限了。第一次使用會(huì)彈出一些提示信息,正?,F(xiàn)象。
sudo是一種權(quán)限管理機(jī)制,管理員可以授權(quán)于一些普通用戶去執(zhí)行一些root執(zhí)行的操作,而該普通用戶而不需要知道root的密碼,它依賴于/etc/sudoers這個(gè)文件,可以授權(quán)于某個(gè)普通用戶在主機(jī)上能夠以管理員的身份執(zhí)行什么樣的管理命令,而且是有限的。這個(gè)文件相當(dāng)于就是一個(gè)授權(quán)表。
實(shí)例
visudo= vi /etc/sudoers
語法
user MACHINE=COMMANDS
- user想要分配的用戶
- MACHINE希望用戶管理的機(jī)器
- COMMANDS希望用戶擁有哪些權(quán)限(權(quán)限以命令為單位)
root ALL=(ALL) ALL
括號里表示允許該用戶以哪個(gè)用戶的權(quán)限去做事。
(1)
此時(shí)的Ian普通用戶就相當(dāng)于root了。
但普通用戶Ian在執(zhí)行root操作時(shí),必須得在命令前面加sudo,不然還是不能執(zhí)行的。執(zhí)行root操作時(shí),需要的密碼也不再是root超級用戶的密碼,而是普通用戶的密碼。
(2)
1. `[root@muban ~]# which useradd #which 查看命令所在路徑`
2. `/usr/sbin/useradd`
- 這里寫圖片描述
-
Centos下,我們可以用SU命令讓當(dāng)前用戶臨時(shí)獲得管理員權(quán)限。
su是最簡單的身份切換名,用su可以進(jìn)行任何用戶的切換,一般都是su - username,然后輸入密碼就ok了,但是root用su切換到其他身份的時(shí)候是不需要輸入密碼的。一般切換身份都是切換到root,然后進(jìn)行一些只有root能干的事,比如修改配置文件,比如下載安裝軟件,這些都只能是root才有權(quán)限干的事,切換到root可以是單純的su,或者是su -和su - root,后面兩個(gè)是一樣的意思。
單純使用su切換到root,讀取變量的方式是non-login shell,這種方式下很多的變量都不會(huì)改變,尤其是PATH,所以root用的很多的命令都只能用絕對路徑來執(zhí)行,這種方式只是切換到root的身份。而用su -這種方式的話,是login shell方式,它是先以root身份登錄然后再執(zhí)行別的操作。如果只要切換到root做一次操作就好了,只要在su后面加個(gè)-c參數(shù)就好了,執(zhí)行完這次操作后,又會(huì)自動(dòng)切換回原賬號身份,很方便。
</article>
