使用root权限运行Python脚本



我有一个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会声称我有语法错误。

我怀疑你添加的行在文件的末尾。现在,传统上,如果文件没有以换行符n结尾,unix命令就会出现问题。大多数linux编辑器(据我所知)都添加了这一点。无论你使用什么编辑器,都可能没有。因此,在文件末尾添加一行,使您的行是而不是最后一行。所以它应该是类似于的东西

ALL ALL = (ALL) NOPASSWD: /home/sazulay/.scripts/mount_disks.sh
<--- empty line --->

相关内容

  • 没有找到相关文章

最新更新