我需要一个这样的例子

我需要一个这样的例子

我在 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

只需保存、退出,visudo就会显示几个错误。在此输入图像描述

答案1

正如 @JaromandaX 在评论中所说,没有必要制作我在共享帖子中找到的所有内容。只需确保命令正确,显然运行chmod -x并检查 sudoers 文件。所以,步骤是这样的:

  1. 在任何路径上创建一个带有 sh 扩展名的脚本(我的是win_kex.shon /usr/local/bin
  2. chmod -x使用( chmod -x /usr/local/bin/win_kex.sh)使脚本可执行
  3. sudo visudo使用添加 NOPASSWD 规则作为文件的最后一行来编辑 sudoers 文件: myusername ALL=(ALL) NOPASSWD: /Path/to/the/file(kapichy97 ALL=(ALL) NOPASSWD: /usr/local/bin/win_kex.sh)。

就这样。

相关内容