Sat*_*ish 6 regex linux bash awk sed
我想在/ etc/sudoers文件中删除(uncommnet#)轮组,那么我应该使用什么样的Regex模式?
#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
....
....
Run Code Online (Sandbox Code Playgroud)
我想从以下行中删除#.
...
# %wheel ALL=(ALL) NOPASSWD: ALL
...
Run Code Online (Sandbox Code Playgroud)
Tim*_*ote 16
您不应该/etc/sudoers使用任何类型的脚本编辑该文件.visudo命令是有原因的.对sudoers文件的编辑应该是罕见的并且控制得很好.
话虽这么说,如果你的visudo命令编辑器是vi,你可以运行类似于:%s/^# %wheel/%wheel/取消注释开头的所有行%wheel.
或者,如果您认为有必要:
sudo sed --in-place 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
Run Code Online (Sandbox Code Playgroud)
在没有第--in-place一个的情况下运行它来检查输出.需要您自担风险使用它.
以下应该工作:
sed -i 's/^#\s*\(%wheel\s*ALL=(ALL)\s*NOPASSWD:\s*ALL\)/\1/' /etc/sudoers
Run Code Online (Sandbox Code Playgroud)
无需使用 sed。在centos上,您可以简单地在以下位置创建文件/etc/sudoers.d/
echo 'myuser ALL=(ALL) NOPASSWD: ALL' >> ./myuser
sudo chown root:root ./myuser
sudo mv ./myuser /etc/sudoers.d/
Run Code Online (Sandbox Code Playgroud)
这将启用无需密码的 sudo myuser。查看更多信息:https : //unix.stackexchange.com/questions/375433/etc-sudoers-vs-etc-sudoers-d-file-for-enabling-sudo-for-a-user
| 归档时间: |
|
| 查看次数: |
8424 次 |
| 最近记录: |