linux上chrome、vlc等程序root不能运行的解决办法
来源:互联网 发布:ubuntu卸载qq国际版 编辑:程序博客网 时间:2024/04/30 09:04
chrome、vlc等程序使root用户无法使用的原理是:它获取程序的所有者,如果它是root用户,就让它不能运行。
程序中用到的函数是geteuid()。geteuid就是get essensial user id,获取有效用户id。每一个用户都有一个id,root用户id为0,普通用户id为1000以上。
知道原理后就可以得出解决办法了,就是将geteuid替换成getppid。getppid是获取此进程的父进程id,由于它是独立进程,它的父进程就是init进程(启动后的第一个进程),进程id为1,永远不可能为0。
首先查询程序的位置,以chromium-browser为例,
which chromium-browser
路径是/usr/bin/chromium-browser,然后
vim /usr/bin/chromium-browser
输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出,这样程序root用户就可以运行了,vlc等其他程序也是一样的办法。
我发现之后的chromiun更新了, /usr/bin/chromium-browser变成了一个非程序文件,只相当于一个链接了,真正的程序文件是/usr/lib/chromium-browser, 所以编辑此文件就行,方法一样。
- linux上chrome、vlc等程序root不能运行的解决办法
- Linux下,不能以根用户身份运行google chrome 浏览器的解决办法
- Linux下,不能以根用户身份运行google chrome 浏览器的解决办法.
- Linux下,不能以根用户身份运行google chrome 浏览器的解决办法
- Linux下,不能以根用户身份运行google chrome 浏览器的解决办法
- Linux下vlc以root用户运行
- linux 让root直接运行VLC Player
- VS2008编写的程序在有些电脑上不能运行的解决办法。
- Chrome默认不能以root身份运行 Google Chrome 浏览器
- Linux下root无法运行Chrome浏览器的解决方法
- 解决fedora16不能以root用户运行google chrome浏览器的问题
- 关于在其他机器上不能运行C#的解决办法
- android工程下不能运行java main程序的解决办法
- android工程下不能运行java main程序的解决办法
- android工程下不能运行java main程序的解决办法
- 在linux上编译windows 32/64 上运行的vlc
- 在linux上编译windows 32/64 上运行的vlc
- linux上运行程序问题,提示cannot open shared object file错误的解决办法
- ios与android语音通用方案 编译libopencore-amr xcode4.5/ios6版本
- DIV布局如何正确的使用 id 和 class
- 也谈成功
- ActiveXObject函数详解
- memcached源码剖析系列之内存存储机制
- linux上chrome、vlc等程序root不能运行的解决办法
- 三一撤离湖南影响湖南GDP
- 检测收的sim卡的状态,并调用系统的打电话功能
- java基础要点(5)面向对象-静态
- KG—ARM-Thumb子程序调用规则—ATPCS
- Oracle jobs定时任务
- Select相关操作
- linux常用svn命令
- JavaScript中的ActiveXObject对象