嵌入式Linux環境搭建之設定Ubuntu的root密碼

小輝。?發表於2020-12-27

嵌入式 Linux 學習筆記
新安裝的Ubuntu系統,雖然已經設定了使用者名稱和密碼,但沒有設定 root 使用者的密碼,所以,這時如果要使用 root 許可權只能,當使用 sudo 命令。

下圖中,在沒設定 root 密碼的情況下,直接對根目錄寫資料(建立 test.c 檔案)時,系統會提示:Permissioin denied。
所以我使用 sudo 命令來使用 root 許可權達到對根目錄寫資料的目的,使用 sudo 命令輸入的密碼是使用者密碼,而 su ( su root )命令需要的密碼是 root 的密碼。

由於我還沒設定 root 密碼,所以無論我輸當前使用者的密碼還是直接回車,都提示失敗了。
在這裡插入圖片描述
要想設定 root 密碼,只需要輸入命令:sudo passwd root
在這裡插入圖片描述
那麼這樣我就產生了一些疑問,比如
竟然可以用 sudo 執行 root 許可權,為啥還要用 su 呢,這樣是不是連 root 密碼都不用設定了?
我目前只能用以下幾點來解釋了:

  1. 使用sudo命令獲取 root 許可權後是有時間限制的(預設5秒),而且普通使用者使用 sudo 獲取到root 許可權後可使用的命令是被 root 使用者控制的,而這類控制檔案在 /etc/sudoer 裡:
    在這裡插入圖片描述
    這個檔案裡特地標註了 “This file MUST be edited with the ‘visudo’ command as root
  2. 所有使用者使用 sudo 後的操作都會被記錄在日誌檔案中,/var/log/ 路徑下有很多 log檔案,其中 auth.log 是用來記錄使用者授權登入的日誌檔案,但使用 su 命令後的命令操作是不會被日誌記錄的。

如下圖,我先讓普通使用者使用 sudo 暫時獲取root 許可權,然後在根目錄下建立一個檔案,接著 使用 su 命令以root使用者登入,最後我讓 root 使用者刪除剛剛建立的檔案。
在這裡插入圖片描述
檢視日誌檔案(見下圖)發現:
在03:01:54 的時候,日誌中有"ubuntu sudo: xiaohui : TTY=pts/4 ; PWD=/home/xiaohui ; USER=root ; COMMAND=/usr/bin/touch /test.c",這記錄使用 sudo 的使用者的使用者名稱,工作路徑(PWD)、要授權的使用者名稱(USER)和使用的命令(COMMAND).
但03:02:21 的時候,只有 “ubuntu su[2477]: Successful su for root by xiaohui”,而沒有記錄 root 使用者刪掉 /test.c 這個檔案的記錄。
在這裡插入圖片描述

相關文章