두 개의 유틸리티가 있고 둘 다 사용자에 대한 권한 있는 액세스를 위조할 수 있는 이유는 무엇 chroot
입니까 fakeroot
?
답변1
chroot는 실제로 fakeroot와는 매우 다른 작업을 수행합니다. 이는 "루트 변경"을 의미하며 "/" 디렉터리를 시스템이 아닌 다른 디렉터리에 매핑하는 프로세스를 실행할 수 있음을 의미합니다. 대부분의 경우 이는 다른 드라이브나 파티션에 설치된 운영 체제입니다. 이 chroot 환경에서 루트 권한은 실제로 실제이며 실제로 chroot는 권한이 있는 프로세스에서만 액세스할 수 있습니다. Fakeroot는 실제로 프로세스가 생성하는 모든 파일이 원래 사용자에게만 속하는데도 루트 액세스라는 환상을 프로세스에 제공합니다.
답변2
fakeroot만이 "가짜"가 될 수 있습니다.특권을 받은액세스 사용자".
옮기다chroot특정 사용자가 현재 시스템에서 사용하는 루트(/) 트리와 다른 특정 루트(/) 트리에 대해 명령을 실행하도록 할 수 있습니다.
원하는 루트 디렉터리가 /mnt에 있다고 가정하고 chroot 환경에서 /foo/bar를 실행하면 실제로 /mnt/foo/bar가 시작되고 bar가 /mnt가 실제 루트 디렉터리인 것처럼 동작하게 됩니다.
그러나 물론 사용자가 /mnt /mnt/foo 및 /mnt/foo/bar에 대한 적절한 액세스 권한을 갖고 있지 않으면... 작동하지 않습니다.
사용자는 자동으로 루트(사용자)가 되지 않으며 가짜 루트 사용자도 아닙니다. 루트 디렉토리만 변경하십시오.
참고 chroot 유틸리티는 대부분의 기본 Linux 배포판의 일부인 coreutils 패키지와 함께 제공됩니다. 일반적으로 다른 시스템에서 새 시스템을 설치할 때 필요합니다.
가근성사용자가 루트로 파일 작업을 수행할 수 있는 환경이 생성됩니다.
"false"라는 말은 해당 환경에서만 작동한다는 점을 이해해야 합니다. 로그아웃한 후에는 다른 사용자, 시스템 자체, 자신에 대해서는 아무 것도 변경되지 않습니다. 매뉴얼 페이지에서 영감을 받은 몇 가지 예를 살펴보겠습니다.
$ whoami
me
$ fakeroot /bin/bash
# whoami
root
# ls -ld / (note that this is the original (real) root directory)
drwxr-xr-x 20 root root 1024 Jun 17 21:50 /
# chown me:users /
# chmod a+w /
# ls -ld /
drwxrwxrwx 20 me users 1024 Jun 17 21:50 /
# exit
$ ls -ld /
drwxr-xr-x 20 root root 1024 Jun 17 21:50 /
그런데 반대로chroot,가근성패키지의 일부로 특별히 설치해야 합니다. 일반적으로 사용자 ID 0을 사용하여 다른 시스템에 배포할 파일을 보관할 때 필요합니다.