正则表达式编辑/ etc / sudoers文件(Regex pattern to edit /et

2019-09-16 23:57发布

我想删除(uncommnet#)轮组在/ etc / sudoers文件所以这将是正则表达式,我应该使用?

#cat /etc/sudoers
....
....
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Same thing without a password
# %wheel  ALL=(ALL)       NOPASSWD: ALL

....
....

我想从以下行中删除#。

...
# %wheel  ALL=(ALL)       NOPASSWD: ALL
...

Answer 1:

你不应该编辑/etc/sudoers与任何类型的脚本文件。 还有的一个原因visudo命令。 编辑到sudoers文件应该是罕见的,良好的控制。

话虽这么说,如果你的编辑器visudo命令六,你可以运行类似:%s/^# %wheel/%wheel/以取消所有的线什么先从%wheel

或者,如果你reeeeeeally认为这是必要的:

sudo sed --in-place 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers

不运行它--in-place首先要检查的输出。 需要您自担风险使用它。



Answer 2:

下面应该工作:

sed -i 's/^#\s*\(%wheel\s*ALL=(ALL)\s*NOPASSWD:\s*ALL\)/\1/' /etc/sudoers


Answer 3:

无需使用SED。 在CentOS你可以简单地创建在文件/etc/sudoers.d/

echo 'myuser ALL=(ALL) NOPASSWD: ALL' >> ./myuser
sudo chown root:root ./myuser
sudo mv ./myuser /etc/sudoers.d/

这将使须藤没有密码myuser 。 检查此了解更多信息: https://unix.stackexchange.com/questions/375433/etc-sudoers-vs-etc-sudoers-d-file-for-enabling-sudo-for-a-user



文章来源: Regex pattern to edit /etc/sudoers file