2014-04-07 3 views
0

여러 응용 프로그램을 실행하려면 SU가 필요합니다. 사용자가이 권한을 필요로 할 때 유닉스 규칙은 무엇인가? 집 밖에있는 물건을 수정할 필요가있을 때마다 언제입니까? 이 질문은 좀 더 구체적인 질문에서 비롯된 것입니다. insmod를 사용하여 커널 모듈을 삽입하려면 루트가되어야하는 이유는 무엇입니까?수퍼 유저 모드 - 정확하게 필요할 때?

답변

1

커널 모듈을 삽입하면 운영 체제 커널이 수정되므로 Insmod에는 수퍼 유저 권한이 필요합니다. 이 모듈은 시스템 내의 메모리를 읽고 쓸 수 있고, 디스크의 파일을 읽거나 수정하고, 사용 권한을 변경하고, 자원의 소유권 등을 가질 수 있습니다.

그리고 일반적으로 이들은 다음에 의해 보호되는 것들의 종류입니다. 수퍼 유저 권한 : 메모리, 파일 및 기타 리소스에 대한 액세스 제어를 무시하고 시스템을 작동하는 데 필요한 다양한 관리 작업을 수행 할 수있는 기능 (악의적 인 사용자에게 허용되는 경우 시스템을 안전하지 않거나 사용할 수 없게 만들 수 있음)

리눅스에서는 실제로 단일 수퍼 유저가 아니지만 개별 사용자에게 각각 부여 할 수있는 일련의 세부적인 기능을 시스템에 구성 할 수 있습니다 (실제로 이것은 어떻게 모델링 된 것입니까? 커널 소스 코드에서 : 현재 UID가 0인지 여부를 확인하지 않으면 현재 사용자가 "소유권 변경"권한 [CAP_CHOWN]을 갖고 있는지 확인합니다. 배포 된 리눅스 시스템의 대다수에서, 시스템은 하나 또는 둘 다 수퍼 유저 권한 (즉, 호출 사용자가 유효 사용자 ID가 0인지 여부)로 구성됩니다.

단일 수퍼 유저 권한 (EUID == 0)은 Unix에서 초기에 사용 된 전통적인 모델 이었지만보다 세부적인 권한을 제공하는 많은 구현이있었습니다.

홈 디렉토리 외부의 파일 수정은 하나의 용도이지만, 다른 사람이 홈 디렉토리 이외의 장소에서 파일을 소유 할 수 있으며 다른 사용자가 홈 디렉토리 내의 파일을 소유 할 수도 있습니다.

관련 문제