add_conf_settings.sh.in 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/bash
  2. ################################################################################
  3. # HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. ################################################################################
  17. ###<REPLACE>###
  18. HPCC_CONFIG=${HPCC_CONFIG:-${CONFIG_DIR}/${ENV_CONF_FILE}}
  19. SECTION=${1:-DEFAULT}
  20. USER_NAME=`sed -n "/\[${SECTION}\]/,/\[/p" ${HPCC_CONFIG} | grep "^user *= *" | sed -e 's/^user *= *//'`
  21. PREFIX_PATH=`sed -n "/\[${SECTION}\]/,/\[/p" ${HPCC_CONFIG} | grep "^path *= *" | sed -e 's/^path *= *//'`
  22. source $PREFIX_PATH/sbin/alter_confs.sh
  23. if grep "\\#includedir /etc/sudoers.d" /etc/sudoers > /dev/null 2>&1; then
  24. [[ ! -d /etc/sudoers.d ]] && mkdir -m 0750 /etc/sudoers.d
  25. cat > /etc/sudoers.d/${USER_NAME} <<- EOF
  26. Cmnd_Alias HPCC_DAFILESRV = /etc/init.d/dafilesrv
  27. Cmnd_Alias HPCC_HPCCINIT = /etc/init.d/hpcc-init
  28. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START = /bin/systemctl start hpccsystems-platform.target
  29. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP = /bin/systemctl stop hpccsystems-platform.target
  30. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS = /bin/systemctl list-dependencies hpccsystems-platform.target
  31. Cmnd_Alias HPCC_SYSD_THOR_START = /bin/systemctl start thor*
  32. Cmnd_Alias HPCC_SYSD_THOR_STOP = /bin/systemctl stop thor*
  33. Cmnd_Alias HPCC_SYSD_THORSLAVE_START = /bin/systemctl start thorslave*
  34. Cmnd_Alias HPCC_SYSD_THORSLAVE_STOP = /bin/systemctl stop thorslave*
  35. Cmnd_Alias HPCC_SYSD_ESP_START = /bin/systemctl start esp*
  36. Cmnd_Alias HPCC_SYSD_ESP_STOP = /bin/systemctl stop esp*
  37. Cmnd_Alias HPCC_SYSD_DAFILESRV_START = /bin/systemctl start dafilesrv*
  38. Cmnd_Alias HPCC_SYSD_DAFILESRV_STOP = /bin/systemctl stop dafilesrv*
  39. Cmnd_Alias HPCC_SYSD_DALI_START = /bin/systemctl start dali*
  40. Cmnd_Alias HPCC_SYSD_DALI_STOP = /bin/systemctl stop dali*
  41. Cmnd_Alias HPCC_SYSD_ROXIE_START = /bin/systemctl start roxie*
  42. Cmnd_Alias HPCC_SYSD_ROXIE_STOP = /bin/systemctl stop roxie*
  43. Cmnd_Alias HPCC_SYSD_DFUSERVER_START = /bin/systemctl start dfuserver*
  44. Cmnd_Alias HPCC_SYSD_DFUSERVER_STOP = /bin/systemctl stop dfuserver*
  45. Cmnd_Alias HPCC_SYSD_ECLAGENT_START = /bin/systemctl start eclagent*
  46. Cmnd_Alias HPCC_SYSD_ECLAGENT_STOP = /bin/systemctl stop eclagent*
  47. Cmnd_Alias HPCC_SYSD_ECLCCSERVER_START = /bin/systemctl start eclccserver*
  48. Cmnd_Alias HPCC_SYSD_ECLCCSERVER_STOP = /bin/systemctl stop eclccserver*
  49. Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_START = /bin/systemctl start eclscheduler*
  50. Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_STOP = /bin/systemctl stop eclscheduler*
  51. Cmnd_Alias HPCC_SYSD_SASHA_START = /bin/systemctl start sasha*
  52. Cmnd_Alias HPCC_SYSD_SASHA_STOP = /bin/systemctl stop sasha*
  53. Cmnd_Alias HPCC_SYSD_BACKUPNODE_START = /bin/systemctl start backupnode*
  54. Cmnd_Alias HPCC_SYSD_BACKUPNODE_STOP = /bin/systemctl stop backupnode*
  55. ${USER_NAME} ALL = NOPASSWD: HPCC_DAFILESRV, HPCC_HPCCINIT, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS, HPCC_SYSD_THORSLAVE_START, HPCC_SYSD_THORSLAVE_STOP, HPCC_SYSD_THOR_START, HPCC_SYSD_THOR_STOP, HPCC_SYSD_ESP_START, HPCC_SYSD_ESP_STOP, HPCC_SYSD_DAFILESRV_START, HPCC_SYSD_DAFILESRV_STOP, HPCC_SYSD_DALI_START, HPCC_SYSD_DALI_STOP, HPCC_SYSD_ROXIE_START, HPCC_SYSD_ROXIE_STOP, HPCC_SYSD_DFUSERVER_START, HPCC_SYSD_DFUSERVER_STOP, HPCC_SYSD_ECLAGENT_START, HPCC_SYSD_ECLAGENT_STOP, HPCC_SYSD_ECLCCSERVER_START, HPCC_SYSD_ECLCCSERVER_STOP, HPCC_SYSD_ECLSCHEDULER_START, HPCC_SYSD_ECLSCHEDULER_STOP, HPCC_SYSD_SASHA_START, HPCC_SYSD_SASHA_STOP, HPCC_SYSD_BACKUPNODE_START, HPCC_SYSD_BACKUPNODE_STOP
  56. Defaults:${USER_NAME} !requiretty
  57. EOF
  58. chmod 0440 /etc/sudoers.d/${USER_NAME}
  59. else
  60. alter_file /etc/sudoers "^Cmnd_Alias HPCC_|^${USER_NAME} ALL =|^Defaults\:${USER_NAME} !requiretty" <<-%EOF
  61. Cmnd_Alias HPCC_DAFILESRV = /etc/init.d/dafilesrv
  62. Cmnd_Alias HPCC_HPCCINIT = /etc/init.d/hpcc-init
  63. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START = /bin/systemctl start hpccsystems-platform.target
  64. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP = /bin/systemctl stop hpccsystems-platform.target
  65. Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS = /bin/systemctl list-dependencies hpccsystems-platform.target
  66. Cmnd_Alias HPCC_SYSD_THOR_START = /bin/systemctl start thor*
  67. Cmnd_Alias HPCC_SYSD_THOR_STOP = /bin/systemctl stop thor*
  68. Cmnd_Alias HPCC_SYSD_THORSLAVE_START = /bin/systemctl start thorslave*
  69. Cmnd_Alias HPCC_SYSD_THORSLAVE_STOP = /bin/systemctl stop thorslave*
  70. Cmnd_Alias HPCC_SYSD_ESP_START = /bin/systemctl start esp*
  71. Cmnd_Alias HPCC_SYSD_ESP_STOP = /bin/systemctl stop esp*
  72. Cmnd_Alias HPCC_SYSD_DAFILESRV_START = /bin/systemctl start dafilesrv*
  73. Cmnd_Alias HPCC_SYSD_DAFILESRV_STOP = /bin/systemctl stop dafilesrv*
  74. Cmnd_Alias HPCC_SYSD_DALI_START = /bin/systemctl start dali*
  75. Cmnd_Alias HPCC_SYSD_DALI_STOP = /bin/systemctl stop dali*
  76. Cmnd_Alias HPCC_SYSD_ROXIE_START = /bin/systemctl start roxie*
  77. Cmnd_Alias HPCC_SYSD_ROXIE_STOP = /bin/systemctl stop roxie*
  78. Cmnd_Alias HPCC_SYSD_DFUSERVER_START = /bin/systemctl start dfuserver*
  79. Cmnd_Alias HPCC_SYSD_DFUSERVER_STOP = /bin/systemctl stop dfuserver*
  80. Cmnd_Alias HPCC_SYSD_ECLAGENT_START = /bin/systemctl start eclagent*
  81. Cmnd_Alias HPCC_SYSD_ECLAGENT_STOP = /bin/systemctl stop eclagent*
  82. Cmnd_Alias HPCC_SYSD_ECLCCSERVER_START = /bin/systemctl start eclccserver*
  83. Cmnd_Alias HPCC_SYSD_ECLCCSERVER_STOP = /bin/systemctl stop eclccserver*
  84. Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_START = /bin/systemctl start eclscheduler*
  85. Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_STOP = /bin/systemctl stop eclscheduler*
  86. Cmnd_Alias HPCC_SYSD_SASHA_START = /bin/systemctl start sasha*
  87. Cmnd_Alias HPCC_SYSD_SASHA_STOP = /bin/systemctl stop sasha*
  88. Cmnd_Alias HPCC_SYSD_BACKUPNODE_START = /bin/systemctl start backupnode*
  89. Cmnd_Alias HPCC_SYSD_BACKUPNODE_STOP = /bin/systemctl stop backupnode*
  90. ${USER_NAME} ALL = NOPASSWD: HPCC_DAFILESRV, HPCC_HPCCINIT, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP, HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS, HPCC_SYSD_THORSLAVE_START, HPCC_SYSD_THORSLAVE_STOP, HPCC_SYSD_THOR_START, HPCC_SYSD_THOR_STOP, HPCC_SYSD_ESP_START, HPCC_SYSD_ESP_STOP, HPCC_SYSD_DAFILESRV_START, HPCC_SYSD_DAFILESRV_STOP, HPCC_SYSD_DALI_START, HPCC_SYSD_DALI_STOP, HPCC_SYSD_ROXIE_START, HPCC_SYSD_ROXIE_STOP, HPCC_SYSD_DFUSERVER_START, HPCC_SYSD_DFUSERVER_STOP, HPCC_SYSD_ECLAGENT_START, HPCC_SYSD_ECLAGENT_STOP, HPCC_SYSD_ECLCCSERVER_START, HPCC_SYSD_ECLCCSERVER_STOP, HPCC_SYSD_ECLSCHEDULER_START, HPCC_SYSD_ECLSCHEDULER_STOP, HPCC_SYSD_SASHA_START, HPCC_SYSD_SASHA_STOP, HPCC_SYSD_BACKUPNODE_START, HPCC_SYSD_BACKUPNODE_STOP
  91. Defaults:${USER_NAME} !requiretty
  92. %EOF
  93. fi
  94. alter_file /etc/security/limits.conf "^${USER_NAME}" << %EOF
  95. ${USER_NAME} soft nofile 8192
  96. ${USER_NAME} hard nofile 32768
  97. ${USER_NAME} soft core unlimited
  98. ${USER_NAME} hard core unlimited
  99. ${USER_NAME} soft nproc 4096
  100. ${USER_NAME} hard nproc 8192
  101. ${USER_NAME} soft rtprio 0
  102. ${USER_NAME} hard rtprio 4
  103. ${USER_NAME} soft memlock unlimited
  104. ${USER_NAME} hard memlock unlimited
  105. %EOF