From 08cbaa162276e66e443b218be1fe5c473dbde39b Mon Sep 17 00:00:00 2001 From: ibuler Date: Sun, 20 Dec 2015 00:30:31 +0800 Subject: [PATCH] fix sudo bug --- connect.py | 2 +- templates/jperm/role_sudo.j2 | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect.py b/connect.py index e1d4829b8..1d52a75d9 100755 --- a/connect.py +++ b/connect.py @@ -701,7 +701,7 @@ class Nav(object): break if not file_path: - print "文件路径为空" + color_print("文件路径为空") continue runner.run('fetch', module_args='src=%s dest=%s' % (file_path, tmp_dir), pattern=pattern) diff --git a/templates/jperm/role_sudo.j2 b/templates/jperm/role_sudo.j2 index 269a1486e..642a30a66 100644 --- a/templates/jperm/role_sudo.j2 +++ b/templates/jperm/role_sudo.j2 @@ -5,15 +5,15 @@ real_file=/etc/sudoers tmp_file=$(mktemp /tmp/XXXXXXX) # Backup sudoers file -cp ${sudo_file} ${sudo_file_bak} +cp ${real_file} ${tmp_file} # Add Command Aliases add_cmd_alias() { sudo_file=$1 {% for sudo_name, sudo_cmd in sudo_alias.items %} {% if sudo_name != 'ALL' %} - if $(grep '^Cmnd_Alias {{ sudo_name }}' ${sudo_file} &> /dev/null); then - sed -i 's@^Cmnd_Alias.*{{ sudo_name }}.*@Cmnd_Alias {{ sudo_name }} = {{ sudo_cmd }}@g' ${sudo_file} + if $(grep '^Cmnd_Alias \<{{ sudo_name }}\>' ${sudo_file} &> /dev/null); then + sed -i 's@^Cmnd_Alias \<{{ sudo_name }}\>.*@Cmnd_Alias {{ sudo_name }} = {{ sudo_cmd }}@g' ${sudo_file} else echo "Cmnd_Alias {{ sudo_name }} = {{ sudo_cmd }}" >> ${sudo_file} fi @@ -26,8 +26,8 @@ add_cmd_alias() { add_role_chosen() { sudo_file=$1 {% for user, alias in sudo_user.items %} - if $(grep '^{{ user }}.*' ${sudo_file} &> /dev/null); then - sed -i 's@^{{ user }}.*@{{ user }} ALL = (root) NOPASSWD: {{ alias }}@g' ${sudo_file} + if $(grep '^{{ user }}\>' ${sudo_file} &> /dev/null); then + sed -i 's@^{{ user }}\>.*@{{ user }} ALL = (root) NOPASSWD: {{ alias }}@g' ${sudo_file} else echo "{{ user }} ALL = (root) NOPASSWD: {{ alias }}" >> ${sudo_file} fi