슈퍼유저의 구체적인 권한은 무엇입니까? [폐쇄]

슈퍼유저의 구체적인 권한은 무엇입니까? [폐쇄]

슈퍼유저의 구체적인 권한은 무엇입니까? 표준 사용자 ls 명령을 비활성화할 수 있는 권한이 있습니까?

예를 들어 다음 명령을 실행하면 다음과 같습니다.

ls

내가받는 출력은 다음과 같습니다.

This is a fake ls!

누가 이런 일을 할 수 있는 권한을 갖고 있나요? 슈퍼유저인가요, 아니면 공격자인가요?

답변1

이와 같은 기본 명령은 ls실제로 다른 명령과 같은 프로그램입니다. GNU coreutils에 ls위치하며 /bin/ls그 일부입니다(그러나 이것은 단지 작은 정보일 뿐입니다).

수퍼유저 권한(종종 루트 권한이라고도 함)을 사용하면 다음을 수행할 수 있습니다.모든 것당신의 시스템으로. 실제로 모든 경우에 악의적인 행동을 방지하도록 설계된 SELinux와 같은 메커니즘이 있는 것은 아니지만 이는 또 다른 이야기입니다. 서버 및 보안 수준이 높은 인프라와 마찬가지로 SELinux 정책을 시행하는 시스템을 실행하고 있지 않을 가능성이 높습니다. 다시 주제로 돌아가서, 루트 액세스 권한이 있는 사람은 /bin/lsbash 스크립트나 기타 프로그램과 같은 위치에 있는 프로그램을 모든 것으로 대체할 수 있습니다. 그러므로,

이건 가짜 야!

누군가가 시스템에 대한 루트 액세스 권한을 갖고 있는 경우 출력이 나타날 수 있습니다.

답변2

당신이 보고 있는 것은 bash 환경의 명령에 설정된 /bin/ls출력 또는 별칭의 프로그램 대체로 인해 발생합니다 .This is a fake ls!ls

변경하려면 /bin/ls루트 권한이 필요합니다. 수퍼유저는 루트 권한으로 작동합니다. 공격자가 루트 권한을 얻었을 수도 있습니다. 별칭을 추가하려면 사용자의 권한만 필요합니다.

ls절대 경로에서 명령을 실행하여 /bin/ls테스트합니다 . This is a fake ls!이 메시지가 나타나면 프로그램 ls이 변경된 것이고, 그렇지 않은 경우 별칭이 설정된 것입니다. 명령을 사용하여 별칭을 보고 alias거기서 편집합니다 ~/.bashrc(bash 쉘을 사용한다고 가정).

관련 정보