自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Linux中運(yùn)行特定命令而無需sudo密碼

系統(tǒng) Linux
今天,在這個(gè)簡短的指南中,我將教你如何在類 Unix 的操作系統(tǒng)中運(yùn)行特定命令而無需 sudo 密碼。

 [[260199]]

我有一臺(tái)部署在 AWS 上的 Ubuntu 系統(tǒng),在它的里面有一個(gè)腳本,這個(gè)腳本的原有目的是以一定間隔(準(zhǔn)確來說是每隔 1 分鐘)去檢查某個(gè)特定服務(wù)是否正在運(yùn)行,如果這個(gè)服務(wù)因?yàn)槟承┰蛲V沽耍妥詣?dòng)重啟這個(gè)服務(wù)。但問題是我需要 sudo 權(quán)限來開啟這個(gè)服務(wù)。正如你所知道的那樣,當(dāng)我們以 sudo 用戶運(yùn)行命令時(shí),我們應(yīng)該提供密碼,但我并不想這么做,實(shí)際上我想做的是以 sudo 用戶的身份運(yùn)行這個(gè)服務(wù)但無需提供密碼。假如你曾經(jīng)經(jīng)歷過這樣的情形,那么我知道一個(gè)簡單的方法來做到這點(diǎn)。今天,在這個(gè)簡短的指南中,我將教你如何在類 Unix 的操作系統(tǒng)中運(yùn)行特定命令而無需 sudo 密碼。

就讓我們看看下面的例子吧。

  1. $ sudo mkdir /ostechnix
  2. [sudo] password for sk:

正如上面的截圖中看到的那樣,當(dāng)我在根目錄(/)中創(chuàng)建一個(gè)名為 ostechnix 的目錄時(shí),我需要提供 sudo 密碼。每當(dāng)我們嘗試以 sudo 特權(quán)執(zhí)行一個(gè)命令時(shí),我們必須輸入密碼。而在我的預(yù)想中,我不想提供 sudo 密碼。下面的內(nèi)容便是我如何在我的 Linux 機(jī)子上運(yùn)行一個(gè) sudo 命令而無需輸入密碼的過程。

在 Linux 中運(yùn)行特定命令而無需 sudo 密碼

基于某些原因,假如你想允許一個(gè)用戶運(yùn)行特定命令而無需提供 sudo 密碼,則你需要在 sudoers 文件中添加上這個(gè)命令。

假如我想讓名為 sk 的用戶去執(zhí)行 mkdir 而無需提供 sudo 密碼,下面就讓我們看看該如何做到這點(diǎn)。

使用下面的命令來編輯 sudoers 文件:

  1. $ sudo visudo

將下面的命令添加到這個(gè)文件的***。

  1. sk ALL=NOPASSWD:/bin/mkdir

其中 sk 是用戶名。根據(jù)上面一行的內(nèi)容,用戶 sk 可以從任意終端執(zhí)行 mkdir 命令而不必輸入 sudo 密碼。

你可以用逗號(hào)分隔的值來添加額外的命令(例如 chmod),正如下面展示的那樣。

  1. sk ALL=NOPASSWD:/bin/mkdir,/bin/chmod

保存并關(guān)閉這個(gè)文件,然后注銷(或重啟)你的系統(tǒng)?,F(xiàn)在以普通用戶 sk 登錄,然后試試使用 sudo 來運(yùn)行這些命令,看會(huì)發(fā)生什么。

  1. $ sudo mkdir /dir1

看到了嗎?即便我以 sudo 特權(quán)運(yùn)行 mkdir 命令,也不會(huì)彈出提示讓我輸入密碼。從現(xiàn)在開始,當(dāng)用戶 sk 運(yùn)行 mkdir 時(shí),就不必輸入 sudo 密碼了。

當(dāng)運(yùn)行除了添加到 sudoers 文件之外的命令時(shí),你將被提示輸入 sudo 密碼。

讓我們用 sudo 來運(yùn)行另一個(gè)命令。

  1. $ sudo apt update

看到了嗎?這個(gè)命令將提示我輸入 sudo 密碼。

假如你不想讓這個(gè)命令提示你輸入 sudo 密碼,請(qǐng)編輯 sudoers 文件:

  1. $ sudo visudo

像下面這樣將 apt 命令添加到 sudoers 文件中:

  1. sk ALL=NOPASSWD:/bin/mkdir,/usr/bin/apt

你注意到了上面命令中 apt 二進(jìn)制執(zhí)行文件的路徑與 mkdir 的有所不同嗎?是的,你必須提供一個(gè)正確的可執(zhí)行文件路徑。要找到任意命令的可執(zhí)行文件路徑,例如這里的 apt,可以像下面這樣使用 whichis 命令來查看:

  1. $ whereis apt
  2. apt: /usr/bin/apt /usr/lib/apt /etc/apt /usr/share/man/man8/apt.8.gz

如你所見,apt 命令的可執(zhí)行文件路徑為 /usr/bin/apt,所以我將這個(gè)路徑添加到了 sudoers 文件中。

正如我前面提及的那樣,你可以添加任意多個(gè)以逗號(hào)分隔的命令。一旦你做完添加的動(dòng)作,保存并關(guān)閉你的 sudoers 文件,接著注銷,然后重新登錄進(jìn)你的系統(tǒng)。

現(xiàn)在就檢驗(yàn)?zāi)闶欠窨梢灾苯舆\(yùn)行以 sudo 開頭的命令而不必使用密碼:

  1. $ sudo apt update

看到了嗎?apt 命令沒有讓我輸入 sudo 密碼,即便我用 sudo 來運(yùn)行它。

下面展示另一個(gè)例子。假如你想運(yùn)行一個(gè)特定服務(wù),例如 apache2,那么就添加下面這條命令到 sudoers 文件中:

  1. sk ALL=NOPASSWD:/bin/mkdir,/usr/bin/apt,/bin/systemctl restart apache2

現(xiàn)在用戶 sk 就可以運(yùn)行 sudo systemctl restart apache 命令而不必輸入 sudo 密碼了。

我可以再次讓一個(gè)特別的命令提醒輸入 sudo 密碼嗎?當(dāng)然可以!只需要?jiǎng)h除添加的命令,注銷然后再次登錄即可。

除了這種方法外,你還可以在命令的前面添加 PASSWD: 指令。讓我們看看下面的例子:

sudoers 文件中添加或者修改下面的一行:

  1. sk ALL=NOPASSWD:/bin/mkdir,/bin/chmod,PASSWD:/usr/bin/apt

在這種情況下,用戶 sk 可以運(yùn)行 mkdirchmod 命令而不用輸入 sudo 密碼。然而,當(dāng)他運(yùn)行 apt 命令時(shí),就必須提供 sudo 密碼了。

免責(zé)聲明:本篇指南僅具有教育意義。在使用這個(gè)方法的時(shí)候,你必須非常小心。這個(gè)命令既可能富有成效但也可能帶來摧毀性效果。例如,假如你允許用戶執(zhí)行 rm 命令而不輸入 sudo 密碼,那么他們可能無意或有意地刪除某些重要文件。我警告過你了!

那么這就是全部的內(nèi)容了。希望這個(gè)能夠給你帶來幫助。更多精彩內(nèi)容即將呈現(xiàn),請(qǐng)保持關(guān)注!

干杯!


責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2017-09-19 15:40:23

Linuxsudo命令密碼

2022-01-18 17:57:21

PodmanLinux容器

2017-02-06 18:00:26

Linuxsudo命令

2018-07-02 09:00:27

Linux特定時(shí)間運(yùn)行命令

2022-11-02 18:54:00

2022-10-08 08:31:09

Linuxsudo

2011-09-02 11:29:45

ubuntusudo

2022-05-25 16:38:42

sudoLinuxroot 賬戶

2019-06-04 11:17:39

Windows Linux命令

2018-09-04 10:04:13

Linux命令sudo

2018-04-20 09:58:10

Linux命令sudo

2019-06-04 15:34:05

WindowsLinuxLinux命令

2021-07-15 13:32:12

Linux生成密碼

2019-07-24 09:50:54

2017-02-05 17:48:04

Linuxsudo命令密碼會(huì)話

2021-11-01 10:05:32

Linuxsusudo

2022-12-14 17:26:43

2011-08-10 10:00:17

iOS 5升級(jí)

2021-01-27 15:17:38

漏洞網(wǎng)絡(luò)安全程序員

2017-11-01 13:42:13

LinuxDOSFreeDOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)