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를 사용하고 있습니다. 이런 방식으로 한 곳에서만 유지하면 됩니다( /home/user1/.bash_aliasesin 에 대한 심볼릭 링크를 만들 수도 있지만 /root효과는 다음과 같습니다). 동일해야 함).

user1옵션 1을 선택하는 경우 두 가지 모두에 대한 별칭을 root별도로 유지해야 합니다 . 이는 귀하의 사용 사례에 적합할 수도 있고 그렇지 않을 수도 있습니다.

관련 정보