비밀번호를 요구하지 않고 파티션 마운트를 방지하여 동일한 물리적 HDD(레이아웃: gpt)에 있는 다른 파일 시스템을 사용하는 다른 파티션에 대한 액세스를 차단하려고 합니다.
FSTAB은 비밀번호로 마운트 사용을 관리합니다. FSTAB에 없으면 비밀번호가 필요합니다.
Nautilus 및 udisks의 경우 udev에서 ENV{UDISKS_ 명령을 다음과 같이 설정하려고 했습니다.
KERNEL=="sda10", ENV{UDISKS_PRESENTATION_NOPOLICY}="1", ENV{UDISKS_SYSTEM_INTERNAL}="1"
다음을 사용하여 ENV가 추가되었는지 확인했습니다.
udevadm info --name="/dev/sda10" --query=all
그러나 이것이 (gksudo가 아닌) Nautilus 또는 udisks를 클릭하면 파티션 마운트를 중지하지 않는 것 같습니다.
시도할 때 비밀번호를 묻는 메시지를 표시하고 싶습니다. 여기에 지정된 대로:
http://manpages.ubuntu.com/manpages/precise/man7/udisks.7.html
설정하면 장치가 "시스템 내부"로 간주되는지 여부를 감지하는 일반적인 버스 유형 기반 감지가 무시됩니다. "0"은 "제거 가능"(즉, 자동 마운트에 적합하고 일반 사용자가 마운트할 수 있음)을 의미하고, 다른 값은 "시스템 내부"(즉, 자동 마운트가 없으며 관리자만 마운트할 수 있음)를 의미합니다.
미리 감사드립니다.
PS 대조적으로 이것을 사용하면
KERNEL=="sda10", ENV{UDISKS_PRESENTATION_HIDE}="1"
노틸러스가 장치 섹션에 파티션을 표시하는 것을 중지합니다. 숨겨도 udisk가 마운트되는 것을 막지는 못할 것입니다(시도해 보지 않았습니다).
답변1
해결책은 여기 Reddit에 있습니다:Ubuntu에서는 인증 없이 내부 블록 장치의 마운트를 어떻게 허용합니까?
참고: 저는 Ubuntu Bionic 패키지를 기반으로 하는 LTS 릴리스인 linuxmint-mate 19.1(tessa)과 18.3(Sylvia)을 모두 사용합니다. 우분투 자체에서는 테스트하지 않았습니다.
파일을 루트로 열고 /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
줄을 변경하십시오.
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.filesystem-mount-system;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
이것에:
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*;org.freedesktop.udisks2.encrypted-unlock-system;org.freedesktop.udisks2.filesystem-fstab;
보시다시피 다음 줄을 삭제하세요.
org.freedesktop.udisks2.filesystem-mount-system;
따라서 Caja에 파티션을 마운트하라는 요청이 있을 때마다 파티션을 마운트하기 위한 인증 요청 창이 열립니다.
재부팅하거나 사용자 세션을 종료할 필요도 없습니다.
그것은 나에게 완벽하게 작동합니다.
답변2
PolicyKit/polkit
규칙을 직접 편집하는 것보다 규칙을 통해 이것이 가능해야 한다고 생각합니다 udev
.
12.04에서는 기본적으로 마운트가 허용됩니다.
user@precise:~$ pkaction --verbose --action-id org.freedesktop.udisks.filesystem-mount
org.freedesktop.udisks.filesystem-mount:
description: Mount a device
message: Authentication is required to mount the device
vendor: The udisks Project
vendor_url: http://udisks.freedesktop.org/
icon: drive-removable-media
implicit any: no
implicit inactive: no
implicit active: yes
man pklocalauthority
이를 무시하고( 참조 ) 이 작업을 수행하려면 인증이 필요한 로컬 규칙을 생성할 수 있어야 합니다 . 예를 들어 다음을 포함하는 이름의 파일을 만듭니다 /etc/polkit-1/localauthority.conf.d/50-disable-automount.pkla
.
[Disable automount]
Identity=unix-user:*
Action=org.freedesktop.udisks.filesystem-mount
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_admin
몇 가지 추가 세부 사항을 조사해야 할 수도 있습니다(예: org.freedesktop.udisks.filesystem-mount-system-internal
USB 스틱이 아닌 로컬 하드 디스크에만 적용되는 것과 같은 보다 구체적인 작업이 있으며 최근 입력한 비밀번호로 충분한지 여부에 따라 auth_admin
또는 중 하나를 선택할 수 있습니다). auth_admin_keep
.
나는 Policykit의 의미 중 일부를 완전히 확신하지 못하고 문서가 약간 부족한 것 같아서 약간의 플레이가 필요할 수도 있지만 이것이 올바른 방법이라고 생각합니다. 보다여기Ubuntu의 작업에 대한 기본 정책 키트 권한입니다.