LINUX系統學習su、sudo、限制root遠程登陸

1、su

su用來切換用戶。bash

直接用su test1,發現切換完成後,目錄還在/root下,這說明並無徹底切換。要徹底切換,就要這樣:服務器

徹底切換,就是在切換時加載用戶的環境變量.bash_history,.bash_logout,.bash_profile。ssh

2、sudo

sudo命令的做用是讓指定的用戶能用別的身份(通常是root)來運行一些指定的命令。spa

配置sudo,使用visudo這個命令。好比咱們如今給test1用戶以root的身份運行ls命令,應該這樣配置:.net

##Allow root to run any commands anywhererest

root     ALL=(ALL)  ALLget

test1    ALL=(ALL)  NOPASSWD:/bin/ls,/bin/mv,/bin/suit

配置以後能夠看到:class

配置完成以後,能夠用sudo命令來執行ls進入/root/目錄。test

3、限制root用戶遠程登陸

若是root用戶的密碼被盜竊了,而你的服務器又沒有限制使用密匙登陸,那麼就悲劇了。因此,限制root遠程登陸仍是有必定的必要性的。那麼怎麼操做呢?

咱們想想,首先ssh那裏應該禁止掉。可是禁止掉那裏的話,咱們想用root用戶進行一些操做怎麼辦呢?對,能夠用su命令切換過去,可是咱們知道,在切換的時候須要輸入密碼,而咱們root的密碼又不能隨便給普通用戶。這時候咱們想到了sudo命令,它裏面有一個NOPASSWD選項,能夠避免咱們輸入密碼。

如下以test1用戶能su到root舉例具體配置:

先在root用戶下,visudo進行編輯:

[root@localhost ~]# su - test1
上一次登陸:一 11月 1 11:20:07 CST 2017pts/0 上
[test1@localhost ~]$ su -
密碼:


^[csu: 鑑定故障
[test1@localhost ~]$ 
[test1@localhost ~]$ 
[test1@localhost ~]$ sudo su -
上一次登陸:一 11月 1 11:27:03 CST 2017pts/0 上
最後一次失敗的登陸:一 11月 1 11:28:44 CST 2017pts/0 上
最有一次成功登陸後有 1 次失敗的登陸嘗試。

這說明visudo的配置已經成功了,如今咱們要關閉ssh配置的root登陸:

修改/etc/ssh/sshd_config:

修改成這樣:

#LoginGraceTime 2m
PermitRootLogin no

systemctl restart sshd.service

退出,從新登陸後會報錯。

而後換成test1登陸,看是否能su到root:

[test1@localhost ~]$ su root 密碼: ^C [test1@localhost ~]$ sudo su - root 上一次登陸:一 11月 1 11:31:11 CST 2017從 192.1.88.1pts/0 上 最後一次失敗的登陸:一 11月 1 11:34:38 CST 2017從 192.168.1.88ssh:notty 上 最有一次成功登陸後有 1 次失敗的登陸嘗試。

相關文章
相關標籤/搜索