首頁 >系統教程 >Linux >Linux sudo 指令的秘密:10 個提高效率和安全性的技巧

Linux sudo 指令的秘密:10 個提高效率和安全性的技巧

WBOY
WBOY轉載
2024-02-11 18:09:23889瀏覽

sudo 是 Linux 系統中一個非常強大且常用的指令,它可以讓一般使用者以超級使用者(root)的身分執行特定的指令或程式。這樣可以避免使用者直接登入 root 帳戶,從而提高系統的安全性和穩定性。但是,你知道 sudo 指令還有很多隱藏的功能和技巧嗎?本文將為你介紹 Linux 中設定 sudo 的 10 個小技巧,讓你更能利用 sudo 指令來完成各種任務。 Linux sudo 命令的秘密:10 个提高效率和安全性的技巧

sudo允許使用者以root使用者身分(或另一個使用者)執行安全性原則指定的命令:它讀取並解析/etc sudoers,查找呼叫的使用者及其權限,然後提示呼叫使用者輸入密碼(通常是使用者的密碼,但也可以是目標使用者的密碼,也可以使用NOPASSWD取消密碼驗證),之後,sudo建立一個子進程,在其中呼叫setuid()切換到目標使用者next,它執行一個shell或在上面的子進程中作為參數給定的命令。
以下是十個/etc/sudoers檔案配置,以使用Defaults條目修改sudo指令的行為。

sudo cat /etc/sudoers | less

1.設定安全路徑

#這是用於每個使用sudo運行的命令的路徑,它有兩個重要性:
在系統管理員不信任sudo使用者有安全的PATH環境變數時使用
要分離“根路徑”和“用戶路徑”,只有由exempt_group定義的用戶不受此設定的影響。
要設定它,請新增行:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

2.在TTY使用者登入會話上啟用sudo

#要啟用從真實tty調用sudo,而不是透過cron或cgi-bin腳本等方法調用,請新增以下行:

Defaults requiretty

3.執行Sudo指令使用pty

有些時候,攻擊者可以使用sudo來執行惡意程式(例如病毒或惡意軟體),這將再次分叉保留在使用者的終端裝置上的後台進程,即使在主程式已經完成執行時。

為了避免這種情況,您可以將sudo配置為僅使用use_pty參數從psuedo-pty運行其他命令,無論I /O日誌是否已打開,如下所示:

Defaults use_pty1

4.建立Sudo日誌檔

預設情況下,sudo日誌通過syslog(3)。但是,若要指定自訂日誌文件,請使用logfile參數,如:

Defaults logfile="/var/log/sudo.log"

要在自訂日誌檔案中記錄主機名稱和四位數年份,請分別使用log_host和log_year參數,如下所示:

Defaults log_host, log_year, logfile="/var/log/sudo.log"

5.記錄Sudo指令輸入/輸出

log_input和log_output參數允許sudo在偽tty中運行命令,並記錄所有使用者輸入和所有輸出發送到螢幕。

預設I / O日誌目錄為/var/log/sudo-io,如果有會話序號,則儲存在此目錄中。您可以透過iolog_dir參數指定自訂目錄。

Defaults log_input, log_output1

支援一些轉義序列,例如%{seq},其擴展為單調遞增的基礎36序號,例如000001,其中每兩個數字用於形成新的目錄,例如。 00/00/01,如下例所示:

[root@linuxprobe ~]# cd /var/log/sudo-io/
[root@linuxprobe sudo-io]# ll
total 8
drwx------ 3 root root 4096 Jan 12 18:58 00
-rw------- 1 root root 7 Jan 12 19:08 seq
[root@linuxprobe sudo-io]# cd 00/00/06/
[root@linuxprobe 06]# ls
log stderr stdin stdout timing ttyin ttyout
[root@linuxprobe 06]# cat log
1484219333:root:root::/dev/pts/0
/root
/bin/bash

6.講解Sudo用戶

要講授sudo使用者關於系統上的密碼使用,請使用如下所示的lecture參數。

它有3個可能的值:

always – 總是講一個使用者。

once – 只在使用者第一次執行sudo指令時使用(當沒有指定值時使用)

never – 從不教導使用者。

Defaults lecture="always"

此外,您可以使用lecture_file參數設定自訂講義文件,在文件中鍵入對應的訊息:

Defaults lecture_file="/path/to/file"

7.輸入錯誤的sudo密碼時顯示自訂訊息

#當使用者輸入錯誤的密碼時,命令列上將顯示特定的訊息。預設訊息是“sorry,try again”,您可以使用badpass_message參數修改訊息,如下所示:
Defaults badpass_message=”Password is wrong, please try again,thank you!」

8.增加sudo密碼嘗試限制

參數passwd_tries用來指定使用者嘗試輸入密碼的次數。預設值為3:

Defaults passwd_tries=5

9.讓Sudo輸入錯誤的密碼時輸入提示

#
Defaults insults

10.了解更多Sudo設定

http://blog.csdn.net/wh211212/article/details/52923673

以上是Linux sudo 指令的秘密:10 個提高效率和安全性的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除