天天看點

《雲計算》-安全政策-如何使用sudo配置設定管理權限

使用sudo配置設定管理權限

2.1 問題

本案例要求利用sudo機制配置設定管理操作權限,主要完成以下任務:

使用su指令臨時切換賬戶身份,并執行指令
允許softadm管理系統服務的權限
允許使用者useradm通過sudo方式添加/删除/修改除root以外的使用者賬号
允許wheel組成員以特權執行/usr/bin/下的指令
為sudo機制啟用日志記錄,以便跟蹤sudo執行操作
           
  • 1
  • 2
  • 3
  • 4
  • 5

2.2 步驟

實作此案例需要按照如下步驟進行。

步驟一:使用su指令臨時切換賬戶身份,并以root執行指令

su(Substitute User)指令可以快速切換賬戶身份,普通使用者切換賬戶身份時需要輸入密碼,root使用su指令切換任何身份都不需要密碼,如法格式如下:

# su –  [賬戶名稱]
# su -  [賬戶名稱]  -c '指令'  
           
  • 1
  • 2

1)從普通使用者切換為root賬戶身份(如果沒有普通賬戶則需要先建立)

[[email protected] ~]# whoami
jacob
[[email protected] ~]# su –                    //切換賬戶,預設切換為root賬戶
密碼:
[[email protected] ~]# whoami                    //确認結果
root
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2)以普通身份建立目錄(如果沒有普通賬戶則需要先建立),以root身份重新開機服務

[[email protected] ~]# su - tom  -c "mkdir /home/tom/test"        //管理者切換普通使用者
[[email protected] ~]# ll -d  /home/tom/test
[[email protected] ~]# su - -c "systemctl restart sshd"            //以管理者重新開機服務
密碼:
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
active: active (running) since 五 2018-01-19 08:59:40 CST; 1 months 4 days ago
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

步驟二:允許softadm管理系統服務的權限

1)修改/etc/sudoers配置

修改/etc/sudoers可以直接使用vim編輯該檔案,或使用visudo指令修改該檔案。

為softadm授予相關腳本的執行權限,允許通過systemctl工具來管理系統服務。

如果沒有softadm賬戶可以先建立該賬戶。

[[email protected] ~]# vim /etc/sudoers            //修改檔案後,需要使用wq強制儲存
.. ..
softadm    ALL=(ALL)   /usr/bin/systemctl         
//授權softadm以root身份執行systemctl指令
           
  • 1
  • 2
  • 3
  • 4

2)切換為softadm使用者,并驗證sudo執行權限

[[email protected] ~]# su – softadm
[[email protected] ~]$ sudo -l
… …
[sudo] password for softadm:                            //輸入softadm的密碼
.. ..
使用者 softadm 可以在該主機上運作以下指令:
    (ALL) /usr/bin/systemctl
[[email protected] ~]$ systemctl start httpd                    //不用sudo時啟動服務失敗
Authentication is required
.. ..
[[email protected] ~]$ sudo systemctl restart httpd          //通過sudo啟動服務成功
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

步驟三:允許使用者useradm通過sudo方式添加/删除/修改除root以外的使用者賬号

1)修改/etc/sudoers配置

為useradm授予使用者管理相關指令的執行權限,例外程式以!符号取反,放在後面。在執行相關程式時,可以利用通配符*。

[[email protected] ~]# vim /etc/sudoers
.. ..
useradm ALL=(ALL)  /usr/bin/passwd,!/usr/bin/passwd root,/usr/sbin/user*,
 !/usr/sbin/user* * root
           
  • 1
  • 2
  • 3
  • 4

2)切換為useradm使用者,驗證sudo權限

可以通過sudo方式來添加/删除/修改普通使用者:

[[email protected] ~]# su – useradm
[[email protected] ~]$ sudo -l
.. ..
使用者useradm可以在該主機上運作以下指令:
    (root) /usr/bin/passwd, !/usr/bin/passwd root, /usr/sbin/user*,
!/usr/sbin/user* * root
[[email protected] ~]$ sudo useradd newuser01                  //可以添加使用者
[[email protected] ~]$ sudo passwd newuser01                  //可以修改普通使用者的密碼
更改使用者 newuser01 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

但是不能修改root使用者的密碼:

[[email protected] ~]$ sudo passwd root
對不起,使用者 useradm 無權以 root 的身份在 localhost 上
執行 /usr/bin/passwd root。
           
  • 1
  • 2
  • 3

步驟四:允許wheel組成員以特權執行/bin/下的所有指令

此案例用來展示sudo的便利性及設定不當帶來的危險性,生産環境下慎用。

實作時參考下列操作(如果沒有普通使用者則先建立該賬戶):

[[email protected] ~]# vim /etc/sudoers
.. ..
%wheel ALL=(ALL)  /bin/*
[[email protected] ~]# usermod -a -G wheel zengye
[[email protected] ~]$ sudo -l
.. ..
使用者 zengye 可以在該主機上運作以下指令:
(root) /bin/*
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

步驟五:為sudo機制啟用日志記錄,以便跟蹤sudo執行操作

1)修改/etc/sudoers配置,添加日志設定

[[email protected] ~]# visudo
Defaults  logfile="/var/log/sudo"
.. ..
           
  • 1
  • 2
  • 3

2)以root(預設有所有權限)執行sudo操作

[[email protected] ~]# sudo -l                                  //檢視授權的sudo操作
[[email protected] ~]# sudo systemctl status httpd              //檢視授權的sudo操作
           
  • 1
  • 2

3)确認日志記錄已生效

[[email protected] ~]# tail /var/log/sudo 
.. ..
May 16 22:14:49 : root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=list
Feb 22 22:35:43 : softadm : TTY=pts/11 ; PWD=/home/softadm ; USER=root ;
    COMMAND=/bin/systemctl status httpd
           
  • 1
  • 2
  • 3
  • 4
  • 5
</div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" target="_blank" rel="external nofollow"  rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like "><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" ><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup" target="_blank" rel="external nofollow" ></use>
                    </svg><span class="name">點贊</span>
                    <span class="count"></span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G" target="_blank" rel="external nofollow" ></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang" target="_blank" rel="external nofollow" ></use>
                    </svg>分享</a></li>
                    <!--打賞開始-->
                                            <!--打賞結束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章舉報</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >
                <img src="https://profile.csdnimg.cn/B/F/6/3_xie_qi_chao" class="avatar_pic" username="xie_qi_chao">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">解啟超</a></span>
                                        </div>
                <div class="text"><span>釋出了330 篇原創文章</span> · <span>獲贊 52</span> · <span>通路量 3萬+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm attented bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">已關注</a>
                                </div>
                        </div>
                </div>
</article>
           

使用sudo配置設定管理權限

2.1 問題

本案例要求利用sudo機制配置設定管理操作權限,主要完成以下任務:

使用su指令臨時切換賬戶身份,并執行指令
允許softadm管理系統服務的權限
允許使用者useradm通過sudo方式添加/删除/修改除root以外的使用者賬号
允許wheel組成員以特權執行/usr/bin/下的指令
為sudo機制啟用日志記錄,以便跟蹤sudo執行操作
           
  • 1
  • 2
  • 3
  • 4
  • 5

2.2 步驟

實作此案例需要按照如下步驟進行。

步驟一:使用su指令臨時切換賬戶身份,并以root執行指令

su(Substitute User)指令可以快速切換賬戶身份,普通使用者切換賬戶身份時需要輸入密碼,root使用su指令切換任何身份都不需要密碼,如法格式如下:

# su –  [賬戶名稱]
# su -  [賬戶名稱]  -c '指令'  
           
  • 1
  • 2

1)從普通使用者切換為root賬戶身份(如果沒有普通賬戶則需要先建立)

[[email protected] ~]# whoami
jacob
[[email protected] ~]# su –                    //切換賬戶,預設切換為root賬戶
密碼:
[[email protected] ~]# whoami                    //确認結果
root
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2)以普通身份建立目錄(如果沒有普通賬戶則需要先建立),以root身份重新開機服務

[[email protected] ~]# su - tom  -c "mkdir /home/tom/test"        //管理者切換普通使用者
[[email protected] ~]# ll -d  /home/tom/test
[[email protected] ~]# su - -c "systemctl restart sshd"            //以管理者重新開機服務
密碼:
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
active: active (running) since 五 2018-01-19 08:59:40 CST; 1 months 4 days ago
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

步驟二:允許softadm管理系統服務的權限

1)修改/etc/sudoers配置

修改/etc/sudoers可以直接使用vim編輯該檔案,或使用visudo指令修改該檔案。

為softadm授予相關腳本的執行權限,允許通過systemctl工具來管理系統服務。

如果沒有softadm賬戶可以先建立該賬戶。

[[email protected] ~]# vim /etc/sudoers            //修改檔案後,需要使用wq強制儲存
.. ..
softadm    ALL=(ALL)   /usr/bin/systemctl         
//授權softadm以root身份執行systemctl指令
           
  • 1
  • 2
  • 3
  • 4

2)切換為softadm使用者,并驗證sudo執行權限

[[email protected] ~]# su – softadm
[[email protected] ~]$ sudo -l
… …
[sudo] password for softadm:                            //輸入softadm的密碼
.. ..
使用者 softadm 可以在該主機上運作以下指令:
    (ALL) /usr/bin/systemctl
[[email protected] ~]$ systemctl start httpd                    //不用sudo時啟動服務失敗
Authentication is required
.. ..
[[email protected] ~]$ sudo systemctl restart httpd          //通過sudo啟動服務成功
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

步驟三:允許使用者useradm通過sudo方式添加/删除/修改除root以外的使用者賬号

1)修改/etc/sudoers配置

為useradm授予使用者管理相關指令的執行權限,例外程式以!符号取反,放在後面。在執行相關程式時,可以利用通配符*。

[[email protected] ~]# vim /etc/sudoers
.. ..
useradm ALL=(ALL)  /usr/bin/passwd,!/usr/bin/passwd root,/usr/sbin/user*,
 !/usr/sbin/user* * root
           
  • 1
  • 2
  • 3
  • 4

2)切換為useradm使用者,驗證sudo權限

可以通過sudo方式來添加/删除/修改普通使用者:

[[email protected] ~]# su – useradm
[[email protected] ~]$ sudo -l
.. ..
使用者useradm可以在該主機上運作以下指令:
    (root) /usr/bin/passwd, !/usr/bin/passwd root, /usr/sbin/user*,
!/usr/sbin/user* * root
[[email protected] ~]$ sudo useradd newuser01                  //可以添加使用者
[[email protected] ~]$ sudo passwd newuser01                  //可以修改普通使用者的密碼
更改使用者 newuser01 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

但是不能修改root使用者的密碼:

[[email protected] ~]$ sudo passwd root
對不起,使用者 useradm 無權以 root 的身份在 localhost 上
執行 /usr/bin/passwd root。
           
  • 1
  • 2
  • 3

步驟四:允許wheel組成員以特權執行/bin/下的所有指令

此案例用來展示sudo的便利性及設定不當帶來的危險性,生産環境下慎用。

實作時參考下列操作(如果沒有普通使用者則先建立該賬戶):

[[email protected] ~]# vim /etc/sudoers
.. ..
%wheel ALL=(ALL)  /bin/*
[[email protected] ~]# usermod -a -G wheel zengye
[[email protected] ~]$ sudo -l
.. ..
使用者 zengye 可以在該主機上運作以下指令:
(root) /bin/*
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

步驟五:為sudo機制啟用日志記錄,以便跟蹤sudo執行操作

1)修改/etc/sudoers配置,添加日志設定

[[email protected] ~]# visudo
Defaults  logfile="/var/log/sudo"
.. ..
           
  • 1
  • 2
  • 3

2)以root(預設有所有權限)執行sudo操作

[[email protected] ~]# sudo -l                                  //檢視授權的sudo操作
[[email protected] ~]# sudo systemctl status httpd              //檢視授權的sudo操作
           
  • 1
  • 2

3)确認日志記錄已生效

[[email protected] ~]# tail /var/log/sudo 
.. ..
May 16 22:14:49 : root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=list
Feb 22 22:35:43 : softadm : TTY=pts/11 ; PWD=/home/softadm ; USER=root ;
    COMMAND=/bin/systemctl status httpd
           
  • 1
  • 2
  • 3
  • 4
  • 5
</div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" target="_blank" rel="external nofollow"  rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like "><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" ><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup" target="_blank" rel="external nofollow" ></use>
                    </svg><span class="name">點贊</span>
                    <span class="count"></span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G" target="_blank" rel="external nofollow" ></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang" target="_blank" rel="external nofollow" ></use>
                    </svg>分享</a></li>
                    <!--打賞開始-->
                                            <!--打賞結束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章舉報</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow" >
                <img src="https://profile.csdnimg.cn/B/F/6/3_xie_qi_chao" class="avatar_pic" username="xie_qi_chao">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">解啟超</a></span>
                                        </div>
                <div class="text"><span>釋出了330 篇原創文章</span> · <span>獲贊 52</span> · <span>通路量 3萬+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=xie_qi_chao" target="_blank" rel="external nofollow"  target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm attented bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">已關注</a>
                                </div>
                        </div>
                </div>
</article>
           

繼續閱讀