擴充:
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使用者,已經不許登入了!!!