sudo -s -H и псевдонимы

sudo -s -H и псевдонимы

Я часто использую sudo -s -H, но хочу иметь псевдонимы после его выполнения. Как это сделать?

Объяснение: Я вхожу на сервер как user1 (который есть в sudoers). У этого пользователя есть псевдонимы в .bash_aliases:

alias rm='rm -i'

теперь я исполняюsudo -s -H

А теперь rmне имеет псевдонима — поэтому удаляет файлы без запроса.

Как это изменить?

(я вижу сообщения с alias sudo='sudo '- но это работает только при выполнении команды sudo command- не сsudo -s -H

решение1

Вам необходимо найти те же псевдонимы в /root/.bashrc.

Это можно сделать двумя способами:

  1. Скопируйте и /home/user1/.bash_aliasesдобавьте /root/.bash_aliasesследующее /root/.bashrc:

    if [[ -f /root/.bash_aliases ]]
    then
      . /root/.bash_aliases
    fi
    
  2. Источник /home/user1/.bash_aliasesфайла /root/.bashrc:

     if [[ -f /home/user1/.bash_aliases ]]
     then
       . /home/user1/.bash_aliases
     fi
    

Решение, которое вы выберете, зависит от личных предпочтений. Я использую вариант 2, потому что хочу, чтобы у root были те же псевдонимы и т. д., что и у моего обычного пользователя, и таким образом мне нужно будет поддерживать его только в одном месте (вы также можете сделать символическую ссылку на /home/user1/.bash_aliasesin /root, но эффект будет тем же).

Если вы выберете вариант 1, вам придется поддерживать свои псевдонимы для обоих user1и rootотдельно. Это может подходить или не подходить для вашего варианта использования.

Связанный контент