diff --git a/plugins/samba/index.py b/plugins/samba/index.py index 9780ba8c3..f73cfaa3f 100755 --- a/plugins/samba/index.py +++ b/plugins/samba/index.py @@ -11,10 +11,136 @@ sys.path.append(os.getcwd() + "/class/core") import public +def getPluginName(): + return 'samba' + + +def getPluginDir(): + return public.getPluginDir() + '/' + getPluginName() + + +def getServerDir(): + return public.getServerDir() + '/' + getPluginName() + + +def getInitDFile(): + if app_debug: + return '/tmp/' + getPluginName() + return '/etc/init.d/' + getPluginName() + + +def getArgs(): + args = sys.argv[2:] + tmp = {} + args_len = len(args) + + if args_len == 1: + t = args[0].strip('{').strip('}') + t = t.split(':') + tmp[t[0]] = t[1] + elif args_len > 1: + for i in range(len(args)): + t = args[i].split(':') + tmp[t[0]] = t[1] + + return tmp + + +def checkArgs(data, ck=[]): + for i in range(len(ck)): + if not ck[i] in data: + return (False, public.returnJson(False, '参数:(' + ck[i] + ')没有!')) + return (True, public.returnJson(True, 'ok')) + + def status(): + data = public.execShell( + "ps -ef|grep smbd |grep -v grep | grep -v python | awk '{print $2}'") + if data[0] == '': + return 'stop' return 'start' + +def start(): + if public.isAppleSystem(): + return "Apple Computer does not support" + data = public.execShell('systemctl start smb') + if data[1] == '': + return 'ok' + return 'fail' + + +def stop(): + if public.isAppleSystem(): + return "Apple Computer does not support" + data = public.execShell('systemctl stop smb') + if data[1] == '': + return 'ok' + return 'fail' + + +def restart(): + if public.isAppleSystem(): + return "Apple Computer does not support" + data = public.execShell('systemctl restart smb') + if data[1] == '': + return 'ok' + return 'fail' + + +def reload(): + if public.isAppleSystem(): + return "Apple Computer does not support" + + data = public.execShell('systemctl reload smb') + if data[1] == '': + return 'ok' + return 'fail' + + +def initdStatus(): + if public.isAppleSystem(): + return "Apple Computer does not support" + initd_bin = getInitDFile() + if os.path.exists(initd_bin): + return 'ok' + return 'fail' + + +def initdInstall(): + if public.isAppleSystem(): + return "Apple Computer does not support" + + source_bin = initDreplace() + initd_bin = getInitDFile() + shutil.copyfile(source_bin, initd_bin) + public.execShell('chmod +x ' + initd_bin) + return 'ok' + + +def initdUinstall(): + if public.isAppleSystem(): + return "Apple Computer does not support" + + initd_bin = getInitDFile() + os.remove(initd_bin) + return 'ok' + if __name__ == "__main__": func = sys.argv[1] if func == 'status': print status() + elif func == 'start': + print start() + elif func == 'stop': + print stop() + elif func == 'restart': + print restart() + elif func == 'reload': + print reload() + elif func == 'initd_status': + print initdStatus() + elif func == 'initd_install': + print initdInstall() + elif func == 'initd_uninstall': + print initdUinstall() diff --git a/plugins/samba/info.json b/plugins/samba/info.json index f973f39da..b805f8ea5 100755 --- a/plugins/samba/info.json +++ b/plugins/samba/info.json @@ -4,7 +4,7 @@ "tip":"lib", "name":"samba", "type":"软件", - "ps":"samba文件共享管理", + "ps":"samba文件共享管理软件", "versions":"1.0", "shell":"install.sh", "checks":"server/samba", diff --git a/plugins/samba/install.sh b/plugins/samba/install.sh index b1f5aa4d0..0cf37168b 100755 --- a/plugins/samba/install.sh +++ b/plugins/samba/install.sh @@ -14,13 +14,11 @@ Install_samba() { echo '正在安装脚本文件...' > $install_tmp - if [ $sysName == 'Darwin' ]; then echo 'The development machine is not open!!!' > $install_tmp - exit 0 - + else + yum -y install samba samba-client samba-swat fi - yum install samba -y mkdir -p $serverPath/samba echo '1.0' > $serverPath/samba/version.pl