Linux-Mint

sudo 如何隱藏在命令中?

  • August 31, 2021

在 Linux Mint 20+ 上,我不必鍵入sudo apt upgrade. 我只輸入apt upgrade,提示要求輸入 sudo 密碼,並以提升的權限執行命令。

這是如何實現的?

你說有這樣的東西/usr/local/bin/apt

command = ["sudo"] + command
subprocess.Popen(command, stdout=subprocess.PIPE)

它看起來像一個 Python 腳本,它在開始時建構一個命令行並堆棧sudo,為您省去麻煩。

看起來同一個腳本也服務於其他一些命令,例如這裡有一些東西。

現在,如果你願意,你可以檢查ls -ld /usr/local/bin/apt說了什麼,看看它是否是實際腳本的符號連結等。上面和連結文章中的程式碼看起來像是使用呼叫腳本的名稱來查找實際執行的程序。

為什麼所有發行版都不一樣?

因為其他人沒有費心提供這樣的包裝,可能是因為他們認為這不值得。雖然apt沒有權限安裝包確實有點困難,但它也有其他功能,比如apt search不需要權限。一般來說,不可能列出所有需要它們的程序。根據rm情況,可能需要也可能不需要它們。

然後你會遇到需要sudo對某些命令使用,但對其他命令不使用的情況,這很令人困惑。sudo(可能有些人可能會爭辯說,使用者應該每次都被強制輸入,這樣他們才能知道他們何時使用提升的權限。)

引用自:https://unix.stackexchange.com/questions/663003