我想在/ 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
....
....
我想从以下行中删除#。
...
# %wheel ALL=(ALL) NOPASSWD: ALL
...
答案 0 :(得分:15)
您不应该使用任何类型的脚本编辑/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
首先运行它而不使用--in-place
检查输出。使用它需要您自担风险。
答案 1 :(得分:3)
以下内容应该有效:
sed -i 's/^#\s*\(%wheel\s*ALL=(ALL)\s*NOPASSWD:\s*ALL\)/\1/' /etc/sudoers
答案 2 :(得分:1)
无需使用sed。在centos上,您只需在function createFormSubmitTrigger(e) {
var formResponse = e.response;
var itemResponses = formResponse.getItemResponses();
var url = itemResponses[0].getResponse();
var formCopy = FormApp.openByUrl(url);
ScriptApp.newTrigger('onFormSubmit').forForm(formCopy).onFormSubmit().create();
}
/etc/sudoers.d/
这将为echo 'myuser ALL=(ALL) NOPASSWD: ALL' >> ./myuser
sudo chown root:root ./myuser
sudo mv ./myuser /etc/sudoers.d/
启用无密码的sudo。检查此以获得更多信息:https://unix.stackexchange.com/questions/375433/etc-sudoers-vs-etc-sudoers-d-file-for-enabling-sudo-for-a-user