如何在 Linux 上查看 sudo 命令用法
已發表: 2022-08-24
sudo
命令賦予用戶超級用戶或 root 權限。 毫無疑問,你給了他們“權力越大,責任越大”的演講。 這是檢查他們是否聽過的方法。
sudo 命令
sudo
命令代表“替代用戶執行”。 它允許授權人員執行命令,就好像他們是另一個用戶一樣。 它可以採用命令行參數,其中之一是您希望執行命令的用戶的名稱。 sudo
最常見的使用方式是省略命令行選項並使用默認操作。 這有效地以 root 用戶身份執行命令。
以這種方式使用sudo
需要特殊權限。 只有特權才能使用sudo
。 當您安裝現代 Linux 發行版時,系統會提示您設置可以與sudo
一起使用的 root 密碼。 這樣做的權限授予您在安裝期間創建的普通用戶。 這是處理對 root 用戶功能的訪問的首選方式。 舊的方法是創建一個 root 用戶並以他們的身份登錄以管理您的系統。
這是一個危險的場景。 當您不再需要 root 權限時,很容易忘記或懶得註銷並以普通用戶身份重新登錄。 您在終端窗口中以 root 身份犯下的任何錯誤都會被執行,無論多麼嚴重。 如果普通用戶嘗試執行這些操作,則會被 shell 阻止的東西在 root 請求它們時會毫無疑問地運行。 使用 root 帳戶而不是普通帳戶也是一種安全風險。
使用sudo
可以集中註意力。 你正在進入同樣危險的水域,但你有意識地選擇這樣做,並希望非常小心。 只有當您需要做一些需要他們的事情時,您才會調用您的超級用戶狀態。
如果您向其他用戶開放 root 訪問權限,您想知道他們和您一樣關心他們。 您不希望他們魯莽或投機地運行命令。 Linux 安裝的健康和幸福取決於特權用戶的行為尊重和負責任。
以下是監控其根使用情況的幾種方法。
auth.log 文件
一些發行版在名為“auth.log”的文件中維護身份驗證日誌。 隨著systemd
的出現和迅速普及,不再需要“auth.log”文件。 systemd-journal
守護進程將系統日誌整合為一種新的二進制格式, journalctl
為您提供了一種檢查或詢問日誌的方法。
如果你的 Linux 計算機上確實有一個“auth.log”文件,它可能在“/var/log/”目錄中,儘管在某些發行版上文件名和路徑是“/var/log/audit/audit 。日誌。”
您可以less
這樣打開文件。 請記住調整路徑和文件名以適合您的發行版,並做好準備,以防您的 Linux 甚至沒有創建身份驗證文件。
此命令適用於 Ubuntu 22.04。
少 /var/log/auth.log
日誌文件已打開,您可以滾動瀏覽文件或使用 less 內置的搜索工具搜索“sudo”。
即使使用less
的搜索功能,也可能需要一些時間才能找到您感興趣的sudo
條目。
假設我們想看看一個叫mary
的用戶使用sudo
做什麼。 我們可以使用grep
搜索日誌文件中包含“sudo”的行,然後再次通過grep
管道輸出並查找其中包含“mary”的行。
請注意 grep 之前和日誌文件名之前的sudo
。
sudo grep sudo /var/log/auth.log | grep “瑪麗”

這為我們提供了其中包含“sudo”和“mary”的行。
我們可以看到用戶mary
在 15:25 獲得了sudo
權限,並且在 15:27 她正在編輯器中打開fstab
文件。 從與用戶聊天開始,這種活動絕對值得深入探討。
使用 journalctl
基於systmd
的 Linux 發行版的首選方法是使用journalctl
命令查看系統日誌。
如果我們將程序的名稱傳遞給journalctl
,它將在日誌文件中搜索包含對該程序的引用的條目。 因為sudo
是位於“/usr/bin/sudo”的二進製文件,我們可以將其傳遞給journactl
。 -e
(尋呼機結束)選項告訴journalctl
打開默認文件尋呼機。 通常這會less
。 顯示屏會自動滾動到底部以顯示最近的條目。
sudo journalctl -e /usr/bin/sudo
具有sudo
功能的日誌條目在 less 中列出。
使用“RightArrow”鍵向右滾動以查看每次調用sudo
時使用的命令。 (或拉伸您的終端窗口,使其更寬。)
並且由於輸出顯示在less
中,您可以搜索命令名稱、用戶名和時間戳等文本。
相關:如何使用 journalctl 讀取 Linux 系統日誌
使用 GNOME 日誌實用程序
圖形桌面環境通常包括查看日誌的方法。 我們將看看 GNOME 日誌實用程序。 要訪問日誌實用程序,請按“空格鍵”左側的“超級”鍵。
在搜索字段中輸入“日誌”。 出現“日誌”圖標。
單擊圖標以啟動“日誌”應用程序。
單擊側欄中的類別將按消息類型過濾日誌消息。 要進行更精細的選擇,請單擊邊欄中的“全部”類別,然後單擊工具欄上的放大鏡圖標。 輸入一些搜索文本。 我們將搜索“sudo”。
過濾事件列表以僅顯示與sudo
命令相關的事件。 每行末尾的小灰色塊包含該事件會話中的條目數。 單擊一條線將其展開。
我們單擊頂行以查看該會話中 24 個條目的詳細信息。
稍微滾動一下,我們可以看到我們在使用journalctl
命令時看到的相同事件。 很快就找到了用戶mary
對fstab
文件的不明原因的編輯會話。 我們本可以搜索“mary”,但這將包括除了她使用sudo
之外的條目。
不是每個人都需要 root 訪問權限
如果有真正合理的要求,將sudo
權限授予其他用戶可能是有意義的。 同樣,只有檢查他們對這些權力的使用或濫用情況才有意義,尤其是在他們被賦予這些權力之後。