import os import platform from typing import List trusted_disk = { "model": "", "serial": "" } def mount(disk: Disk): plist = disk.get_partition_list() # получаем все разделы на диске for item in plist: if item.get_fs_uuid() != "": # проверяем что раздел имеет uuid, если нет, то не монтируем его, так на нем нет файловой системы os.mkdir(f"/mnt/{item.get_fs_uuid()}", mode=777) # создаем папку /mnt/uuid, так монтирует линукс, если не задан явный путь монтирования, тут надо придумать, как получить кто будет владельцем папки, пока разрешаем доступ всем print(f"mount {item.get_path()} /mnt/{item.get_fs_uuid()}") # монтируем раздел в созданную папку def unmount(disk: Disk): plist = disk.get_partition_list() for item in plist: if item.get_fs_uuid() != "" and item.get_fs_mounting_point() != "": # проверяем, что есть фс и она смонтирована куда-то print(f"umount {item.get_path()}") # размонтируем def main(): di = DiskInfo() disks: List[Disk] = di.get_disk_list(sorting=True) for disk in disks: if disk.get_model() == trusted_disk["model"] and disk.get_serial_number() == trusted_disk["serial"]: # тут проверки что диск доверенный чисто для примера mount(disk) else: unmount(disk) if __name__ == "__main__": if platform.system() == "Linux": from diskinfo import DiskInfo, Disk main() else: print("This script can be run only on Linux system!")