이것은 얼마나 사악한가: echo bash >> .bashrc

이것은 얼마나 사악한가: echo bash >> .bashrc

다음 명령 중 하나를 실행하여 누군가에게 장난을 칠 생각입니다.

echo bash >> .bashrc

또는

echo source .bashrc >> .bashrc

누군가가 당신에게 이런 일을 한다면, 그것을 고치기 위해 무엇을 할 수 있습니까? (명령줄 액세스만 가능하다고 가정할 때) 다른 사용자에게 편집을 요청하는 것 외에 할 수 있는 일이 있나요 sudo?

답변1

권한이 안전하지 않게 설정되지 않는 한 다른 사용자의 셸 시작 파일을 편집할 수 없습니다. 자신도 모르게 또는 동의 없이(홈 디렉터리의 모든 파일에 적용 가능) 이 작업을 수행하는 것은 비윤리적인 것으로 간주되며 시스템에 적용되는 행동 규칙에 따라 위반으로 간주될 수도 있습니다.

시스템 권한이 있고 sudo이 "장난"을 고려한다면sudo이 시스템에 대한 권한이 없어야 합니다..

첫 번째 명령은 bash의 끝에 명령으로 추가됩니다 .bashrc. 이것이 .bashrc사용자의 홈 디렉토리에 있고 사용자가 user 인 bash경우 종료되거나 리소스 제한에 직면할 때까지 대화형 쉘을 시작하는 무한 재귀 루프가 발생합니다(해당 쉘 세션이 시작되면).

두 번째 명령은 유사한 루프를 발생시키지만 코드는 bash단일 프로세스 환경에서만 실행됩니다. 이는 종료될 때까지 또는 일부 환경 변수(예 PATH: 각 반복에서 스크립트가 추가되는 경우)가 너무 커져서 리소스 제한에 도달할 때까지 계속됩니다.

다중 사용자 시스템에서는 공유 리소스(주로 CPU 및 메모리)가 소비되므로 이러한 "장난"이 모두 다른 사용자에게 영향을 미칠 수 있습니다.

위의 작업이 수행되는 동안 파일을 편집, 수정 및 저장하면 루프가 중지되지만 영향을 받는 사용자의 프로세스가 종료될 때까지 리소스가 해제되지 않습니다 .bashrc.bash

긴급 수정으로 pkill -U username bash루트나 pkill bash영향을 받은 사용자를 사용하여 이를 중지할 수 있습니다. 그러면 bash영향을 받은 사용자의 모든 프로세스가 종료됩니다 .

관련 정보