微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

作为另一个用户运行python脚本

在Linux上,我想以另一个用户身份运行一个Python脚本。

我已经用C ++编写了一个调用脚本的包装程序,因为我已经意识到运行脚本的所有权取决于Python解释器的所有权。 之后,我将C ++程序更改为不同的用户并运行C ++程序。

这个设置似乎没有工作。 有任何想法吗?

在Linux中使用C ++设置系统date和时间

确定在SSD上的跨平台方式?

Python:在Windows或Linux上获取挂载点

如何杀死Bash中的subprocess?

如果内核库发生变化,Docker如何允许可移植容器

是铿锵+ ABI相同的G + +?

./test.pl和perl test.pl之间的区别

FindBugs找不到org.apache.bcel.classfile.ClassFormatException

什么可以(安全地)从Linux上的自定义python安装删除,使其更小

脚本打印作业以指定的时间间隔运行(令人敬畏的派对)

这听起来像你想使用setuid位

你可以用os.setuid()来设置用户,你可以用pwd来获得uid。 像这样:

>>> import pwd,os >>> uid = pwd.getpwnam('root')[2] >>> os.setuid(uid)

显然这只有在用户或可执行文件有权限的情况下才有效。 究竟如何设置,我不知道。 显然,如果你是根,它就可以工作。 我想你可能需要Python可执行文件中的setuid标志,这会留下一个WHOPPING安全漏洞。 如果你设置的用户也是一个专门的受限制用户,除了你需要做的事情之外什么都不能做,这可能是可以允许的。

基于用户和设置的Unix安全性不是很好,也不实用,容易留下大的安全漏洞。 更安全的选择实际上是做这种客户端服务器类型,所以你有一个恶魔,做任何事情,客户谈话。 然后,恶魔可以以比用户更高的安全性运行,但是用户在运行脚本时必须给出名称密码,或者使用一些公钥/私钥等标识自己。

为这些用户提供sudo su $dedicated_username的权限,并定制系统上的权限,以便$dedicated_user具有足够的访问权限,但不能过多。

使用命令sudo 。

为了以用户身份运行程序,系统必须“认证”该用户

很显然, root可以像任何用户一样运行任何程序,任何用户都可以通过口令提供给其他用户

程序sudo可以被配置为允许一组用户作为特定的用户来sudo特定的命令。

例如,你可以创建一个组scriptUsers用户一个用户scriptRun 。 然后,配置sudo让脚本中的任何用户成为脚本运行只用来运行你的脚本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐