Мы находимся на ранних этапах стандартизации нашей инфраструктуры. В качестве немедленного шага мы хотим запретить пользователям манипулировать историей. Установите некоторые ограничения на то же самое. Но недавно обнаружил, что есть пара лазейок.
Я нахожу способы запретить пользователям запускать эту команду. Я не могу придумать для этого выхода.
Любые предложения будут полезны. Пожалуйста, дайте мне знать, если что-то неясно. Спасибо.
Мы используем CentOS, а наша оболочка - bash
-Рам Кумар
Сначала нужно создать псевдоним для истории, а затем использовать оболочку, чтобы захватить параметр. это простой пример, но его можно расширить. Создать псевдоним для команды истории (это можно поместить в bashrc)
alias history='/usr/local/bin/myhistory
затем в /usr/local/bin/myhistory
(вы можете добавить больше случаев по мере необходимости и добавить предложение else, чтобы перейти к функции истории по умолчанию):
if [ $username == 'myuser' ]
then
while getopts ":d" opt; do
case ${opt} in
d )
echo "Invalid Option:"
exit 1
;;
esac
done
fi
Вы можете изучить rbash и lshell - это более элегантные способы ограничения оболочки. Надеюсь, это даст вам некоторое представление.