Mar*_*k L 4 security linux sudo
我通过以下方式添加了以下 sudo 配置条目sudo visudo
:
mark ALL = NOPASSWD: /usr/bin/lxc-ls*
Run Code Online (Sandbox Code Playgroud)
我可以lxc-ls
和我的用户一起运行,但我不能附加任何参数,除非它要求我在命令前加上sudo
.
$ whoami
mark
$ lxc-ls
test-container
$ lxc-ls --fancy
lxc-ls: error: You must be root to access advanced container properties. Try running: sudo /usr/bin/lxc-ls
Run Code Online (Sandbox Code Playgroud)
知道如何编辑 viasudo visudo
以允许在命令后使用任何参数吗?
我不想在命令前加上 sudo 前缀,因为我正在使用 python 库来执行命令,而且 sudo 前缀很有趣。
更新:
我试过删除*
但这也不起作用:
$ sudo grep '\-ls' /etc/sudoers
mark ALL = NOPASSWD: /usr/bin/lxc-ls
$ lxc-ls
test-container
$ lxc-ls --fancy
...
lxc-ls: error: You must be root to access advanced container properties. Try running: sudo /usr/bin/lxc-ls
Run Code Online (Sandbox Code Playgroud)
一个简单的文件名允许用户使用他/她希望的任何参数运行命令
因此,删除 *.
您仍然需要在 lxc-ls 命令前加上 sudo 或编写一个简单的包装器来为您执行此操作。
事情不是这样的sudo
。sudoers 文件只是在以 sudo 命令为前缀时授予用户对命令的权限,而不是这样您就可以在没有 sudo 前缀的情况下运行它。如果您自己的脚本无法执行该命令,则您需要编写一个包装脚本(如一个简单的 bash 文件)来执行该命令。
归档时间: |
|
查看次数: |
16128 次 |
最近记录: |