[英]Making a Python script run with root privileges
我有一個Python腳本需要在沒有root權限的Ubuntu服務器上掛載磁盤。 我使腳本可執行(使用#!/usr/bin/env python
)。 我也改名為“.SH”(可能並不重要),並chmod
它是可執行的。
然后,我將以下行輸入到我的sudoers文件中:
ALL ALL = (ALL) NOPASSWD: /home/sazulay/.scripts/mount_disks.sh/
如果我刪除最后一個'/',visudo聲稱我有語法錯誤。
如果我這樣離開並從我的用戶運行以下行:
sudo /home/sazulay/.scripts/mount_disks.sh
我仍然被提示輸入密碼,這正是我試圖避免的。
我究竟做錯了什么?
在行尾不應該有斜線。 你的sudoers文件應該是這樣的,
ALL ALL = (ALL) NOPASSWD: /home/sazulay/.scripts/mount_disks.sh
現在,關於你的實際問題!
如果我刪除最后一個'/',visudo聲稱我有語法錯誤。
我懷疑你添加的行是在文件的末尾。 現在,傳統上,UNIX命令也有一個問題,如果一個文件不具有換行符結尾\\n
。 大多數Linux編輯器(我都知道)將其添加進去。可能你使用的任何編輯器都沒有。 因此,在文件末尾添加一行,以便您的行不是最后一行。 所以它應該是這樣的
ALL ALL = (ALL) NOPASSWD: /home/sazulay/.scripts/mount_disks.sh
<--- empty line --->
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.