[INIT] Init comit
This commit is contained in:
commit
12c0563e36
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
venv
|
||||||
43
main.py
Normal file
43
main.py
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
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!")
|
||||||
Loading…
x
Reference in New Issue
Block a user