Slik deaktiverer du USB-system eller visse porter i Ubuntu 22.04
Denne opplæringen viser hvordan du deaktiverer USB, enten hele undersystemet eller for visse USB-porter, i Ubuntu.
For server- eller produksjonsmaskiner kan deaktivering av USB være nyttig for datavern, virusbeskyttelse og andre sikkerhetsårsaker. For Ubuntu og de fleste andre Linux, her skal jeg vise deg hvordan du deaktiverer USB på tre måter:
- Deaktiver hele USB-undersystemet
- Deaktiver bare USB-lagring – Deaktiver bare tilgang for USB-flash-stasjon og andre lagringsenheter.
- Deaktiver spesifikk USB-port
Alternativ 1: Deaktiver USB-undersystem i Ubuntu og andre Linux
Linux-kjernen har en parameter for å deaktivere hele USB-undersystemet. Når du starter opp med kjerneparameteren, vil USB-tastatur, mus, flash-stasjon og innebygde USB-enheter, som webkamera, fingeravtrykkleser, bluetooth være deaktivert. Og USB-porter har ingen strøm for lading.
Dette er flott for serversikkerhet, men du må bruke enten ekstern pålogging eller PS2-tastatur og -mus for å samhandle med Linux-maskinen. Og USB fungerer fortsatt før du starter opp kjernen i Grub-menyoppføringen. Hvis du vil deaktivere den når du trykker på strømknappen, kan du konfigurere den i BIOS-innstillingene.
1. Først kobler du enten til Ubuntu-serveren din, eller trykker Ctrl+Alt+T
på Ubuntu Desktop for å åpne terminalen. Når den åpnes, kjør kommandoen for å redigere konfigurasjonsfilen for Grub boot-loader:
sudo nano /etc/default/grub
For Desktop-utgaven kan du erstatte nano
med gedit
for Ubuntu 22.04 og tidligere med GNOME, gnome-text-editor
for 23.10+ med GNOME, pluma
for MATE eller musematte
for XFCE.
Når filen åpnes, legg til usbcore.nousb til verdien GRUB_CMDLINE_LINUX_DEFAULT. Trykk deretter Ctrl+S for å lagre, og Ctrl+X for å avslutte nanotekstredigering.
2. Kjør deretter kommandoen for å oppdatere grub-konfigurasjonen:
sudo update-grub
MERK: Denne kommandoen kan variere for andre Linux. Når du er ferdig, start datamaskinen på nytt for å søke!
For Ubuntu Desktop med Grub-Customizer installert, kan brukeren også starte den grafiske appen og legge til kjerneparameteren ved å navigere til fanen "Generelle innstillinger".
Alternativ 2: Deaktiver bare USB-lagringsenhet
Ved å blokkere kjernemodulen kan brukeren velge å bare deaktivere USB-flash-stasjon og andre USB-lagringsenheter, la tastatur, mus og andre innebygde USB-enheter fortsatt fungere.
1. Først åpner du terminal (Ctrl+Alt+T) eller kobler til serveren, og kjør kommandoen for å opprette og redigere konfigurasjonsfilen:
sudo nano /etc/modprobe.d/blacklist-usb-storage.conf
Du kan også erstatte nano
med din favoritt tekstredigerer. Når filen åpnes, legg til følgende 2 linjer:
blacklist usb_storage
blacklist uas
Trykk deretter Ctrl+S for å lagre, og Ctrl+X for å avslutte nanotekstredigering.
2. Etter det, kjør kommandoen for å oppdatere initramfs.
sudo update-initramfs -u
Til slutt, start maskinen på nytt. Systemet ditt vil lese konfigurasjonsfilen blacklist-usb-storage.conf
ved oppstart, og blokkere innlasting av de to kjernemodulene (usb_storage
og uas
) for tilgang til USB-lagringsenheter.
Alternativ 3: Deaktiver spesifikk USB-port
Under katalogen /sys/bus/usb/devices
er det en liste over undermapper som inneholder filene for å konfigurere USB-porter og tilkoblede enheter. Ved å stille inn til alltid å suspendere eller bruke usbguard-tjenesten, kan brukeren "deaktivere" de tilsvarende USB-portene.
Trinn 1: Finn ut sys-enhetsmappen for den angitte USB-porten
Katalogen /sys/bus/usb/devices
har ganske mange undermapper, du må finne ut hvilken som er for USB-porten din først.
1. Først kobler du til en USB-enhet (tastatur, mus eller flash-stasjon) i USB-porten, slik at den automatisk genererer en tilsvarende undermappe i den katalogen.
2. Åpne deretter terminalen (Ctrl+Alt+T) og kjør kommandoen for å vise alle USB-enheter:
lsusb
Og kjør enkeltkommando nedenfor for å vise undermappene samt deres behandlede IDer.
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
I kommandoutgangen lsusb
kan du finne ut IDen til de tilkoblede USB-enhetene dine. Med den andre kommandoutgangen kan du bruke ID-en til å finne ut enhetsmappenavnene (f.eks. 1-1, 1-2, usb1, usb2, …).
I mitt tilfelle (se skjermbilde nedenfor), har jeg bare 2 USB-porter i den bærbare datamaskinen. «1-1»-undermappen er for 1c4f:0034, USB-porten koblet til musen. Og «1-2»-undermappen er for 3151:3020, USB-porten koblet til trådløst tastatur
Trinn 2: (Valgfritt) Auto-suspender USB-enheten
I siste trinn 1 har jeg funnet ut de tilsvarende undermappene (1-1 og 1-2) for mine 2 USB-porter.
Du kan velge å automatisk suspendere den bestemte USB-porten, for eksempel 1-1, og sette forsinkelsen til 0 ms, slik at den alltid vil være suspendert.
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
Endringen virker imidlertid bare til du kobler fra og kobler enheten til USB-porten på nytt. Fordi, når du kobler fra USB-enheten, vil den tilsvarende konfigurasjonsmappen (1-1 i etuiet) forsvinne. Når du plugger inn igjen, opprettes mappen automatisk igjen, men med alle innstillinger tilbakestilt.
Dette betyr at denne metoden bare fungerer når USB-enheten forblir koblet til porten. Med mindre du klarte å kjøre de 2 kommandoene ovenfor automatisk på hver plugin.
Trinn 2: (Bedre valg) Bruk USBGuard
De fleste Linux inkluderer en usbguard-pakke i systemlageret. Den kjører en systemtjeneste i bakgrunnen for å implementere grunnleggende USB-hvitelisting og svartelistefunksjoner.
1. Først åpner du terminal og kjør kommandoen for å installere pakken:
sudo apt install usbguard
2. Kjør deretter kommandoen for å redigere konfigurasjonsfilen for denne tjenesten:
sudo nano /etc/usbguard/rules.conf
For GNOME, erstatt nano
med gedit
(22.04 og tidligere), gnome-text-editor
(23.10 og nyere), musematte
for XFCE, pluma
for MATE, ….
Når filen åpnes, bør den inneholde noen linjer for standardregler. Hvis TOM, lukk filen. Vent et øyeblikk for å la den automatisk generere reglene, og rediger den på nytt.
3. Før du redigerer filen, er det bedre å lage en kopi av standardinnholdet. Så du kan enkelt gjenopprette endringene!
Når filen åpnes, slett linjen for din spesifikke USB-port/enhet (identifiser med ID, navn osv.), legg til en ny linje blokker via-port “1-1” (endre '1 -1' tilsvarende) for å deaktivere den USB-porten.
4. Til slutt starter du tjenesten på nytt.
systemctl restart usbguard.service
Og endringen vil bli brukt et øyeblikk senere.
For å angre denne endringen, bruk kommandoer for å stoppe tjenestene, og avinstaller deretter usbguard:
sudo systemctl disable --now usbguard.service
sudo systemctl stop usbguard-dbus.service
sudo systemctl mask usbguard-dbus.service
sudo apt remove --purge usbguard
Til slutt fjerner du konfigurasjonsfilene under /etc-katalogen:
sudo rm -rf /etc/usbguard/