/etc/fstab에 항목이 있는 드라이브/파티션만 화이트리스트에 추가하려면 어떻게 해야 합니까?

/etc/fstab에 항목이 있는 드라이브/파티션만 화이트리스트에 추가하려면 어떻게 해야 합니까?

내 Ubuntu 시스템에서 특정 파일 관리자는 USB 포트 중 하나를 통해 연결된 드라이브를 열 때 루트가 아닌 드라이브로 마운트할 수 있다는 것을 확인했습니다. 이런 일이 발생하지 않도록 다음과 같이 구성했습니다 /etc/fstab.

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vgubuntu-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/nvme0n1p3 during installation
UUID=485794d0-6773-4136-9df9-c8f97fc3c3bc /boot           ext4    defaults        0       2
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=5E62-20EC  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vgubuntu-swap_1 none            swap    sw              0       0
#/media/j/sandisk-32GB is my primary USB drive for backups
PARTUUID=d199a40a-b5cc-724b-b70b-1b90e4274ea9 /media/user_xyz/sandisk-32GB ext4 defaults,nofail 0 3

1.root드라이브/파티션 사용자가 아닌 사용자에 의한 자동 마운트 또는 설치를 방지하는 방법아니요/etc/fstab내?

2.root화이트리스트에 포함된 드라이브 이외의 드라이브에 대한 설치를 추가로 제한할 수 있습니까 ? 예를 들어, 설정하려는 구성을 변경하지 않으면 root실행을 시도 하고 실패합니다.mount PARTUUID=this-partition-is-not-whitelisted /media/user_xyz/not-whitelisted

폴리스티렌이 세부 사항 PARTUUID은 단지 제가 표현하려는 아이디어를 전달하기 위한 것입니다. 올바른 형식이 아니라는 것을 알고 있으므로 root설치할 수 없습니다. 저는 우분투 22.04 LTS를 사용하고 있습니다.

답변1

파일 관리자의 마운트/자동 마운트가 실제로 완료되었지만 모든 작업은 작업과 규칙(누가 무엇을 할 수 있는지...)을 정의하는 udisks인증이라는 메커니즘을 거칩니다 . polkit이름이 지정된 구성 파일을 통해 기본 설정을 무시할 수 있습니다 rules.
이 특별한 경우에 작업을 호출합니다.

org.freedesktop.udisks2.filesystem-mount

이 작업의 기본 설정은 다음을 통해 확인할 수 있습니다.

pkaction --verbose --action-id org.freedesktop.udisks2.filesystem-mount

다음과 같은 내용을 반환합니다.

org.freedesktop.udisks2.filesystem-mount:
  description:       Mount a filesystem
  message:           Authentication is required to mount the filesystem
  vendor:            The Udisks Project
  vendor_url:        https://github.com/storaged-project/udisks
  icon:              drive-removable-media
  implicit any:      auth_admin
  implicit inactive: auth_admin
  implicit active:   yes

마지막 줄에서 볼 수 있듯이 active파일 시스템 마운트에 대한 사용자의 암시적 권한은 으로 설정됩니다 yes. 새 규칙을 작성하여 이를 재정의할 수 있습니다. 이는 귀하의 에 나열된 콘텐츠에 아무런 영향을 미치지 않습니다 /etc/fstab. 파일 만들기

/etc/polkit-1/rules.d/90-disable-automount.rules

다음 콘텐츠가 포함되어 있습니다:

polkit.addRule(function(action, subject) {
               if (action.id == "org.freedesktop.udisks2.filesystem-mount" ) {
                   return polkit.Result.AUTH_ADMIN;
               }
           });

시스템을 재부팅하면 관리자 권한이 없는 사용자는 드라이브를 마운트/자동 마운트할 수 없습니다. 관리자 암호를 입력하라는 메시지가 표시됩니다. 이 프롬프트도 비활성화하려면 AUTH_ADMIN 로 바꾸십시오 NO.

답변2

질문에 대한 답변1)여기에서 찾으세요:https://askubuntu.com/questions/1062719/how-do-i-disable-the-auto-mounting-of-internal-drives-in-ubuntu-or-kubuntu-18-04

기본적으로 udiks2를 끄십시오.

systemctl stop udisks2.service

그런 다음 테스트하고 영구적으로 실행합니다.

systemctl mask udisks2

이렇게 하면 "일반" 사용자가 드라이브를 자동으로 마운트하는 것을 방지할 수 있습니다. 또한 해당 사용자가 adm 또는 sudo 그룹에 속하지 않는지 확인해야 합니다. 이렇게 하면 여전히 드라이브를 마운트할 수 있기 때문입니다.

Marcus Müller가 의견에서 지적했듯이 솔루션은2)나는 이것이 쉬운 일이라고 생각하지 않는다. 현재로서는 좋은 대답이 생각나지 않습니다(예: 루트인 경우 드라이브를 마운트하지 못하게 하려면 어떻게 해야 합니까?). 루트는 커널이 부팅하고 RAM 디스크를 로드하는 등의 방법으로 드라이브를 마운트할 수 있어야 합니다.

또한 Guntram Blohm이 댓글에서 지적했듯이 그는 다음과 같이 덧붙였습니다.

systemctl mask udisks2

향후 시스템으로 다시 가져오는 것을 방지할 수 있으며 이는 "좋은 일"입니다.

답변3

내 USB 포트 중 하나를 통해 연결되었습니다 ...

따라서 설치 항목은 /etc/fstab디스크를 다루지만핫스왑USB를 통해 사용할 수 있습니다USB 가드.

Redhat에서처럼 Ubuntu에서도 작동하는지 모르겠지만 설치 /etc/usbguard/usbguard-daemon.conf와 원하는 대로 구성하는 간단한 문제이지만 기본값이면 충분할 것입니다. 그런 다음 usbguard 서비스를 시작하기 전에,당신은해야합니다해당 /etc/usbguard/rules.conf파일을 생성하십시오. 그렇지 않으면 키보드 및 마우스를 포함하여 USB 포트에서 작동하도록 허용된 항목이 없으며 전원 코드를 당겨 재부팅한 다음 단일 사용자 모드로 부팅하여 이를 수정해야 합니다.

usbguard generate-policy > /etc/usbguard/rules.conf이전에 이 작업을 수행하면 service usbguard start기존 USB 장치가 자동으로 캡처되어 파일에서 장치를 식별할 수 있습니다 rules.conf. 그 중 하나는 USB로 연결된 디스크 장치가 되며 이러한 장치는 ID, 일련 번호 등으로 구체적이고 명확하게 식별됩니다. 식별하다. 이는 시스템에서 작동하는 외부 USB 디스크를 관리하고, udisk가 이를 발견하고 설치하기 전에 USB 연결 수준에서 관리합니다.

일부 usbguard 세부정보는 다음을 참조하세요.usbguard 규칙은 모든 키보드와 마우스를 허용합니다

관련 정보