Kaip išjungti USB sistemą arba tam tikrus prievadus Ubuntu 22.04


Šiame vadove parodyta, kaip Ubuntu išjungti USB – visą posistemį arba tam tikrus USB prievadus.

Serveriuose arba gamybos įrenginiuose USB išjungimas gali būti naudingas dėl duomenų privatumo, apsaugos nuo virusų ir kitų saugumo priežasčių. „Ubuntu“ ir daugumos kitų „Linux“ atveju aš jums parodysiu, kaip išjungti USB trimis būdais:

  • Išjungti visą USB posistemę
  • Išjungti tik USB atmintinę – išjunkite tik USB atmintinės ir kitų saugojimo įrenginių prieigą.
  • Išjungti konkretų USB prievadą

1 parinktis: Ubuntu ir kitose Linux sistemose išjunkite USB posistemę

Linux branduolys turi parametrą, leidžiantį išjungti visą USB posistemį. Paleidus naudojant branduolio parametrą, USB klaviatūra, pelė, „flash drive“ ir integruoti USB įrenginiai, tokie kaip žiniatinklio kamera, pirštų atspaudų skaitytuvas, „Bluetooth“ bus išjungti. Be to, USB prievadai neturi įkrovimo galios.

Tai puikiai tinka serverio saugumui, tačiau norėdami sąveikauti su „Linux“ įrenginiu turite naudoti nuotolinį prisijungimą arba PS2 klaviatūrą ir pelę. Ir USB vis dar veikia prieš paleidžiant branduolį Grub meniu įraše. Jei norite jį išjungti paspaudę maitinimo mygtuką, konfigūruokite jį BIOS nustatymuose.

1. Pirmiausia prisijunkite prie Ubuntu serverio arba paspauskite Ctrl+Alt+T Ubuntu darbalaukyje, kad atidarytumėte terminalą. Kai jis atsidaro, paleiskite komandą, kad redaguotumėte Grub įkrovos įkroviklio konfigūracijos failą:

sudo nano /etc/default/grub

Staliniams kompiuteriams skirtoje versijoje galite pakeisti nano į gedit, skirtą Ubuntu 22.04 ir senesnėms versijoms, GNOME, gnome-text-editor, skirtą 23.10+ su GNOME, pluma, skirtas MATE, arba pelės kilimėlis, skirtas XFCE.

Kai failas bus atidarytas, pridėkite usbcore.nousb prie GRUB_CMDLINE_LINUX_DEFAULT vertės. Tada paspauskite Ctrl+S, kad išsaugotumėte, ir Ctrl+X, kad išeitumėte iš nano teksto rengyklės.

2. Tada paleiskite komandą, kad atnaujintumėte grub konfigūraciją:

sudo update-grub

PASTABA: ši komanda gali skirtis naudojant kitas Linux. Baigę iš naujo paleiskite kompiuterį, kad galėtumėte taikyti!

Jei naudojate „Ubuntu Desktop“ su įdiegtu „Grub-Customizer“, vartotojas taip pat gali paleisti grafinę programą ir pridėti branduolio parametrą, eidamas į skirtuką „Bendrieji nustatymai“.

2 parinktis: išjunkite tik USB atminties įrenginį

Blokuodamas branduolio modulį, vartotojas gali pasirinkti tik išjungti USB atmintinę ir kitus USB atmintinės įrenginius, palikti klaviatūrą, pelę ir kitus integruotus USB įrenginius veikti.

1. Pirmiausia atidarykite terminalą (Ctrl+Alt+T) arba prisijunkite prie serverio ir paleiskite komandą, kad sukurtumėte ir redaguotų konfigūracijos failą:

sudo nano /etc/modprobe.d/blacklist-usb-storage.conf

Taip pat galite pakeisti nano į savo mėgstamą teksto rengyklę. Kai failas bus atidarytas, pridėkite šias 2 eilutes:

blacklist usb_storage
blacklist uas

Tada paspauskite Ctrl+S, kad išsaugotumėte, ir Ctrl+X, kad išeitumėte iš nano teksto rengyklės.

2. Po to paleiskite komandą, kad atnaujintumėte initramfs.

sudo update-initramfs -u

Galiausiai iš naujo paleiskite kompiuterį. Sistema paleidžiant nuskaitys blacklist-usb-storage.conf konfigūracijos failą ir blokuos 2 branduolio modulių (usb_storage ir uas) įkėlimą. prieigai prie USB atmintinės.

3 parinktis: išjunkite konkretų USB prievadą

Kataloge /sys/bus/usb/devices yra poaplankių, kuriuose yra USB prievadų ir prijungtų įrenginių konfigūravimo failai, sąrašas. Nustačius visada sustabdyti arba naudojant „usbguard“ paslaugą, vartotojas gali „išjungti“ atitinkamus USB prievadus.

1 veiksmas: suraskite nurodyto USB prievado sistemos įrenginio aplanką

Kataloge /sys/bus/usb/devices yra nemažai poaplankių, todėl pirmiausia turite išsiaiškinti, kuris iš jų skirtas jūsų USB prievadui.

1. Pirmiausia į USB prievadą prijunkite USB įrenginį (klaviatūrą, pelę arba „flash drive“, kad jis automatiškai sugeneruotų atitinkamą poaplankį tame kataloge).

2. Tada atidarykite terminalą (Ctrl + Alt + T) ir paleiskite komandą, kad pateiktumėte visus USB įrenginius:

lsusb

Ir paleiskite toliau pateiktą vieną komandą, kad pateiktumėte poaplankius ir jų tvarkomus ID.

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

Komandos lsusb išvestyje galite sužinoti prijungtų USB įrenginių ID. Naudodami 2-osios komandos išvestį, galite naudoti ID, kad sužinotumėte įrenginio aplankų pavadinimus (pvz., 1-1, 1-2, usb1, usb2, ...).

Mano atveju (žr. ekrano kopiją žemiau), nešiojamajame kompiuteryje yra tik 2 USB prievadai. Poaplankis „1-1“ skirtas 1c4f:0034, USB prievadas, sujungtas su pele. Be to, poaplankis „1-2“ skirtas 3151:3020, USB prievadas, sujungtas su belaide klaviatūra

2 veiksmas: (pasirenkama) automatiškai sustabdykite USB įrenginį

Paskutiniame 1 veiksme sužinojau atitinkamus savo 2 USB prievadų poaplankius (1-1 ir 1-2).

Galite pasirinkti automatiškai sustabdyti tam tikrą USB prievadą, pvz., 1–1, ir nustatyti delsą į 0 ms, todėl ji visada bus sustabdyta.

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

Tačiau pakeitimas veikia tik tol, kol atjungsite ir vėl įkiškite įrenginį į USB prievadą. Nes atjungus USB įrenginį atitinkamas konfigūracijos aplankas (1-1 atveju) išnyks. Kai vėl prijungiate prie tinklo, tas aplankas vėl sukuriamas automatiškai, tačiau visi nustatymai nustatomi iš naujo.

Tai reiškia, kad šis metodas veikia tik tada, kai USB įrenginys yra prijungtas prie prievado. Nebent kiekviename papildinyje pavyko automatiškai paleisti 2 aukščiau pateiktas komandas.

2 veiksmas: (geresnis pasirinkimas) naudokite USBGuard

Daugumoje „Linux“ sistemos saugykloje yra „usbguard“ paketas. Fone veikia sisteminė paslauga, kad įdiegtų pagrindines USB įtraukimo į baltąjį sąrašą ir įtraukimo į juodąjį sąrašą galimybes.

1. Pirmiausia atidarykite terminalą ir paleiskite komandą, kad įdiegtumėte paketą:

sudo apt install usbguard

2. Tada paleiskite komandą, kad galėtumėte redaguoti šios paslaugos konfigūracijos failą:

sudo nano /etc/usbguard/rules.conf

Jei naudojate GNOME, pakeiskite nano į gedit (22.04 ir senesnės versijos), gnome-text-editor (23.10 ir naujesnės versijos), pelės kilimėlis skirtas XFCE, pluma skirtas MATE, ….

Kai failas atidaromas, jame turėtų būti keletas numatytųjų taisyklių eilučių. Jei EMPTY, uždarykite failą. Šiek tiek palaukite, kol jis automatiškai sugeneruos taisykles, tada redaguokite jas iš naujo.

3. Prieš redaguodami failą, geriau pasidaryti numatytojo turinio kopiją. Taigi, galite lengvai atkurti pakeitimus!

Kai failas atsidarys, ištrinkite konkretaus USB prievado/įrenginio eilutę (identifikuokite pagal ID, pavadinimą ir pan.), galiausiai pridėkite naują eilutę blokuoti per prievadą „1-1“ (pakeisti „1“ -1'), kad išjungtumėte tą USB prievadą.

4. Galiausiai iš naujo paleiskite paslaugą.

systemctl restart usbguard.service

Ir pakeitimas bus pritaikytas po kelių akimirkų.

Norėdami anuliuoti šį pakeitimą, naudokite komandas, kad sustabdytumėte paslaugas, tada pašalinkite usbguard:

sudo systemctl disable --now usbguard.service
sudo systemctl stop usbguard-dbus.service
sudo systemctl mask usbguard-dbus.service
sudo apt remove --purge usbguard

Galiausiai pašalinkite konfigūracijos failus iš /etc katalogo:

sudo rm -rf /etc/usbguard/