天天看點

3.7 su指令;3.8 sudo指令;3.9 限制root遠端登入

擴充:

3.7 su指令

1. 切換普通使用者:su - 普通使用者

[root@hao-01 ~]# su - haojiabin

2. 檢視目前登入使用者:

[haojiabin@hao-01 ~]$ whoami

3. 建立普通使用者,但不建立使用者夾目錄:useradd -M 普通使用者名

[root@hao-01 ~]# useradd -M hao

4. 檢視home目錄下(home目錄下是 存放普通使用者夾目錄):

[root@hao-01 hao]# ls /home

普通使用者在home下沒有對應的夾目錄,不能正常用su - 切換到普通使用者下

5. 切換沒有夾目錄的普通使用者下:

[root@hao-01 hao]# su - hao

有夾目錄,夾目錄沒有配置檔案也不能正常通路!

6. home目錄下,建立普通使用者夾目錄 :

[root@hao-01 hao]# mkdir /home/hao

7. 拷貝.bash開頭的配置檔案到使用者夾目錄下:

      指令使用:   cp /etc/skel/.bash* 普通使用者夾目錄

[root@hao-01 ~]# cp /etc/skel/.bash* /home/hao

8. 指定:使用者夾目錄的所有者和所屬組:

     指令使用:   chown -R 所有者:所屬組  夾目錄

[root@hao-01 ~]# chown -R hao:hao /home/hao/

9. 切換普通使用者指令: su - 普通使用者名

[root@hao-01 ~]# su - hao

3.8 sudo指令

1. 給普通使用者添加root權限指令:visudo

[root@hao1 ~]# visudo

root使用者下,用visudo給普通使用者添加root的權限指令,格式如下圖:

内容行數顯示:一般模式下輸入 :set nu

寫入格式:此目的是:給普通使用者授權root使用者才可以使用的一些相應指令!

普通使用者    ALL=(root)    ALL或root下指令的絕對路徑

clipboard.png

2. 切換至普通使用者下:

3. 在普通使用者下,運作 ls 檢視/root/目錄,是沒有權限的!!!

[hao@hao-01 ~]$ ls /root/

4. 在普通使用者下,運作:

sudo指令執行ls絕對路徑指令檔案,檢視/root/目錄:

提示:執行的ls指令,可以絕對路徑,也可不用絕對路徑!!!

[hao@hao-01 ~]$ sudo /usr/bin/ls /root/

5. 在普通使用者下,運作:

sudo指令執行cat絕對路徑指令檔案,檢視/root/下檔案内容:

提示:執行的cat指令,可以絕對路徑,也可不用絕對路徑!!!

[hao@hao-01 ~]$ sudo /usr/bin/cat  /root/1.txt

運作sudo指令,免輸入普通使用者密碼:

1. 給普通使用者添加root權限指令,同時設定不用輸入普通使用者密碼,即可運作sudo指令:

寫入格式:此目的是:普通使用者運作sudo指令,不用輸入普通使用者密碼!ALL=root全部

普通使用者   ALL=(root)      NOPASSWD:  ALL

[root@hao-01 ~]# su - hao1

3. 在普通使用者下,運作:sudo指令執行ls指令,檢視/root/目錄:

[hao@hao-01 ~]$ sudo ls /root/

1. 設定别名指令:可包含多個root權限才可執行的指令:

寫入格式:此目的是:設定,别名指令,可包含多個root權限指令

Cmnd_Alias HAO_CMD = /usr/bin/ls,  /usr/bin/mv, /usr/bin/cat

2. 給普通使用者添加root權限指令,同時設定不用輸入普通使用者密碼,即可運作sudo指令:

寫入格式:此目的是:給普通使用者授權别名指令中,包含的所有指令!

普通使用者   ALL=(root)      NOPASSWD: HAO_CMD

3. 切換至普通使用者下:

4. 因别名指令(HAO_CMD)包含:ls,mv,cat 指令,

在設定的普通使用者下,可以用sudo 執行這些(ls,mv,cat)指令!

[root@hao-01 ~]# sudo ls   /root/

[root@hao-01 ~]# sudo mv  /root/1.txt  2.txt

[root@hao-01 ~]# sudo cat /root/2.txt

3.9 限制root遠端登入

多個普通使用者設定為一個Alias,相當于使用者組的作用:

1. 設定普通使用者的Alias(别名,可包含多個使用者)

[root@hao-01 ~]# visudo

寫入格式: User_Alias 定義别名S = 普通使用者,普通使用者1,普通使用者2

                  User_Alias HAOS = hao,hao1,hao2

2. 給包含普通使用者的别名,設定root使用者才可執行的超級管理權限指令:

寫入格式: 包含多個使用者的别名S   ALL=(root)      NOPASSWD: HAO_CMD

                   HAOS   ALL=(root)      NOPASSWD: HAO_CMD

作用:使用者别名包含多個普通使用者,所設定的root指令使用權限是統一 一樣的!

3. 切換至普通使用者(hao hao1 hao2):

[root@hao-01 ~]# su - hao2

4. 使用者别名:包含的普通使用者,設定定的權限是一樣的!

限制root遠端登入

1. 修改sshd.service配置檔案,設定限制root遠端登入:

[root@hao-01 ~]# vi /etc/ssh/sshd_config

#PermitRootLogin yes 改成: PermitRootLogin no

2. 重新開機sshd.service服務:

[root@hao-01 ~]# systemctl restart sshd.service

3. 再用遠端軟體,登入root使用者,已經不許登入了!!!