Ubuntu와 같은 최신 Linux 배포판에서 자동 마운트는 어떻게 작동합니까?

Ubuntu와 같은 최신 Linux 배포판에서 자동 마운트는 어떻게 작동합니까?

최신 Linux 배포판에서 이동식 미디어의 자동 마운트가 작동하는 방식에 대한 정보를 찾기가 어렵습니다.

종종 대답은 편집과 같습니다 /etc/fstab. 그러나 그것들은 거의 쓸모가 없습니다.

이동식 미디어의 자동 마운트가 어떻게 작동하는지 알고 싶습니다. 이렇게 하면 설치 설정과 보안 정책을 변경할 수 있습니다. 예를 들어, 기본적으로 내 SD 카드는 다음과 같이 마운트됩니다.

root:root그리고 755, 그래서 나는 그것에서 아무것도 삭제할 수 없습니다.

답변1

일반적으로 이동식 장비 설치에는 다음 두 부분이 포함됩니다.U 디스크데스크탑 환경의 특정 부분(예:중력 속도그놈의 경우.

UDisks는 루트로 실행되고 저장 장치 작업을 위한 DBus API를 제공하는 데몬입니다. 이동식 장치를 연결하면 UDisk는 DE에 장치가 있음을 알리고 장치로 무엇을 할지 결정하는 것은 DE의 몫입니다. UDisk는 지금 마운트하도록 지시하거나 다음을 통해 파일 관리자에 표시할 수 있습니다. 수동으로 설치하려면 클릭하세요(일반적으로 KDE 등에서 구성 가능).설정->하드웨어->이동식 장치).

실제로는 추가 데몬이 관련되어 있습니다.폴킷. 마운트는 권한이 있는 작업이므로 사용자(또는 DE)는 mount마운트 없이 실행할 수 없지만 sudoUDisk는 루트로 실행되고 폴킷 규칙 세트를 사용하여 마운트 작업이 허용되는지 여부를 결정하므로 가능합니다.

장치 장착 방법(장착 옵션, 장착 지점 등)을 변경하려는 경우 두 가지 옵션이 있습니다. 먼저 /etc/fstab, UDisks가 이를 사용하므로 거기에 장치를 추가하면 사용자가 지정한 마운트 지점과 마운트 옵션을 사용하게 됩니다. 두 번째는 사용하는 것입니다.구성 가능한 설치 옵션/etc/udisks2/mount_options.confUDisks에서 사용할 수 있는 기능 - UDisks 구성 파일에서 또는 udev 규칙을 사용하여 특정 파일 시스템이나 장치에 사용될 마운트 옵션을 지정할 수 있습니다.

답변2

일반적으로 특정 시스템 구성에 따라 최신 Linux 시스템에서 이를 달성하는 세 가지 방법이 있습니다.

대부분의 배포판이 기본적으로 작동하도록 구성되는 "일반적인" 방식에는 UDisks라는 DBus 서비스가 포함됩니다. 이는 간단히 말해서 일반 사용자가 장치를 설치하고 제거할 수 있는 멋진 권한 분리 시스템입니다. 데스크탑 환경 및/또는 파일 관리자는 UDisk와 상호 작용하여 이동식 장치 목록을 얻은 다음 사용자가 직접 상호 작용할 수 있는 방식으로 이러한 장치를 제공합니다. 어떤 경우에는(오디오 CD, MTP/PTP 장치, 네트워크 공유 등) 일반적으로 장치를 일반 파일 시스템으로 렌더링하고 UDisk로 렌더링하기 위해 다른 구성 요소(GNOME의 GVFS 및 대부분의 다른 GTK+ 데스크탑, KDE의 KIO)가 관련됩니다. 전혀 관련되지 않을 수도 있습니다(사실 이를 요구하는 대부분의 작업에는 UDisk가 포함되지 않습니다). 이러한 방식으로 설정된 시스템에서는 명령을 사용하여 UDisk와 수동으로 상호 작용할 수 있습니다 udisksctl. UDisk는 일반적으로 UDisk의 특정 장치에 대해 지정된 설치 옵션 /etc/fstab과 UDisk에 지정된 설치 경로를 존중합니다.

최신 Linux 시스템에서 두 번째로 가장 일반적인 방법은 시스템 자동 마운트입니다. 즉, systemd는 파일 시스템이 마운트되어야 하는 경로를 감시하고, 누군가 해당 경로에 액세스하려고 하면 이를 마운트합니다. 이는 정적으로 구성된 설치에서만 작동하며 /etc/fstab적절한 옵션을 입력해야 합니다.또는systemd.automount 장치. 데스크탑에서는 많이 사용되지 않지만 데스크탑이 없고 정기적으로 이동식 미디어와 상호 작용하는 시스템에서는 비교적 일반적입니다.

세 번째이자 가장 전통적인 옵션은 autofs입니다. 이것은 systemd 자동 마운트와 거의 동일한 방식으로 작동하는 사용자 공간 데몬(및 관련 커널 드라이버)이지만 systemd에 부족한 몇 가지 추가 기능이 있습니다(특히 네트워크 공유를 자동으로 검색할 수 있습니다). 구성 위치는 다르지만 systemd 자동 마운트와 동일한 일반적인 제한 사항이 있습니다. 오늘날 이는 동적으로 변화하는 대규모 공유 네트워크 또는 UDisk와 systemd가 전혀 없는 시스템에 액세스해야 하는 시스템에서만 실제로 사용됩니다.

답변3

최신 배포판에서는 모든 것이 데몬에 의해 처리됩니다. 따라서 구성 파일도 자동으로 생성됩니다. 따라서 가장 어려운 부분은 어떤 데몬이 시스템의 어느 부분을 처리하는지 파악하는 것입니다.

따라서 이동식 미디어(SD 카드, USB 드라이브)의 자동 마운트는 udisks 데몬에 의해 관리됩니다. 부착 및 분리된 이동식 미디어 감지는 다음을 통해 수행됩니다.우데브.

새 하드웨어를 연결할 때마다 커널은 이를 알립니다.우데브, udev는 블록 장치를 생성하고 udisk에 알립니다.유티카장비를 설치하십시오.

udisk의 현재 소스 코드github에서 라이브. 최신 버전이 2.9.4이므로 보통은USB 2.

SD 카드에 FAT32 또는 exFAT와 같은 인식된 파일 시스템이 있는 경우 udisks2는 장치 레이블 또는 고유 이름을 기반으로 하는 마운트 지점을 사용하여 /media 디렉터리(또는 /run/media/ 또는 /mnt/)에 마운트 지점을 생성합니다. 다른 식별자의 경우. 그런 다음 해당 마운트 지점에 SD 카드를 마운트합니다.

SD 카드가 마운트되면 파일 관리자(예: Ubuntu의 Nautilus)가 마운트 지점을 감지하고 파일 관리자 사용자 인터페이스에 SD 카드 내용을 표시합니다.

관련 정보