我有个问题。我正在编写一个软件,该软件需要执行要求用户处于sudo模式的操作。运行’sudo python
filename.py’不是一个选项,这使我想到了我的问题。有没有一种方法可以在python脚本中途更改为sudo,安全性不是问题,因为用户将知道程序应以以下方式运行以说明问题的sudo密码
我的问题出在第3步,您可能会建议的任何指针或框架都会有很大帮助。
干杯
克里斯
使用Tcl和Expect,再加上子过程来提升自己。所以基本上是这样的:
sudo.tcl
spawn sudo
expect {
"Password:" {
send "password"
}
}
sudo.py
import subprocess
subprocess.call(['tclsh', 'sudo.tcl'])
然后运行sudo.py。
问题内容: 每次执行脚本时,我都试图编写一个小的脚本来挂载VirtualBox共享文件夹。我想用Python来做,因为我正在尝试学习它的脚本。 问题是我需要特权才能启动安装命令。我可以将脚本作为sudo运行,但是我更喜欢它自己制作sudo。 我已经知道将密码写入.py文件并不安全,但是我们谈论的是根本不重要的虚拟机:我只想单击.py脚本并使它工作。 这是我的尝试: 我的python版本是2.6 问
问题内容: 我想实现一个userland命令,该命令将使用其参数之一(路径)并将目录更改为该目录。程序完成后,我希望外壳位于该目录中。所以我想用外部程序来实现命令。 可以在python脚本中完成还是必须编写bash包装器? 例: 问题答案: 其他人指出,您不能从孩子那里更改父母的工作目录。 但是有一种方法可以实现您的目标-如果从shell函数中进行cd,则 可以 更改工作目录。将此添加到您的〜/
问题内容: 我无法弄清楚这是怎么回事。当我在终端中运行它并输入密码时,什么也没发生,但是如果我在终端中单独运行每个命令,它就可以工作。谢谢! 问题答案: Command 启动一个交互式根外壳程序,但不会将当前外壳程序转换为根外壳程序。 做您想要的事情的成语与此类似(感谢@CharlesDuffy的额外注意): 这个想法是检查当前用户是否是root用户,如果不是,请使用以下命令重新运行同一命令
问题内容: 我正在编写一个简单的脚本,该脚本可以重新启动hadoop从属服务器。在脚本中,我必须以root用户身份进行一些初始更改。之后,我必须更改为用户“ hadoop”并执行命令集。我使用os.system运行命令,但是我怀疑它是否运行良好。例如: 再一次,我必须以root用户身份执行一些命令,然后再次成为用户“ hadoop”并执行: 我在这里有三个问题, os.system是我可以用来发出
问题内容: 有没有办法更改在Linux上运行python脚本的进程的名称? 当我执行时,我得到的只是“ python”进程名称。 问题答案: http://code.google.com/p/procname/ 用法示例: 它仅在存在系统调用并支持命令的系统上工作。
html标记被忽略。我想为html标记(如table,br)进行漂亮的打印。 你用什么简单的方法来做这件事?