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 的用户:

1
useradd -m normaluser

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

1
gksu -u normaluser google-chrome-stable

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

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

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

问题解决

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

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

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

获取必要的信息:

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

运行 Chrome:

1
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 系统存在的所有用户名

添加一个用户:

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

将用户添加至用户组:

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

将用户从用户组中删除:

1
gpasswd -d <username> <groupname>

修改用户名:

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

vim 全部替换字符:

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

删除用户:

1
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

Mastodon