Назад | Перейти на главную страницу

Запретить пользователям запускать команды history -d [arg] и set + o history

Мы находимся на ранних этапах стандартизации нашей инфраструктуры. В качестве немедленного шага мы хотим запретить пользователям манипулировать историей. Установите некоторые ограничения на то же самое. Но недавно обнаружил, что есть пара лазейок.

Я нахожу способы запретить пользователям запускать эту команду. Я не могу придумать для этого выхода.

Любые предложения будут полезны. Пожалуйста, дайте мне знать, если что-то неясно. Спасибо.

Мы используем 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 - это более элегантные способы ограничения оболочки. Надеюсь, это даст вам некоторое представление.