security-tool/security-tool-2.0/zzz_openEuler_history.sh
2020-05-07 10:15:44 +08:00

55 lines
1.9 KiB
Bash

#######################################################################################
#
# Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.
# security-tool licensed under the Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
# http://license.coscl.org.cn/MulanPSL
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
# PURPOSE.
# See the Mulan PSL v2 for more details.
# Description: Append the history list to the history file.
#
#######################################################################################
function openEuler_history()
{
local result=$?
local result_str=""
if [ ${result} -eq 0 ];then
result_str="return code=[0], execute success"
else
result_str="return code=[${result}], execute failed"
fi
history -a
local user=$(whoami)
local user_id=$(id -ur $user)
local login=$(who -m | awk '{print $2" "$NF}')
local msg=$(history 1 | { read x y; echo "$y"; })
local num=$(history 1 | { read x y; echo "$x"; })
if [ "${num}" != "${LastComandNum_for_history}" ] && [ "${LastComandNum_for_history}" != "" -o "${num}" == "1" ];then
logger -t "[${SHELL}]" "[${msg}]" "${result_str}" "by [${user}(uid=$user_id)] from [$login]"
fi
LastComandNum_for_history=${num}
}
function openEuler_variable_readonly()
{
local var="$1"
local val="$2"
local ret=$(readonly -p | grep -w "${var}" | awk -F "${var}=" '{print $NF}')
if [ "${ret}" = "\"${val}\"" ]
then
return
else
export "${var}"="${val}"
readonly "${var}"
fi
}
export HISTCONTROL=''
openEuler_variable_readonly HISTTIMEFORMAT ""
openEuler_variable_readonly PROMPT_COMMAND openEuler_history