![루트가 아닌 프로세스에서는 어떤 작업을 수행할 수 없습니까?](https://linux55.com/image/198868/%EB%A3%A8%ED%8A%B8%EA%B0%80%20%EC%95%84%EB%8B%8C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%97%90%EC%84%9C%EB%8A%94%20%EC%96%B4%EB%96%A4%20%EC%9E%91%EC%97%85%EC%9D%84%20%EC%88%98%ED%96%89%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
분명히 권한이 없는 파일을 읽거나 쓸 수 없습니다. 그러나 나는 1024보다 작은 번호의 포트에 바인딩되는 다른 "작업"에 대해 이야기하고 있습니다. 또 뭐야?
답변1
권한이 없는 프로세스는 Linux에서 많은 일을 할 수 없습니다.man 7 capabilities
포괄적인 목록이 포함되어 있습니다.
두 가지 이외의 예는 다음과 같습니다.
- 통제 감사;
- BPF를 설정합니다.
- 파일 소유권을 원하는 값으로 변경하세요.
- 원시 소켓을 엽니다.
- 모든 사용자 및 그룹으로 변경합니다.
- 네임스페이스를 설정하세요.
- 커널 모듈을 로드하거나 언로드합니다.
- 재시작.
Linux에서는 이 모든 것이 제어될 뿐만 아니라 root
기능에 의해 제어되므로 이러한 권한의 하위 집합을 비프로세스에 부여할 수 있습니다 root
. 권한이 없는 사용자를 대신하여 권한이 있는 작업을 수행하도록 권한이 있는 프로세스를 요청하는 다른 메커니즘이 있습니다(예를 들어재시작).