如何在Shell腳本中運(yùn)行普通命令
在電腦行業(yè)工作的人對(duì)于在Shell腳本中運(yùn)行普通命令應(yīng)該不會(huì)感到陌生。今天,我將為大家分享一種方法,即在Linux的Shell腳本中切換到普通用戶來執(zhí)行腳本或命令。這個(gè)方法具有很好的參考價(jià)值,希望對(duì)大
在電腦行業(yè)工作的人對(duì)于在Shell腳本中運(yùn)行普通命令應(yīng)該不會(huì)感到陌生。今天,我將為大家分享一種方法,即在Linux的Shell腳本中切換到普通用戶來執(zhí)行腳本或命令。這個(gè)方法具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
安裝deb包和設(shè)置程序啟動(dòng)
首先,在開始之前,需要安裝deb包并設(shè)置程序啟動(dòng)。需要注意的是,程序的啟動(dòng)無需使用root權(quán)限,更不能使用其他開機(jī)啟動(dòng)選項(xiàng)。
臨時(shí)降低權(quán)限法
常用的一種方法是使用臨時(shí)降低權(quán)限法,這種方法相對(duì)簡(jiǎn)單,但需要考慮大家的耐心。下面是一些示例代碼:
```shell
secUser`who am i | awk '{print $1}'`
su $secUser -c <指令> > /dev/null 2>1
```
上述代碼的執(zhí)行權(quán)限是臨時(shí)的,只在該條語(yǔ)句起作用。通過`id -u`命令可以驗(yàn)證用戶權(quán)限是否成功降低,如果結(jié)果為0,則表示權(quán)限仍然是root用戶的權(quán)限。
參數(shù)解釋:
- `-c, --command COMMAND`:將COMMAND傳遞給調(diào)用的shell
- `-h, --help`:顯示幫助信息并退出
- `-l, --login`:使shell成為登錄shell
- `-m, -p, --preserve-environment`:不重置環(huán)境變量,并保持相同的shell
- `-s, --shell SHELL`:使用SHELL替代默認(rèn)的passwd文件中的shell
這段代碼提供了降低權(quán)限的功能,并且可以提供幫助。
總結(jié)
以上就是在Linux的Shell腳本中切換到普通用戶執(zhí)行腳本或命令的方法。希望這篇文章能給大家提供參考,并且多多支持腳本之家。