#sudo #user #replace #systems #single #run-command #root

app yas

sudo 的替代品,使用 rust 编写

3 个版本 (1 个稳定版)

1.0.0 2020 年 10 月 4 日
0.1.1 2020 年 9 月 28 日
0.1.0 2020 年 9 月 27 日

#sudo 中排名 28

MIT 许可证

24KB
190

目录

  1. 这是什么?
  2. 安装
    1. AUR
    2. crates.io (rust 的包管理器)
    3. 从发布页面
  3. 使用方法
  4. 安全

yas - 一种 (某种) sudo 替代品 (整个自述文件仍在进行中)

这是什么?

yas,或称 '另一个 sudo',是一种 sudo 替代品,使用 rust 编写,没有真正的配置选项或不需要的功能。它仅适用于单用户系统,因为它开箱即用,无需配置,但您也无法限制用户以 root 身份运行程序。yas 也不能以任何其他用户身份运行命令,只能以 root 身份运行。如果您确实有一个不应该以 root 身份运行程序的用 户,这不是您想要的。

安装

AUR

存在一个用于 yas 的 git 版本的 AUR 包,您可以使用 AUR 辅助工具安装它,或者手动克隆它

git clone ssh://[email protected]/yas-git.git
cd yas-git
makepkg -is

或者

yay -S yas-git

crates.io (rust 的包管理器)

使用 rust 的 cargo 从 crates.io 获取它,运行以下命令

cargo install yas

注意:不会设置 suid 位,您必须手动设置 yas 以正常工作

su -c "chown root ~/.cargo/bin/yas && chmod u+s ~/.cargo/bin/yas"

从发布页面

  1. 下载二进制文件

  2. 更改所有者权限为 root

    chmod root yas

  3. 设置 suid 位

    chmod u+s yas

  4. 将其放在您的路径中的某个位置,例如 /usr/bin

使用方法

yas - execute commands as the root user

usage: yas [-h/--help] [-v/--version ]<command> <arguments for the command, this can be chained infinite>

正如您所看到的,yas 没有真正的选项。99% 的使用 sudo(或 opendoas)的人只是使用默认配置和默认选项。如果没有人使用该选项,那么谁还需要一个标志来编辑文件,而只是运行 `sudo `

安全

您可以用限制最高速度为每小时 20 英里来使汽车非常安全,但我不想那样做,我想拥有一个更像兰博基尼的汽车,也许我会加入一些安全气囊,然后主要靠驾驶员保护自己并安全驾驶。

YouTube 上的 Mental Outlaw

yas 在您想要以特权运行命令时将要求您输入密码,除非您在过去的 5 分钟内使用过 yas 运行过命令。然而,这并不是跨终端的,但我计划修复这个问题。

yas 不会像 sudo 那样提供许多安全功能,因此如果您想要最安全的 root 命令执行器,您也应该使用 sudo。

依赖关系

~1.3–2.6MB
~45K SLoC