사용자의 .bashrc를 /root/.bashrc에 복사하는 것이 안전합니까?

사용자의 .bashrc를 /root/.bashrc에 복사하는 것이 안전합니까?

저는 데비안을 사용하고 있습니다. 기본값은 /root/.bashrc약간 비어 있습니다. 그래서 루트로 로그인을 하면 sudo -i제대로 설정되지 않은 것들이 많습니다. 보통 나는 다음을 수행합니다.

$ sudo -i
# mv .bashrc .bashrc.bak
# ln -s /home/user/.bashrc . # or cp /home/user/.bashrc .

참고: 이는 사용자 정의 수정 없이 /home/user/.bashrc데비안에서 생성된 기본값입니다 .useradd

이제 저는 이렇게 하는 것이 안전한지 명확히 하고 싶습니다. 루트용으로 또 다른 .bashrc 파일을 만들기에는 너무 게으릅니다.

답변1

이렇게 하면 루트 계정을 자신의 "사용자" 계정만큼 안전하게 만들 수 있습니다. 이는 귀하의 계정에 대한 브라우저 기반 트로이 목마 또는 기타 성공적인 공격도 암시적으로 루트 액세스 권한을 얻을 수 있음을 의미합니다.

이것이 당신에게 받아들여질 수 있습니까?

그렇지 않은 경우 파일을 심볼릭 링크하지 마세요. 내용이 예상한 내용인지 확인한 후 복사하세요.

답변2

나는 이것이 데비안뿐만 아니라 적어도 두 가지 이유로 일반적으로 나쁜 생각이라고 생각합니다.

우선 사용자의 .bashrc를 복사하는 것 외에도 ~/.bash_aliases 등이라고 불리는 다른 모든 파일도 복사해야 한다는 점에 매우 주의해야 합니다. 그렇지 않으면 몇 가지 오류와 정의되지 않은 동작 위험이 발생할 수 있습니다. 예를 들어, 어떤 이유로든 .bashrc에 다음 콘텐츠가 있거나 해당 콘텐츠의 출처인 스크립트 중 하나가 있는 경우 어떻게 될까요?

. FILE2

echo "$var1"
echo rm -fr "$var1"/*

루트가 ~/.bashrc를 실행하고 FILE2가 없으면 전체 파일 시스템을 삭제하기 시작합니다.

둘째, 매우 위험하므로 루트로 너무 오랫동안 작업하지 마십시오. 그리고 현재 대화형 서브셸에서 자신이 루트인지 일반 사용자인지 즉시 알 수 있어야 합니다. 가장 일반적인 방법은 마지막을 변경하는 것입니다.#루트로 실행할 때 프롬프트 문자 표시 따라서 최소한 PS1루트와 루트가 아닌 .bashrc의 설정은 달라야 합니다.

답변3

따라서 루트 사용자와 일반 사용자를 위한 .bashrc는 하나만 있습니다.
(루트 계정의 경우) 이것이 안전한가요?
~/.bashrc를 살펴보고 루트에 해를 끼칠 수 있는 코드가 있는지 확인하세요. 그렇다면 이 코드를 예제로 감싸면 일반 사용자에게 적용됩니다 if [ "$(id -u)" -ne 0 ]; then ....
그런 다음 동일한 작업을 반대로 수행합니다. 원본 /root/.bashrc에 루트에 대해 설정해야 하지만 일반 사용자에 대해 설정해야 하는 항목이 있는 경우 이 코드를 복사하고 따옴표로 묶습니다 [ "$(id -u)" -eq 0 ].

이렇게 하면 모든 항목에 맞는 .bashrc를 가질 수 있습니다.

관련 정보