Kali Linux root用户下Chrome、VLC类似应用的启动

需要了解的信息

  1. 有些应用之所以在Kali Linux下无法启动,是因为它们不允许以root用户的身份运行,通常,我们可以直接修改相应的二进制文件,将getuid改为getppid,来达到我们的目的。不过这样破坏了安全性,也会因为软件的反复更新,而需要每次做重复的操作。

  2. 我们可以使用gksu -u <username> <bin>的方式来在终端以其他用户的身份启动应用。

  3. usr/share/applications路径下陈列着应用菜单里相应的.desktop文件。其中Exec参数定义了执行的命令。

综述,我们可以创建一个普通的用户,并修改应用菜单执行命令,来达到在root桌面环境下方便地以其他用户身份运行应用的目的。

例:使用Chrome

添加一个名为normaluser的用户:

useradd -m normaluser

此时,便可以用此用户运行Chrome:

gksu -u normaluser google-chrome-stable

此外,编辑/usr/share/applications下的google-chrome.desktopExec参数改为:

gksu -u normaluser /usr/bin/google-chrome-stable %U

这样,我们便可以通过桌面图标启动Chrome了。

问题解决

已知会产生音频设备加载失败的问题,导致无法播放声音。搜索相关资料,发现如果用户安装了桌面环境,PulseAudio很可能通过/etc/X11/xinit/xinitrc.d/pulseaudio文件或者/etc/xdg/autostart/目录下的文件自动启动。Chrome认为PulseAudio已经安装并运行,但事实并非如此。故用户应通过参数直接指明使用哪种音频输出。

首先,给予normaluser访问音频设备的权限:

usermod -a -G audio normaluser # 将normaluser移入audio用户组

获取必要的信息:

cat /proc/asound/cards # 查看声卡及设备号,对应于hw:x,x

运行Chrome:

gksu -u normaluser "/usr/bin/google-chrome-stable --alsa-output-device=hw:1,0"

至于VLC可以在图形界面设置中直接指定相应的输出设备,比较简单,这里不再赘述。

附:关于”用户”需要知道的知识

groups查看当前登录用户的组内成员

groups <username>查看某个用户所在的组,以及组内成员

whoami查看当前登录用户名

/etc/group文件包含所有组,格式为group_name:passwd:GID:user_list

/etc/shadow/etc/passwd系统存在的所有用户名

添加一个用户:

useradd <username>
useradd <username> -e 12/30/2020 # 指定账户有效期
useradd -u <username> # 指定UID

将用户添加至用户组:

usermod -a -G <groupname> <username>
gpasswd -a <username> <groupname>

将用户从用户组中删除:

gpasswd -d <username> <groupname>

修改用户名:

usermod -l <new username> -d /home/<new username> -m <old username>
groupmod -n <new username> <old username>
# 更改用户全称
chfn -f <new full name> <username>

vim全部替换字符:

%s/<old username>/<new username>/g
# firefox profile 路径下的 extensions.ini prefs.js

删除用户:

userdel -r <username> # -r 参数 宿主目录和邮件目录一并删除

Reference

  1. https://www.blackmoreops.com/2013/12/01/install-google-chrome-kali-linux-part-3/

  2. https://productforums.google.com/forum/#!category-topic/chrome/Stable/dH1MMoCktJw

  3. https://forums.gentoo.org/viewtopic-p-7651134.html

  4. https://bbs.archlinux.org/viewtopic.php?id=218199

  5. https://wiki.archlinux.org/index.php/PulseAudio

  6. http://stackoverflow.com/questions/15846741/alsa-default-vs-hw0-0

  7. https://superuser.com/questions/53957/what-do-alsa-devices-like-hw0-0-mean-how-do-i-figure-out-which-to-use

  8. https://ubuntuforums.org/showthread.php?t=1288484

  9. https://productforums.google.com/forum/#!topic/chrome/bNYE1j-KdpE;context-place=topicsearchin/chrome/authorid$3AAPn2wQdRLL8oTMy4TIjJ-Zbv0rkqvvvfOHPBiml_fnEeiwTXfpDC4ZJwzMO0QzFMYPWxHBJs7_nC