Cum să dezactivați sistemul USB sau anumite porturi în Ubuntu 22.04
Acest tutorial arată cum să dezactivați USB, fie sub-sistemul complet, fie pentru anumite porturi USB, în Ubuntu.
Pentru servere sau mașini de producție, dezactivarea USB poate fi utilă pentru confidențialitatea datelor, protecția împotriva virușilor și alte motive de securitate. Pentru Ubuntu și majoritatea celorlalte Linux, aici vă voi arăta cum să dezactivați USB prin 3 moduri:
- Dezactivați întregul subsistem USB
- Dezactivați numai stocarea USB - dezactivați accesul numai pentru unitatea flash USB și alte dispozitive de stocare.
- Dezactivați un anumit port USB
Opțiunea 1: Dezactivați subsistemul USB în Ubuntu și alte Linux
Linux Kernel are un parametru pentru a dezactiva întregul subsistem USB. La pornirea cu parametrul Kernel, tastatura USB, mouse-ul, unitatea flash și dispozitivele USB încorporate, cum ar fi camera web, cititorul de amprente, bluetooth vor fi toate dezactivate. Și porturile USB nu au putere pentru încărcare.
Acest lucru este excelent pentru securitatea serverului, dar trebuie să utilizați fie autentificarea de la distanță, fie tastatura și mouse-ul PS2 pentru a interacționa cu mașina Linux. Și, USB încă funcționează înainte de a porni nucleul în intrarea din meniul Grub. Dacă doriți să îl dezactivați la apăsarea butonului de pornire, configurați-l în setările BIOS.
1. Mai întâi, fie conectați-vă la serverul Ubuntu, fie apăsați pe Ctrl+Alt+T
pe desktop Ubuntu pentru a deschide terminalul. Când se deschide, executați comanda pentru a edita fișierul de configurare pentru încărcătorul Grub:
sudo nano /etc/default/grub
Pentru ediția Desktop, puteți înlocui nano
cu gedit
pentru Ubuntu 22.04 și anterioare cu GNOME, gnome-text-editor
pentru 23.10 + cu GNOME, pluma
pentru MATE sau mousepad
pentru XFCE.
Când se deschide fișierul, adăugați usbcore.nousb la valoarea GRUB_CMDLINE_LINUX_DEFAULT. Apoi apăsați pe Ctrl+S pentru a salva și pe Ctrl+X pentru a ieși din editorul de nano text.
2. Apoi, executați comanda pentru a actualiza configurația grub:
sudo update-grub
NOTĂ: Această comandă poate varia pentru alte Linux. Când ați terminat, reporniți computerul pentru a aplica!
Pentru Ubuntu Desktop cu Grub-Customizer instalat, utilizatorul poate lansa și aplicația grafică și poate adăuga parametrul kernelului navigând la fila „Setări generale”.
Opțiunea 2: Dezactivați numai dispozitivul de stocare USB
Prin blocarea modulului kernel, utilizatorul poate alege să dezactiveze doar unitatea flash USB și alte dispozitive de stocare USB, să lase tastatura, mouse-ul și alte dispozitive USB încorporate în continuare funcționale.
1. Mai întâi, deschideți terminalul (Ctrl+Alt+T) sau conectați-vă la server și executați comanda pentru a crea și edita fișierul de configurare:
sudo nano /etc/modprobe.d/blacklist-usb-storage.conf
De asemenea, puteți înlocui nano
cu editorul de text preferat. Când fișierul se deschide, adăugați următoarele 2 rânduri:
blacklist usb_storage
blacklist uas
Apoi apăsați Ctrl+S pentru a salva și Ctrl+X pentru a ieși din editorul de text nano.
2. După aceea, executați comanda pentru a actualiza initramfs.
sudo update-initramfs -u
În cele din urmă, reporniți mașina. Sistemul dvs. va citi fișierul de configurare blacklist-usb-storage.conf
la pornire și va bloca încărcarea celor 2 module kernel (usb_storage
și uas
) pentru accesarea dispozitivelor de stocare USB.
Opțiunea 3: Dezactivați un port USB specific
În directorul /sys/bus/usb/devices
, există o listă de subdirectoare care conțin fișierele pentru a configura porturile USB și dispozitivele conectate. Prin setarea suspendării sau utilizând întotdeauna serviciul usbguard, utilizatorul poate „dezactiva” porturile USB corespunzătoare.
Pasul 1: Aflați folderul dispozitivului sistem pentru portul USB specificat
Directorul /sys/bus/usb/devices
are destul de multe subdirectoare, mai întâi trebuie să aflați care este pentru portul dumneavoastră USB.
1. Mai întâi, conectați un dispozitiv USB (tastatură, mouse sau unitate flash) la portul USB, astfel încât acesta va genera automat un subdosar corespunzător în acel director.
2. Apoi deschideți terminalul (Ctrl+Alt+T) și executați comanda pentru a lista toate dispozitivele USB:
lsusb
Și, rulați comanda unică de mai jos pentru a lista subdosarele, precum și ID-urile gestionate.
cd /sys/bus/usb/devices && for d in *; do if [ -f $d/idProduct ]; then prod=$( cat $d/idProduct ); vend=$( cat $d/idVendor ); echo Device: "${d}", ID: "${vend}:${prod}"; fi; done
În ieșirea comenzii lsusb
, puți afla ID-ul dispozitivelor USB conectate. Cu a doua ieșire a comenzii, puteți utiliza ID-ul pentru a afla numele folderelor dispozitivului (de exemplu, 1-1, 1-2, usb1, usb2, …).
În cazul meu (vezi captura de ecran de mai jos), am doar 2 porturi USB în laptop. Subfolderul „1-1” este pentru 1c4f:0034, portul USB conectat cu mouse-ul. Și subfolderul „1-2” este pentru 3151:3020, portul USB conectat cu tastatura fără fir
Pasul 2: (Opțional) Suspendați automat dispozitivul USB
În ultimul pas 1, am găsit subdirectoarele corespunzătoare (1-1 și 1-2) pentru cele 2 porturi USB ale mele.
Pentru alegere, puteți seta să suspendați automat un anumit port USB, 1-1 de exemplu, și să setați întârzierea la 0 ms, astfel încât acesta va fi întotdeauna suspendat.
echo 0 | sudo tee /sys/bus/usb/devices/1-1/power/autosuspend_delay_ms
echo "auto" | sudo tee /sys/bus/usb/devices/1-1/power/control
Cu toate acestea, modificarea funcționează numai până când deconectați și reconectați dispozitivul la portul USB. Deoarece, odată deconectat dispozitivul USB, folderul de configurare corespunzător (1-1 în caz) va fi dispărut. Când vă conectați din nou, folderul respectiv este creat din nou automat, dar cu toate setările resetate.
Aceasta înseamnă că această metodă funcționează numai atunci când dispozitivul USB rămâne conectat la port. Cu excepția cazului în care ați reușit să rulați automat cele 2 comenzi de mai sus pe fiecare plug-in.
Pasul 2: (O alegere mai bună) Utilizați USBGuard
Majoritatea Linux include un pachet usbguard în depozitul de sistem. Rulează un serviciu systemd în fundal pentru a implementa capabilitățile de bază de listare albă și lista neagră USB.
1. Mai întâi, deschideți terminalul și executați comanda pentru a instala pachetul:
sudo apt install usbguard
2. Apoi, executați comanda pentru a edita fișierul de configurare pentru acest serviciu:
sudo nano /etc/usbguard/rules.conf
Pentru GNOME, înlocuiți nano
cu gedit
(22.04 și versiuni anterioare), gnome-text-editor
(23.10 și mai recente), mousepad
pentru XFCE, pluma
pentru MATE, ….
Când se deschide fișierul, ar trebui să conțină câteva linii pentru regulile implicite. Dacă EMPTY, închideți fișierul. Așteptați un moment pentru a-l lăsa să genereze automat regulile, apoi reeditați-l.
3. Înainte de a edita fișierul, este mai bine să faceți o copie a conținutului implicit. Deci, puteți restabili cu ușurință modificările!
Când fișierul se deschide, ștergeți linia pentru portul/dispozitivul USB specific (identificați-vă după ID, nume etc.), în cele din urmă adăugați o nouă linie blocați prin portul „1-1” (modificați „1 -1' în consecință) pentru a dezactiva acel port USB.
4. În cele din urmă, reporniți serviciul.
systemctl restart usbguard.service
Și, modificarea va fi aplicată câteva momente mai târziu.
Pentru a anula această modificare, utilizați comenzi pentru a opri serviciile, apoi dezinstalați usbguard:
sudo systemctl disable --now usbguard.service
sudo systemctl stop usbguard-dbus.service
sudo systemctl mask usbguard-dbus.service
sudo apt remove --purge usbguard
În cele din urmă, eliminați fișierele de configurare din directorul /etc:
sudo rm -rf /etc/usbguard/