1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Linux下如何配置普通用戶的sudo命令權限?

        共 3203字,需瀏覽 7分鐘

         ·

        2022-08-04 14:10

        背景

        在Linux系統(tǒng)操作時,通常不會直接采用root用戶。但當某些命令需要root權限執(zhí)行時,往往會通過sudo命令提升當前用戶的執(zhí)行權限來完成。

        如果普通用戶并未進行配置相應的配置,則在使用sudo命令時會提示“xxx 不在 sudoers 文件中。此事將被報告。“

        本篇文章就帶大家實踐一下如何對普通用戶配置sudo命令執(zhí)行的權限。

        sudo命令權限配置

        sudo 的英文全稱是 super user do,即以超級用戶(root 用戶)的方式執(zhí)行命令。用戶是否擁有sudo命令的執(zhí)行權限,要看是否在于 /etc/sudoers 文件進行了設置。

        /etc/sudoers 是一個文本文件,有其特定的語法,不要直接用 vim 或者 vi 來進行編輯,而是采用 visudo 命令。需要注意的是只有root用戶有該命令的執(zhí)行權限。

        切換到root用戶,命令行輸入 visudo ,即可直接進入/etc/sudoers 的編輯頁面。

        [root@iZ2zedonrtl5m2zsh6tr1xZ ~]# visudo

        忽略掉其他配置信息,直接查看底部如下信息:

        # User privilege specification  
        root    ALL=(ALL:ALL) ALL  
          
        # Members of the admin group may gain root privileges  
        %admin ALL=(ALL) ALL  
          
        # Allow members of group sudo to execute any command  
        %sudo   ALL=(ALL:ALL) ALL  
          
        # See sudoers(5) for more information on "#include" directives:  
          
        #includedir /etc/sudoers.d  
        ubuntu  ALL=(ALL:ALL) NOPASSWD: ALL  

        解釋下每一列的含義:

        • 第一列表示用戶名,如 root 、ubuntu 等;
        • 第二列,等號左邊的 ALL 表示允許從任何主機登錄當前的用戶賬戶;
        • 第二列,等號右邊的 ALL 表示:第一列的用戶可以切換到系統(tǒng)中任何一個其它用戶;
        • 第三列, ALL 表示:第一列的用戶能以root用戶的身份下達什么命令,ALL 表示可以下達任何命令。
        • ubuntu用戶第三列有一個 NOPASSWD 關鍵字,表明ubuntu用戶在請求 sudo 時不需要輸入密碼。

        如果你的用戶在切換時,如果出現”不在 sudoers 文件中“的警告信息,那么核查一下,對應的用戶應該沒有在該文件中進行配置,因此也無法使用 sudo 命令。

        參考ubuntu用戶的配置,將需要提升權限的用戶(比如test_user)添加到 /etc/sudoers 文件中:

        test_user  ALL=(ALL:ALL)  ALL   # test_user 使用sudo需要提供test_user的密碼  

        上面配置在執(zhí)行sudo時需要提供密碼,那么不需要提供密碼配置方式如下:

        test_user  ALL=(ALL:ALL)  NOPASSWD:ALL   # test_user 使用sudo需要提供test_user的密碼  

        添加完畢,esc退出編輯,執(zhí)行:wq,退出并保存。

        此時切換到test_user用戶,執(zhí)行需要root權限的命令時,前面添加sudo即可。

        [test_user@iZ2zedonrtl5m2zsh6tr1xZ ~]$ sudo docker ps -a
        CONTAINER ID   IMAGE         COMMAND    CREATED             STATUS                         PORTS     NAMES
        903734808a1e   hello-world   "/hello"   About an hour ago   Exited (0) About an hour ago             happy_jennings

        可以看到,現在 sudo 命令已經可以正常使用了。

        小結

        針對普通用戶臨時提升權限執(zhí)行命令的場景,只需在 /etc/sudoers 文件中進行配置即可。網絡上也有其他的配置方案,但未使用visudo命令,而是先對 /etc/sudoers 文件進行全變更,然后再進行修改,最后再將權限變更回去。雖然也能實現同樣的修改功能,但繞的太遠了。讀完這篇文章的朋友,現在你已經解鎖了新的、更方便的命令。

        SpringBoot:如何優(yōu)雅地進行響應數據封裝、異常處理?

        2022-08-03

        isEmpty 和 isBlank 的用法區(qū)別,至少一半的人答不上來...

        2022-08-02

        Spring Boot + EasyExcel導入導出,簡直太好用了!

        2022-08-01

        代碼真的越改越爛。。

        2022-07-31

        Redis中的布隆過濾器與布谷鳥過濾器,你了解多少?

        2022-07-30

        為了實現CI/CD,先來定制一個Docker鏡像【實戰(zhàn)精華篇】

        2022-07-29




        如果你覺得這篇文章不錯,那么,下篇通常會更好。備注“公眾號”添加微信好友(微信號:zhuan2quan)。

        ▲ 按關注”程序新視界“,洞察技術內幕
        瀏覽 125
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            bl高肉喷汁彩漫肉 | 日本熟妇丰满毛茸茸无码 | 男生戳美女两腿中间那个视频 | 国产一级婬片A片免费妖精视频 | 国产亚洲二区 | 欧美老年人性生活视频 | 人人看人人摸人人搞 | 口述三个男人躁我一个爽漫画 | 婷色五月| 黑人靠逼视频 |