我在 WSL2 上使用 Kali 的 win-kex 基本模式时遇到问题,连接失败。我可以在启动前运行此命令来解决它:(sudo mount -o remount rw /tmp/.X11-unix
来源:https://stackoverflow.com/questions/70577819/how-to-fix-the-error-error-connecting-to-the-kex-server)
我想在 sudoers 上写一条 NOPASSWD 行,以避免每次只针对此命令请求密码。于是,搜索信息,我发现了这篇文章:在 /etc/sudoers 中添加 NOPASSWD 仅适用于某些特定命令。提出问题的人编辑了帖子并分享了答案,但是当我尝试使用它时,visudo“爆炸”了屏幕,出现很多错误(主要是语法错误),这只是因为我不太理解有关 User_Alias、Cmnd_Alias 和其他 sudoers 配置的所有信息。
问题出在 sudoers.d 文件中,所以我想要一个关于这一点的示例,以将其用作指南。
编辑:
我已经以 root 身份创建了“win_kex”文件/usr/local/bin/
:
#!/bin/bash
mount -o remount rw /tmp/.X11-unix
#
我按照sudoers.d
之前共享的帖子中的步骤创建了另一个文件“winkex”:(myusername=kapicy97)
User_Alias winkex=myusername
Cmnd_Alias WK=/home/globalisation/r
winkex ALL=NOPASSWD WK
然后在 sudoers 上添加以下行:
myusername ALL=(ALL:ALL) ALL
myusername ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/winkex
答案1
正如 @JaromandaX 在评论中所说,没有必要制作我在共享帖子中找到的所有内容。只需确保命令正确,显然运行chmod -x
并检查 sudoers 文件。所以,步骤是这样的:
- 在任何路径上创建一个带有 sh 扩展名的脚本(我的是
win_kex.sh
on/usr/local/bin
) chmod -x
使用(chmod -x /usr/local/bin/win_kex.sh
)使脚本可执行sudo visudo
使用添加 NOPASSWD 规则作为文件的最后一行来编辑 sudoers 文件:myusername ALL=(ALL) NOPASSWD: /Path/to/the/file
(kapichy97 ALL=(ALL) NOPASSWD: /usr/local/bin/win_kex.sh)。
就这样。