1. 程式人生 > >3周第3次課 su命令 sudo命令 限制root遠程登錄

3周第3次課 su命令 sudo命令 限制root遠程登錄

su sudo 限制root遠程登錄

一、 su命令

適合情景:多用戶之間的切換,登入到相應用戶環境,執行命令。類似於 windows 的切換用戶

擴展命令:id 、 whoami 查看當前用戶名

語法 : su [-] [操作命令] username

快捷鍵:ctrl-d 退出當前用戶

常用操作示範:

1. 加“-”的意思是,切換用戶的同時切換環境變量,不跟 工作目錄停留在當前,切換不徹底

#su - aming 切換到aming用戶,此時提示符由"#”變成”$”


2.在普通用戶下輸入 su - 則直接切換到root用戶

#su -


3.加”-c”以指定用戶的身份執行相關命令操作

#su - -c “mkdir /tmp/121212” aming 以aming用戶身份創建一個121212目錄


4.特殊情況

當使用 su切換到一個沒有家目錄的用戶,如 user5

[root@centos701 ~]# su - user5

su: 警告:無法更改到 /home/user5 目錄: 沒有那個文件或目錄

-bash-4.2$

原因:在家目錄下沒有系統變量配置文件

解決辦法:建立家目錄,並拷貝系統配置文件到家目錄下


步驟:

1.查看 user5的屬組信息

[root@centos701 ~]# id user5

uid=1007(user5) gid=1007(user5) 組=1007(user5)


2.創建 user5的家目錄,並修改目錄的屬主屬組,並驗證

[root@centos701 ~]# mkdir /home/user5 ##創建

[root@centos701 ~]# chown user5:user5 !$ ##修改屬主屬組

chown user5:user5 /home/user5

[root@centos701 ~]# ls -ld /home/user5

drwxr-xr-x. 2 user5 user5 6 11月 1 23:02 /home/user5 ##驗證權限


3.拷貝/etc/skel 系統模板目錄下的.bash開頭的3個文件到 user5家目錄下

[root@centos701 ~]# cp /etc/skel/.bash* /home/user5/

[root@centos701 ~]# su - user5

上一次登錄:三 11月 1 22:54:13 CST 2017pts/0 上

[user5@centos701 ~]$


二、sudo命令

適合情景:讓普通用戶臨時以root身份執行特殊命令,增強安全性

sudo -列出當前用戶可運行的命令


[root@centos701 ~]# visudo ##修改sudo配置文件,切勿使用 vi 編輯/etc/sudoers.tmp

## 可在此配置文件中對主機、命令、用戶等對象進行組別名管理,方便策略引用

註意:定義命令首字母要大寫,定義別名則全部要大寫,具體可看文檔中的註釋

如對文件查看類命令進行別名管理,在授權可用命令時輸入”FILES”,即可代表該定義的命令

Cmnd_Alias FILES=/usr/bin/ls,/usr/bin/mv,/usr/bin/cat,/usr/bin/tail

## user MACHINE=COMMANDS

##

## The COMMANDS section may have other options added to it.

##

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

誰 以誰的身份 可用哪些命令

aming ALL=(ALL) NOPASSWD: /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

user5 ALL=(ALL) FILES

###將欲授權用戶及其可以執行的命令添加進去,NOPASSWD的意思是執行此命令時不需要驗證用戶密碼。


三、限制root遠程登錄

場景:為了安全需要禁止 root 用戶遠程登錄。

方法:通過修改 /etc/ssh/sshd_config 來禁止 root 用戶遠程登錄。


1.[root@centos701 ~]# vi /etc/ssh/sshd_config

2.PermitRootLogin no ##搜索RootLogin,將此選項的 yes 改成 no

3.保存退出

這樣 root 用戶就無法使用 ssh 遠程登錄服務器了


如果確實需要通過遠程使用 root 用戶,可以利用對 visudo 對普通用戶設置運行su權限 ,

來完成普通用戶遠程登錄後使用 "sudo su -"切換到 root 用戶。

1.首先定義普通用戶別名

[root@centos701 ~]# visudo (用”/“搜索 User 定位到相關案例位置 )

# User_Alias ADMINS = jsmith, mikem

User_Alias AMINGS=aming,user5,user6 (按照案例設置用戶別名)

2.給用戶授權使用 su命令

## Allowroot to run any commands anywhere (用”/“搜索 anywhere 定位到相關案例位置 )

AMINGS ALL=(ALL) /usr/bin/su (按照案例設置別名用戶使用的命令)

3.保存退出

此後,就可以遠程使用授權的普通用戶登錄,然後執行sudo su - ,輸入 root 密碼完成切換






3周第3次課 su命令 sudo命令 限制root遠程登錄