mirror of
https://github.com/frappe/bench.git
synced 2024-11-12 00:06:36 +00:00
fix: run fix_user_permissions only if production or sudoers is set up
This commit is contained in:
parent
849c751e93
commit
fe02844c69
@ -69,9 +69,6 @@ def update_supervisord_conf(user):
|
|||||||
supervisord_conf = get_supervisord_conf()
|
supervisord_conf = get_supervisord_conf()
|
||||||
section = "unix_http_server"
|
section = "unix_http_server"
|
||||||
|
|
||||||
if not supervisord_conf:
|
|
||||||
return
|
|
||||||
|
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
config.read(supervisord_conf)
|
config.read(supervisord_conf)
|
||||||
config[section]["chmod"] = "0760"
|
config[section]["chmod"] = "0760"
|
||||||
|
@ -1,21 +1,38 @@
|
|||||||
# imports - standard imports
|
# imports - standard imports
|
||||||
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
|
||||||
|
|
||||||
# imports - module imports
|
# imports - module imports
|
||||||
from bench.utils import get_cmd_output, exec_cmd, which
|
|
||||||
from bench.cli import change_uid_msg
|
from bench.cli import change_uid_msg
|
||||||
|
from bench.config.production_setup import get_supervisor_confdir, is_centos7
|
||||||
|
from bench.utils import exec_cmd, get_bench_name, get_cmd_output
|
||||||
|
|
||||||
|
|
||||||
|
def is_sudoers_set():
|
||||||
|
cmd = ["sudo", "-n", "bench"]
|
||||||
|
return (not subprocess.call(cmd)) or (change_uid_msg in get_cmd_output(cmd))
|
||||||
|
|
||||||
|
|
||||||
|
def is_production_set(bench_path):
|
||||||
|
production_setup = False
|
||||||
|
bench_name = get_bench_name(bench_path)
|
||||||
|
|
||||||
|
supervisor_conf_extn = "ini" if is_centos7() else "conf"
|
||||||
|
supervisor_conf_file_name = '{bench_name}.{extn}'.format(bench_name=bench_name, extn=supervisor_conf_extn)
|
||||||
|
supervisor_conf = os.path.join(get_supervisor_confdir(), supervisor_conf_file_name)
|
||||||
|
|
||||||
|
if os.path.exists(supervisor_conf):
|
||||||
|
production_setup = production_setup or True
|
||||||
|
|
||||||
|
nginx_conf = '/etc/nginx/conf.d/{bench_name}.conf'.format(bench_name=bench_name)
|
||||||
|
|
||||||
|
if os.path.exists(nginx_conf):
|
||||||
|
production_setup = production_setup or True
|
||||||
|
|
||||||
|
return production_setup
|
||||||
|
|
||||||
|
|
||||||
def execute(bench_path):
|
def execute(bench_path):
|
||||||
cmd = ["sudo", "-n", "bench"]
|
if is_sudoers_set() or is_production_set(bench_path):
|
||||||
|
|
||||||
is_bench_sudoers_set = (not subprocess.call(cmd)) or (change_uid_msg in get_cmd_output(cmd))
|
|
||||||
is_supervisor_installed = which('supervisorctl')
|
|
||||||
|
|
||||||
if not is_supervisor_installed:
|
|
||||||
exec_cmd("{} -m pip install supervisor".format(sys.executable))
|
|
||||||
|
|
||||||
if is_bench_sudoers_set:
|
|
||||||
exec_cmd("sudo bench setup supervisor --yes")
|
exec_cmd("sudo bench setup supervisor --yes")
|
||||||
exec_cmd("sudo bench setup sudoers")
|
exec_cmd("sudo bench setup sudoers")
|
||||||
|
Loading…
Reference in New Issue
Block a user