AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 41245
Accepted
Emilio
Emilio
Asked: 2009-07-16 11:52:52 +0800 CST2009-07-16 11:52:52 +0800 CST 2009-07-16 11:52:52 +0800 CST

Firefox 执行从具有权限删除的根执行脚本失败

  • 772

我无法从 sudoed python 脚本运行 firefox,该脚本将权限授予普通用户。如果我写

# 须藤蟒蛇
>>> 导入操作系统
>>> 导入密码,grp
>>> uid = pwd.getpwnam('norby')[2]
>>> gid = grp.getgrnam('norby')[2]
>>> os.setegid(gid)
>>> os.seteuid(uid)
>>> 导入浏览器
>>> webbrowser.get('firefox').open('www.google.it')
真的
>>> # 它返回 true 但不起作用
>>> 从子流程导入 Popen,PIPE
>>> p = Popen('firefox www.google.it', shell=True,stdout=PIPE,stderr=PIPE)
>>> # 不执行命令

我认为这不是 python 问题,而是 firefox/iceweasel/debian 配置问题。也许firefox只读取UID而不是EUID,并且不执行进程,因为UID等于0。你怎么看?

debian firefox permissions users sudo
  • 6 6 个回答
  • 503 Views

6 个回答

  • Voted
  1. Malfist
    2009-07-16T12:29:04+08:002009-07-16T12:29:04+08:00

    问题是它无法访问 X 服务器上的显示,它正在运行吗?我不建议使用 root 权限运行 firefox,这就像在 windows 机器上运行 IE 一样。

    您在评论中说您正在以较低的运行级别启动它。该错误是因为您在 X 出现活动显示之前在该较低级别启动了 firefox。延迟它的运行直到 X 启动。

    • 1
  2. Best Answer
    Saurabh Barjatiya
    2009-07-16T18:34:17+08:002009-07-16T18:34:17+08:00

    您必须导出名为 DISPLAY 且值为 ':0.0' 的环境变量。这可能使它起作用。如果您不知道如何使用 python 导出环境变量,请咨询 stackoverflow。

    • 1
  3. theotherreceive
    2009-07-16T11:56:15+08:002009-07-16T11:56:15+08:00

    你真的真的不应该这样做。就像,真的。

    你为什么要这么做?

    • 0
  4. Cian
    2009-07-16T11:57:01+08:002009-07-16T11:57:01+08:00

    我猜,你必须指定一个 X 服务器。恐怕我不知道如何在python中实际做到这一点:-)

    • 0
  5. Telemachus
    2009-07-16T12:26:00+08:002009-07-16T12:26:00+08:00

    首先,您通常希望使用gksuorgksudo或sux获得 X 应用程序的 root 权限。其次,你为什么sudo在 Debian 上使用?(我sudo的意思是甚至启用?它不是默认情况下在 Debian 上,而不是 Ubuntu 或 OS X。)第三,我想不出任何实际需要以 root 权限运行浏览器的情况。

    在某些情况下,您需要以 root 身份使用 gui 应用程序 - 例如,您想要编辑系统文件(例如/etc/network/interfaces),并且您最喜欢使用gedit. 这不是一件不合理的事情。但是您可能希望使用gksu或类似的实用程序来转移权限。

    • 0
  6. Yordan
    2009-07-16T12:32:11+08:002009-07-16T12:32:11+08:00

    我用苏。

    1. apt-get installl sux
    2. 火狐

    描述: su 的包装器将传输您的 X 凭据 Sux 是标准 su 命令的包装器,它将您的 X 凭据传输给目标用户。

    • 0

相关问题

  • 推荐的个人邮件服务器设置 [关闭]

  • 为什么 redhat 在企业界似乎如此受欢迎?[关闭]

  • 将管理员用户添加到 SQL Server 2008

  • 我应该如何将 debian/xen 机器从 etch 升级到 lenny

  • 如何授予对 Exchange 2007 中每个人的日历的访问权限?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve