信創系統 sudoers 權限配置實戰!從小白到高手

好文鏈接:實戰!銀河麒麟 KYSEC 安全中心執行控制高級配置指南

Hello,大家好啊!今天給大家帶來一篇關于信創終端操作系統中 sudoers 文件詳解的實用文章!在 Linux 系統中,sudo 是一項非常重要的權限控制機制,它允許普通用戶以其他用戶(通常是 root)身份執行指定的命令。而 sudo 的行為規則,全部由 /etc/sudoers 文件來定義和管理。正確理解和配置 sudoers 文件,不僅能提升系統管理的安全性,也能讓權限分配更加靈活高效。本文將全面講解 sudoers 文件的結構、寫法、典型配置示例及最佳實踐。歡迎大家分享點贊,點個在看和關注吧!

1.什么是 sudoers 文件?

/etc/sudoers 是 sudo 工具的主配置文件。它定義了哪些用戶或用戶組可以使用 sudo,能以誰的身份執行哪些命令,以及是否需要輸入密碼等行為細節。

sudoers 文件必須由 root 用戶通過專門的編輯工具 visudo 修改,確保語法正確,避免因配置錯誤導致系統無法使用 sudo。

注意:直接用普通文本編輯器(如 vim 或 nano)打開 /etc/sudoers 是不安全的,必須用 visudo。

2.sudoers 文件基本語法結構

一條典型的規則格式為:

用戶或用戶組 主機 = (以誰的身份) [是否免密碼] 允許執行的命令

各部分含義:

*部分**說明*
用戶或用戶組指定用戶名或以 %組名 表示的用戶組
主機指定在哪些主機上有效,通常填寫 ALL
(以誰的身份)指定以哪個用戶身份執行命令,常用 (ALL) 或 (root)
[是否免密碼]NOPASSWD: 表示免密碼;不寫則默認需要輸入密碼
允許執行的命令指定具體允許執行的命令,必須使用絕對路徑

3.常見配置示例

3.1 創建普通用戶

作用:在系統中新增一個名為 pdsyw1024 的普通用戶,默認無管理員(sudo)權限。

img

3.2允許用戶執行所有命令(需輸入密碼)

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
?
pdsyw1024 ALL=(ALL) ALL

用戶 pdsyw1024 在所有主機上,可以以任何身份執行任何命令,但執行時需要輸入密碼。

img

pdsyw1024@pdsyw-PC:~$ sudo apt install nginx

解釋:用戶 pdsyw1024 現在可以用 sudo 安裝軟件,比如安裝 nginx,執行前會要求輸入自己的登錄密碼。

img

3.3 允許用戶執行特定命令且免密碼

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
?
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

用戶 pdsyw 可以直接重啟 nginx 服務,無需輸入密碼,且只能執行指定命令。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
?
對不起,用戶 pdsyw1024 無權以 root 的身份在 pdsyw-PC 上執行 /usr/bin/systemctl stop nginx。

解釋:用戶只能重啟 nginx服務,無法停止、啟動或管理其他服務。

這是限制最小權限原則的體現。

img

3.4 給用戶組統一授權

pdsyw@pdsyw-PC:~/Desktop$ sudo usermod -aG pdsyw pdsyw1024 
?
pdsyw@pdsyw-PC:~/Desktop$ id pdsyw1024 
?
uid=1001(pdsyw1024) gid=1001(pdsyw1024) 組=1001(pdsyw1024),7(lp),100(users),109(netdev),117(lpadmin),119(scanner),997(sambashare),1000(pdsyw)

含義:把用戶 pdsyw1024 加入到 pdsyw 用戶組中(-aG表示追加到新組,不影響原有組)。

img

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
?
%pdsyw ALL=(ALL) ALL

pdsyw 組內的所有用戶,擁有 sudo 所有權限。

注意:組名前必須加 % 符號。

含義:% 表示用戶組,賦予 pdsyw 組內所有成員完全的 sudo 權限,執行任何命令,需要輸入密碼。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
?
pdsyw1024@pdsyw-PC:~$ sudo apt install nginx

解釋:屬于 pdsyw 組的用戶可以正常用 sudo 執行各類系統管理命令。

img

3.5允許執行多個特定命令

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
?
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/systemctl stop nginx

含義:允許 pdsyw1024 免密碼執行重啟和停止 nginx 的命令,中間用逗號分隔多個命令。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl start nginx
?
對不起,用戶 pdsyw1024 無權以 root 的身份在 pdsyw-PC 上執行 /usr/bin/systemctl start nginx。

解釋:用戶只能執行被列出的特定命令,不能超出范圍,比如無法執行 start nginx。

img

4.使用 /etc/sudoers.d/ 子文件進行權限管理(推薦)

為了提高管理靈活性,推薦將 sudo 配置拆分成子文件,存放在 /etc/sudoers.d/ 目錄下。

操作步驟:

新建子文件并編輯(用 visudo 檢查語法):

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo -f /etc/sudoers.d/pdsyw1024
?
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

作用:在 /etc/sudoers.d/ 目錄下,專門為 pdsyw1024 單獨建一個規則文件,便于權限管理、維護和審計。

含義:只允許重啟 nginx,免密碼。

img

pdsyw@pdsyw-PC:~/Desktop$ sudo chmod 440 /etc/sudoers.d/pdsyw1024

作用:保證子文件權限是 -r--r-----(即 0440),符合 sudo 要求,防止文件被隨意修改。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl start nginx
?
對不起,用戶 pdsyw1024 無權以 root 的身份在 pdsyw-PC 上執行 /usr/bin/systemctl start nginx。
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
?
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
?
對不起,用戶 pdsyw1024 無權以 root 的身份在 pdsyw-PC 上執行 /usr/bin/systemctl stop nginx。

解釋:用戶權限依然受到嚴格限制,只能執行授權的命令。

img

好處:

避免直接修改主 sudoers 文件,降低誤操作風險。

按用戶、應用、角色單獨管理權限,更清晰、更規范。

系統維護、配置審計更方便。

5.sudoers 文件中常用的 Defaults 配置

Defaults 行可以用來調整 sudo 的全局默認行為。

常見示例:

*配置**含義*
Defaults env_reset清空大部分環境變量,防止環境污染
Defaults timestamp_timeout=30設置 sudo 密碼緩存時間,單位分鐘(30分鐘內不用重復輸入)
Defaults insults密碼輸錯時顯示幽默提示(娛樂用)
Defaults !requiretty允許在無終端(比如腳本里)使用 sudo

例如:

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
?
Defaults timestamp_timeout=15

表示 sudo 密碼輸入一次后,15分鐘內免輸。

img

6.安全注意事項

*注意事項**說明*
始終使用 visudo 編輯防止語法錯誤導致系統無法使用 sudo
指定命令時使用絕對路徑必須寫完整路徑,例如 /usr/bin/systemctl,不能只寫命令名
權限最小化原則只授權必要命令,避免給予過大權限
不濫用通配符/usr/bin/* 等寬泛規則容易引發安全漏洞
保持子文件權限為 0440防止未授權用戶篡改 sudo 配置

小結:

/etc/sudoers 是 Linux 系統中 sudo 權限的核心配置文件。

正確使用 sudoers 可以精確控制普通用戶的操作權限,提升系統安全性。

推薦通過 /etc/sudoers.d/ 子文件進行分模塊管理,規范又安全。

編輯時務必使用 visudo 工具,確保配置無誤。

良好的 sudo 權限管理,不僅能有效提升系統運維效率,也是保障系統安全不可或缺的重要措施。

附錄:常見命令參考

*操作**命令*
打開 sudoers 主文件sudo visudo
編輯 sudoers 子文件sudo visudo -f /etc/sudoers.d/用戶名
查看命令絕對路徑which 命令名
設置文件權限為 0440sudo chmod 440 /etc/sudoers.d/文件名

正確配置 /etc/sudoers,是保障 信創終端操作系統 安全性和運維效率的重要步驟。

本文結合 dde-printer 組件操作實例,講解了從基礎到進階的完整配置方式,包含:

語法規則

用戶與組授權

子文件管理

安全最佳實踐

掌握這些技巧,能夠幫助大家在日常管理中更加規范、靈活、安全地使用 sudo!

如果你覺得這篇文章對你有幫助,歡迎點贊、轉發、點個在看~我們下次再見!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77440.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77440.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77440.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《明解C語言入門篇》讀書筆記四

目錄 第四章:程序的循環控制 第一節:do語句 do語句 復合語句(程序塊)中的聲明 讀取一定范圍內的值 邏輯非運算符 德摩根定律 德摩根定律 求多個整數的和及平均值 復合賦值運算符 后置遞增運算符和后置遞減運算符 練習…

vite+vue2+elementui構建之 vite.config.js

webpack版本太低,構建依賴太多,頭大。 各種查閱資料,弄了一份直通構建vite構建elementUi核心文件, 構建基于開源若依vue2vue3版本改造,感謝開源,感謝若依。 package.json 地址 vitevue2elementui構建之…

超參數詳解:從基礎概念到優化策略的全面指南

摘要 本文深入解析機器學習中超參數的核心概念,詳細對比參數與超參數的本質區別,系統介紹學習率、隱含層數量等常見超參數類型,以及網格搜索、貝葉斯優化等主流尋優方法。結合超參數搜索的標準流程,通過具體案例演示如何高效調整…

計算機視覺與深度學習 | LSTM原理及與卡爾曼濾波的融合

長短期記憶網絡(LSTM)是一種特殊的循環神經網絡(RNN),旨在解決傳統RNN在處理長序列數據時出現的梯度消失和梯度爆炸問題。以下為你詳細介紹其基本原理: 核心思想:LSTM的核心思想是引入記憶單元和門控機制來控制信息的流動,從而解決傳統RNN的梯度消失問題。記憶單元類似…

EXCEL常用函數公式和VBA匯總第二篇

系列文章目錄 文章目錄 系列文章目錄前言一、excel公式應用1.rand函數2.rand函數隨機排序3.rand函數提取數據4.correl函數5.SUBSTITUTE函數6.MAX組合函數7.分析下班時間8.柏拉圖自動排序 總結 前言 一、excel公式應用 1.rand函數 用excel生成1-5的隨機數字,其中對…

iOS 類與對象底層原理

iOS 類與對象底層原理 文章目錄 iOS 類與對象底層原理探索對象本質objc_setProperty 源碼cls與類的關聯原理聯合體isa的類型isa_t 原理探索initIsa方法通過setClass方法中的shiftcls來驗證綁定的一個流程通過 isa & ISA_MSAK通過object_getClass通過位運算 類&類的結構…

浮點數:IEEE 754標準

IEEE 754 標準是一種由電氣和電子工程師協會(IEEE)制定的浮點數表示的標準,廣泛應用于計算機系統中,下面是詳細介紹: 歷史背景 在 IEEE 754 標準出現之前,不同的計算機系統采用各自的浮點數表示方法&…

centos7部署k8s集群

環境準備 服務器三臺 10.0.0.70master 10.0.0.71worker1 10.0.0.72worker2 配置yum源(集群機器執行) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 安裝常用軟件 yum -y install lrzsz vim net-tools關閉f…

第三方軟件檢測報告:熱門辦公軟件評估及功能表現如何?

第三方軟件檢測報告是重要文件。它用于對軟件做專業評估。能反映軟件各項性能。能反映軟件安全性等指標。該報告為軟件使用者提供客觀參考。該報告為軟件開發者提供客觀參考。有助于發現問題。還能推動軟件改進。 檢測概述 本次檢測針對一款熱門辦公軟件。采用了多種先進技術…

Linux:41線程控制lesson29

1.線程的優點: ? 創建?個新線程的代價要?創建?個新進程?得多 創建好線程只要調度就好了 ? 與進程之間的切換相?,線程之間的切換需要操作系統做的?作要少很多 為什么? ? 最主要的區別是線程的切換虛擬內存空間依然是相同的&#x…

【MCP】從一個天氣查詢服務帶你了解MCP

1. 前言 這篇文章將通過一個集成高德天氣查詢的 MCP Server 用例,帶你上手開發自己的 MCP Server ,文章將通過以下三種方式(自己編寫 Client 端代碼,使用 mcp-cli 自帶頁面,集成到 Claude 桌面版等)帶你測試自己的 MC…

SHCTF-REVERSE

前言 之前寫的,一直沒發,留個記錄吧,萬一哪天記錄掉了起碼在csdn有個念想 1.ezapk 反編譯 快速定位關鍵函數 package com.mycheck.ezjv;import adrt.ADRTLogCatReader; import android.app.Activity; import android.content.Context; impo…

安卓觸摸事件分發機制分析

1. 前言 🎯 一句話總結: 觸摸事件(TouchEvent)會從 Activity 層開始,按從外到內的方式傳遞給每一個 ViewGroup/View,直到某個 View 消費(consume) 它,事件傳遞就會停止…

Spring MVC 多個攔截器的執行順序

一、流程總覽 該流程圖描述了一個多層攔截器鏈的業務處理流程,核心邏輯為: 前置攔截:通過 predHandler1 和 predHandler2 逐層校驗請求合法性。核心處理:通過校驗后執行核心業務邏輯 handler()。后置處理與清理:按反…

django filter 排除字段

在Django中,當你使用filter查詢集(QuerySet)時,通常你會根據模型的字段來過濾數據。但是,有時你可能想要排除某些特定的字段,而不是過濾這些字段。這里有幾種方法可以實現這一點: 使用exclude方…

ByeCode,AI無代碼開發平臺,拖拽式操作構建應用

ByeCode是什么 ByeCode 是一款先進的 AI 無代碼平臺,旨在幫助企業迅速創建數字名片、網站、小程序、應用程序及內部管理系統,無需繁雜的編碼或開發工作。ByeCode 采用直觀的可視化界面和拖拽式操作,使得非技術用戶能夠輕松上手。同時&#x…

AI日報 - 2025年04月28日

🌟 今日概覽(60秒速覽) ▎🤖 能力進展 | Gemini 2.5 Pro成功挑戰《口袋妖怪紅》8道館;AI推理器具備自我糾錯能力;LLM在游戲、多模態理解、代碼遷移等方面展現新能力。 ▎💼 商業動向 | Google回應DOJ反壟斷案&#xff…

在Java中實現List按自定義順序排序的幾種方案

在Java中實現List按自定義順序排序的幾種方案 在實際開發中&#xff0c;我們經常需要對集合中的對象按照特定字段進行排序。當排序規則不是簡單的字母或數字順序&#xff0c;而是自定義的順序時&#xff0c;我們需要采用特殊的方法。本文將以一個List<Person>按省份特定…

微服務架構在云原生后端的深度融合與實踐路徑

??個人主頁??:一ge科研小菜雞-CSDN博客 ????期待您的關注 ???? 一、引言:后端架構的演變,走向云原生與微服務融合 過去十余年,后端架構經歷了從單體應用(Monolithic)、垂直切分(Modularization)、到微服務(Microservices)的演進,每一次變化都是為了解決…

Python中的Walrus運算符分析

Python中的Walrus運算符&#xff08;:&#xff09;是Python 3.8引入的一個新特性&#xff0c;允許在表達式中同時賦值和返回值。它的核心作用是減少重復計算&#xff0c;提升代碼簡潔性。以下是其適用的典型場景及示例&#xff1a; 1. 在循環中避免重復計算 當循環條件需要多次…