как подменить вывод команды для определенного пользователя

Есть ОС centos 8, есть /bin/uptime, есть ли способ подменить вывод команды при выполнении ее только определенным пользователем, например "tester", а для остальных оставить стандартный?


Ответы (1 шт):

Автор решения: Senior Pomidor

предположим нужно для user1 менять результат команды /bin/uptime

редактируем /home/user1/.bashrc - при открытии консоли bash читает и выполняет команды ~/.bashrc

добавляем фyнкцию

function /usr/bin/uptime() {
  echo "tester "
}

открываем заного bash (это важно, чтобы подгрузился .bashrc)

исполняем

➜  ~ uptime
11:48  up 5 days, 20:22, 6 users, load averages: 1.81 2.35 2.71
➜  ~ /usr/bin/uptime
tester
➜  ~

p.s. ну и можно поиграться с аргументами для функций для корректировки поведения той, котоая вам нужна.

Этот метод заработает только если вы работаете под bash-ом, так как только тогда подгружается .bashrc. Если запустить из другой среды, скажем из под python, то ничего не получится. Спасибо @KoVadim

→ Ссылка