Kako onemogućiti USB sustav ili određene priključke u Ubuntu 22.04
Ovaj vodič pokazuje kako onemogućiti USB, bilo cijeli podsustav ili za određene USB priključke, u Ubuntuu.
Za poslužitelje ili proizvodne strojeve, onemogućavanje USB-a može biti korisno zbog privatnosti podataka, zaštite od virusa i drugih sigurnosnih razloga. Za Ubuntu i većinu drugih Linuxa, ovdje ću vam pokazati kako onemogućiti USB na 3 načina:
- Onemogući cijeli USB podsustav
- Onemogući samo USB pohranu – Onemogući pristup samo za USB flash pogon i druge uređaje za pohranu.
- Onemogući određeni USB priključak
Opcija 1: Onemogućite USB podsustav u Ubuntuu i drugim Linux sustavima
Linux Kernel ima parametar za onemogućavanje cijelog USB podsustava. Prilikom pokretanja s parametrom kernela, USB tipkovnica, miš, flash disk i ugrađeni USB uređaji, kao što su web kamera, čitač otisaka prstiju, bluetooth, svi će biti onemogućeni. I USB priključci nemaju napajanje za punjenje.
Ovo je odlično za sigurnost poslužitelja, ali morate koristiti ili daljinsku prijavu ili PS2 tipkovnicu i miš za interakciju s Linux strojem. I, USB i dalje radi prije dizanja kernela u Grub unosu izbornika. Ako ga želite onemogućiti pritiskom na tipku za napajanje, konfigurirajte ga u postavkama BIOS-a.
1. Prvo se povežite na svoj Ubuntu poslužitelj ili pritisnite Ctrl+Alt+T
na Ubuntu radnoj površini da otvorite terminal. Kada se otvori, pokrenite naredbu za uređivanje konfiguracijske datoteke za Grub boot-loader:
sudo nano /etc/default/grub
Za stolno izdanje, možete zamijeniti nano
s gedit
za Ubuntu 22.04 i ranije s GNOME-om, gnome-text-editor
za 23.10 + s GNOME-om, pluma
za MATE ili podlogom za miš
za XFCE.
Kada se datoteka otvori, dodajte usbcore.nousb vrijednosti GRUB_CMDLINE_LINUX_DEFAULT. Zatim pritisnite Ctrl+S za spremanje i Ctrl+X za izlaz iz uređivača nano teksta.
2. Zatim pokrenite naredbu za ažuriranje grub konfiguracije:
sudo update-grub
NAPOMENA: Ova se naredba može razlikovati za drugi Linux. Kada završite, ponovno pokrenite računalo za primjenu!
Za Ubuntu Desktop s instaliranim Grub-Customizer-om, korisnik također može pokrenuti grafičku aplikaciju i dodati parametar kernela odlaskom na karticu "Opće postavke".
Opcija 2: Onemogućite samo USB uređaj za pohranu
Blokiranjem modula kernela, korisnik može odabrati samo onemogućavanje USB flash pogona i drugih USB uređaja za pohranu, ostaviti tipkovnicu, miša i druge ugrađene USB uređaje da i dalje rade.
1. Prvo otvorite terminal (Ctrl+Alt+T) ili se povežite s poslužiteljem i pokrenite naredbu za stvaranje i uređivanje konfiguracijske datoteke:
sudo nano /etc/modprobe.d/blacklist-usb-storage.conf
Također, možete zamijeniti nano
svojim omiljenim uređivačem teksta. Kada se datoteka otvori, dodajte sljedeća 2 retka:
blacklist usb_storage
blacklist uas
Zatim pritisnite Ctrl+S za spremanje i Ctrl+X za izlaz iz uređivača nano teksta.
2. Nakon toga pokrenite naredbu da ažurirate initramfs.
sudo update-initramfs -u
Na kraju ponovno pokrenite stroj. Vaš sustav će pročitati konfiguracijsku datoteku blacklist-usb-storage.conf
pri pokretanju i blokirati učitavanje 2 modula kernela (usb_storage
i uas
) za pristup USB uređajima za pohranu.
Opcija 3: Onemogućite određeni USB priključak
U direktoriju /sys/bus/usb/devices
nalazi se popis podmapa koje sadrže datoteke za konfiguriranje USB priključaka i povezanih uređaja. Postavljanjem da se uvijek obustavi ili korištenjem usluge usbguard, korisnik može "onemogućiti" odgovarajuće USB priključke.
Korak 1: Pronađite mapu sys uređaja za navedeni USB priključak
Direktorij /sys/bus/usb/devices
ima dosta podmapa, prvo morate saznati koja je za vaš USB priključak.
1. Prvo priključite USB uređaj (tipkovnicu, miš ili flash pogon) u USB priključak, tako da će automatski generirati odgovarajuću podmapu u tom direktoriju.
2. Zatim otvorite terminal (Ctrl+Alt+T) i pokrenite naredbu za popis svih USB uređaja:
lsusb
I pokrenite jedinstvenu naredbu u nastavku za popis podmapa kao i njihovih ID-ova kojima se rukuje.
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
U izlazu naredbe lsusb
možete saznati ID svojih povezanih USB uređaja. S izlazom 2. naredbe, možete koristiti ID da saznate nazive mapa uređaja (npr. 1-1, 1-2, usb1, usb2, …).
U mom slučaju (pogledajte snimak zaslona u nastavku), imam samo 2 USB priključka na prijenosnom računalu. Podmapa “1-1” je za 1c4f:0034, USB priključak povezan s mišem. A podmapa “1-2” je za 3151:3020, USB priključak povezan s bežičnom tipkovnicom
Korak 2: (izborno) Automatsko obustavljanje USB uređaja
U posljednjem koraku 1 pronašao sam odgovarajuće podmape (1-1 i 1-2) za svoja 2 USB priključka.
Za izbor, možete postaviti automatsku obustavu određenog USB priključka, 1-1 na primjer, i postaviti odgodu na 0 ms, tako da će uvijek biti obustavljena.
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
Međutim, promjena radi samo dok ne isključite i ponovno uključite uređaj u USB priključak. Jer, nakon što isključite USB uređaj, odgovarajuća konfiguracijska mapa (1-1 u slučaju) će nestati. Kada se ponovno priključite, ta se mapa ponovno automatski stvara, ali sa svim postavkama na zadano.
To znači da ova metoda radi samo kada je USB uređaj priključen na priključak. Osim ako niste uspjeli automatski pokrenuti 2 gornje naredbe na svakom dodatku.
Korak 2: (Bolji izbor) Koristite USBGuard
Većina Linuxa uključuje paket usbguard u spremištu sustava. Pokreće uslugu systemd u pozadini za implementaciju osnovnih mogućnosti popisa dopuštenih i crnih popisa USB-a.
1. Prvo otvorite terminal i pokrenite naredbu za instalaciju paketa:
sudo apt install usbguard
2. Zatim pokrenite naredbu za uređivanje konfiguracijske datoteke za ovu uslugu:
sudo nano /etc/usbguard/rules.conf
Za GNOME zamijenite nano
s gedit
(22.04 i ranije), gnome-text-editor
(23.10 i novije), podloga za miš
za XFCE, pluma
za MATE, ….
Kada se datoteka otvori, trebala bi sadržavati nekoliko redaka za zadana pravila. Ako je PRAZNO, zatvorite datoteku. Pričekajte trenutak da pustite da automatski generira pravila, a zatim ga ponovno uredite.
3. Prije uređivanja datoteke, bolje je napraviti kopiju zadanog sadržaja. Dakle, možete jednostavno vratiti promjene!
Kada se datoteka otvori, izbrišite redak za svoj određeni USB priključak/uređaj (prepoznajte ID, ime, itd.), na kraju dodajte novi redak blokiraj preko priključka “1-1” (promijenite '1 -1' prema tome) da onemogućite taj USB priključak.
4. Na kraju ponovno pokrenite uslugu.
systemctl restart usbguard.service
A promjena će se primijeniti nekoliko trenutaka kasnije.
Da biste poništili ovu promjenu, upotrijebite naredbe za zaustavljanje usluga, zatim deinstalirajte usbguard:
sudo systemctl disable --now usbguard.service
sudo systemctl stop usbguard-dbus.service
sudo systemctl mask usbguard-dbus.service
sudo apt remove --purge usbguard
Na kraju uklonite konfiguracijske datoteke u direktoriju /etc:
sudo rm -rf /etc/usbguard/