123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #!/bin/bash
- ################################################################################
- # HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- ################################################################################
- ###<REPLACE>###
- HPCC_CONFIG=${HPCC_CONFIG:-${CONFIG_DIR}/${ENV_CONF_FILE}}
- SECTION=${1:-DEFAULT}
- USER_NAME=`sed -n "/\[${SECTION}\]/,/\[/p" ${HPCC_CONFIG} | grep "^user *= *" | sed -e 's/^user *= *//'`
- PREFIX_PATH=`sed -n "/\[${SECTION}\]/,/\[/p" ${HPCC_CONFIG} | grep "^path *= *" | sed -e 's/^path *= *//'`
- source $PREFIX_PATH/sbin/alter_confs.sh
- if grep "\\#includedir /etc/sudoers.d" /etc/sudoers > /dev/null 2>&1; then
- [[ ! -d /etc/sudoers.d ]] && mkdir -m 0750 /etc/sudoers.d
- cat > /etc/sudoers.d/${USER_NAME} <<- EOF
- Cmnd_Alias HPCC_DAFILESRV = /etc/init.d/dafilesrv
- Cmnd_Alias HPCC_HPCCINIT = /etc/init.d/hpcc-init
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START = /bin/systemctl start hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP = /bin/systemctl stop hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS = /bin/systemctl list-dependencies hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_THOR_START = /bin/systemctl start thor*
- Cmnd_Alias HPCC_SYSD_THOR_STOP = /bin/systemctl stop thor*
- Cmnd_Alias HPCC_SYSD_THORSLAVE_START = /bin/systemctl start thorslave*
- Cmnd_Alias HPCC_SYSD_THORSLAVE_STOP = /bin/systemctl stop thorslave*
- Cmnd_Alias HPCC_SYSD_ESP_START = /bin/systemctl start esp*
- Cmnd_Alias HPCC_SYSD_ESP_STOP = /bin/systemctl stop esp*
- Cmnd_Alias HPCC_SYSD_DAFILESRV_START = /bin/systemctl start dafilesrv*
- Cmnd_Alias HPCC_SYSD_DAFILESRV_STOP = /bin/systemctl stop dafilesrv*
- Cmnd_Alias HPCC_SYSD_DALI_START = /bin/systemctl start dali*
- Cmnd_Alias HPCC_SYSD_DALI_STOP = /bin/systemctl stop dali*
- Cmnd_Alias HPCC_SYSD_ROXIE_START = /bin/systemctl start roxie*
- Cmnd_Alias HPCC_SYSD_ROXIE_STOP = /bin/systemctl stop roxie*
- Cmnd_Alias HPCC_SYSD_DFUSERVER_START = /bin/systemctl start dfuserver*
- Cmnd_Alias HPCC_SYSD_DFUSERVER_STOP = /bin/systemctl stop dfuserver*
- Cmnd_Alias HPCC_SYSD_ECLAGENT_START = /bin/systemctl start eclagent*
- Cmnd_Alias HPCC_SYSD_ECLAGENT_STOP = /bin/systemctl stop eclagent*
- Cmnd_Alias HPCC_SYSD_ECLCCSERVER_START = /bin/systemctl start eclccserver*
- Cmnd_Alias HPCC_SYSD_ECLCCSERVER_STOP = /bin/systemctl stop eclccserver*
- Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_START = /bin/systemctl start eclscheduler*
- Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_STOP = /bin/systemctl stop eclscheduler*
- Cmnd_Alias HPCC_SYSD_SASHA_START = /bin/systemctl start sasha*
- Cmnd_Alias HPCC_SYSD_SASHA_STOP = /bin/systemctl stop sasha*
- Cmnd_Alias HPCC_SYSD_BACKUPNODE_START = /bin/systemctl start backupnode*
- Cmnd_Alias HPCC_SYSD_BACKUPNODE_STOP = /bin/systemctl stop backupnode*
- ${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
- Defaults:${USER_NAME} !requiretty
- EOF
- chmod 0440 /etc/sudoers.d/${USER_NAME}
- else
- alter_file /etc/sudoers "^Cmnd_Alias HPCC_|^${USER_NAME} ALL =|^Defaults\:${USER_NAME} !requiretty" <<-%EOF
- Cmnd_Alias HPCC_DAFILESRV = /etc/init.d/dafilesrv
- Cmnd_Alias HPCC_HPCCINIT = /etc/init.d/hpcc-init
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_START = /bin/systemctl start hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STOP = /bin/systemctl stop hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_HPCCSYSTEMS_PLATFORM_STATUS = /bin/systemctl list-dependencies hpccsystems-platform.target
- Cmnd_Alias HPCC_SYSD_THOR_START = /bin/systemctl start thor*
- Cmnd_Alias HPCC_SYSD_THOR_STOP = /bin/systemctl stop thor*
- Cmnd_Alias HPCC_SYSD_THORSLAVE_START = /bin/systemctl start thorslave*
- Cmnd_Alias HPCC_SYSD_THORSLAVE_STOP = /bin/systemctl stop thorslave*
- Cmnd_Alias HPCC_SYSD_ESP_START = /bin/systemctl start esp*
- Cmnd_Alias HPCC_SYSD_ESP_STOP = /bin/systemctl stop esp*
- Cmnd_Alias HPCC_SYSD_DAFILESRV_START = /bin/systemctl start dafilesrv*
- Cmnd_Alias HPCC_SYSD_DAFILESRV_STOP = /bin/systemctl stop dafilesrv*
- Cmnd_Alias HPCC_SYSD_DALI_START = /bin/systemctl start dali*
- Cmnd_Alias HPCC_SYSD_DALI_STOP = /bin/systemctl stop dali*
- Cmnd_Alias HPCC_SYSD_ROXIE_START = /bin/systemctl start roxie*
- Cmnd_Alias HPCC_SYSD_ROXIE_STOP = /bin/systemctl stop roxie*
- Cmnd_Alias HPCC_SYSD_DFUSERVER_START = /bin/systemctl start dfuserver*
- Cmnd_Alias HPCC_SYSD_DFUSERVER_STOP = /bin/systemctl stop dfuserver*
- Cmnd_Alias HPCC_SYSD_ECLAGENT_START = /bin/systemctl start eclagent*
- Cmnd_Alias HPCC_SYSD_ECLAGENT_STOP = /bin/systemctl stop eclagent*
- Cmnd_Alias HPCC_SYSD_ECLCCSERVER_START = /bin/systemctl start eclccserver*
- Cmnd_Alias HPCC_SYSD_ECLCCSERVER_STOP = /bin/systemctl stop eclccserver*
- Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_START = /bin/systemctl start eclscheduler*
- Cmnd_Alias HPCC_SYSD_ECLSCHEDULER_STOP = /bin/systemctl stop eclscheduler*
- Cmnd_Alias HPCC_SYSD_SASHA_START = /bin/systemctl start sasha*
- Cmnd_Alias HPCC_SYSD_SASHA_STOP = /bin/systemctl stop sasha*
- Cmnd_Alias HPCC_SYSD_BACKUPNODE_START = /bin/systemctl start backupnode*
- Cmnd_Alias HPCC_SYSD_BACKUPNODE_STOP = /bin/systemctl stop backupnode*
- ${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
- Defaults:${USER_NAME} !requiretty
- %EOF
- fi
- alter_file /etc/security/limits.conf "^${USER_NAME}" << %EOF
- ${USER_NAME} soft nofile 8192
- ${USER_NAME} hard nofile 32768
- ${USER_NAME} soft core unlimited
- ${USER_NAME} hard core unlimited
- ${USER_NAME} soft nproc 4096
- ${USER_NAME} hard nproc 8192
- ${USER_NAME} soft rtprio 0
- ${USER_NAME} hard rtprio 4
- ${USER_NAME} soft memlock unlimited
- ${USER_NAME} hard memlock unlimited
- %EOF
|