Debian: Comandes i permisos

La terminal és una bona manera de moure’t pel sistema i executar comandes que et permeten fer accions més ràpid que si ho fessis amb el ratolí.

Bàsiques

Algunes de les més bàsiques són:

  • pwd: mostra el directori actual
nadki@debian:~$ pwd
/home/nadki
  • ls: llista el contingut de la carpeta
# Llistat per defecte
nadki@debian:~$ ls
Desktop  Documents  Downloads   Music  Pictures  Public  Templates  Videos

# Llista amb detalls
nadki@debian:~$ ls -l
total 36
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Desktop
drwxr-xr-x 3 nadki nadki 4096 Jan 11 05:11 Documents
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Downloads
drwxr-xr-x 3 nadki nadki 4096 Jan 11 05:11 go
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Music
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Pictures
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Public
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Templates
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Videos

# Llista amb detalls i també els fitxers ocults
nadki@debian:~$ ls -la
total 124
drwxr-xr-x 15 nadki nadki 4096 Jan 11 05:11 .
drwxr-xr-x  3 root root 4096 Jan 10 10:21 ..
-rw-------  1 nadki nadki  296 Jan 11 05:07 .bash_history
-rw-r--r--  1 nadki nadki  220 Jan 10 10:21 .bash_logout
-rw-r--r--  1 nadki nadki 3526 Jan 10 10:21 .bashrc
drwxr-xr-x  7 nadki nadki 4096 Jan 11 05:11 .cache
drwx------  7 nadki nadki 4096 Jan 11 05:03 .config
drwxr-xr-x  2 nadki nadki 4096 Jan 10 10:23 Desktop
-rw-r--r--  1 nadki nadki   35 Jan 10 10:23 .dmrc
drwxr-xr-x  3 nadki nadki 4096 Jan 11 05:11 Documents
drwxr-xr-x  2 nadki nadki 4096 Jan 10 10:23 Downloads
drwx------  3 nadki nadki 4096 Jan 10 10:23 .gnupg
  • cd: canvi de carpeta.
# Canvia a la carpeta Documents
nadki@debian:~$ cd Documents

# Canvia a la carpeta etc que esta a /
nadki@debian:~$ cd /etc

# Canvia a la carpeta anterior
nadki@debian:~$ cd ..

# Canvia a la HOME de l'usuari
nadki@debian:~$ cd
  • mkdir: crea una nova carpeta (li has d’indicar el nom de la carpeta).
nadki@debian:~$ mkdir nadki
  • rmidr: elimina una carpeta buida (li has d’indicar el nom de la carpeta).
nadki@debian:~$ rmdir nadki
  • mv: mou i reanomena fitxers i carpetes.
# Mou el fitxer nadki.txt a la carpeta Documents
nadki@debian:~$ mv nadki.txt /home/nadki/Documents

# Mou el fitxer nadki.txt a la carpeta Documents però en canvia el nom
nadki@debian:~$ mv nadki.txt /home/nadki/Documents/nadki2.txt
  • rm: elimina fitxers i carpetes.
# Elimina fitxer
nadki@debian:~$ rm nadki.txt

# Elimina carpeta i el seu contingut
nadki@debian:~$ rm -r nadki/
  • cp: copia fitxers o carpetes
nadki@debian:~$ cp nadki.txt Documents/
  • which: indica la carpeta on hi ha el binari:
nadki@debian:~$ which ls
/bin/ls

Totes aquestes comandes no deixen de ser programes, anomenats binaris, que estan emmagatzemats a algun lloc del sistema operatiu. Normalment a /sbin, /usr/bin o /usr/sbin.
Per poder executar les comandes sense haver d’escriure el directori complet cada vegada, el que es fa és afegir els directoris a la variable global $PATH.

Per exemple, si tens un binari que es diu nadki a la carpeta /home/nadki/Documents/bin/ i vols poder-lo executar sense haver d’escriure tot, hauràs d’afegir aquest directori a la variable PATH.

nadki@debian:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

nadki@debian:~$ nadki
bash: nadki: command not found

# Afegir directori al PATH
nadki@debian:~$ export PATH="/home/nadki/Documents/bin:$PATH"

nadki@debian:~$ echo $PATH
/home/nadki/Documents/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

nadki@debian:~$ nadki
Comanda executada!

Algunes comandes com cd o pwd no tenen binaris enlloc, sinó que les gestiona directament la terminal.

  • {} a una comanda: et permet executar la mateixa comanda amb cada un dels valors. Per exemple, si vols crear tres documents, les dues comandes següents tenen el mateix efecte:
nadki@debian:~$ touch /home/nadki/fitxer1.txt /home/nadki/fitxer2.txt /home/nadki/fitxer3.txt

nadki@debian:~$ touch /home/nadki/fitxer{1,2,3}.txt

Llegir i editar fitxers

  • cat: mostra el contingut del fitxer.
  • less o more: mostren el contingut del fitxer per pàgina. Normalment, s’utilitzen quan el fitxer és molt gran per llegir-lo amb cat.
  • nano: permet llegir i editar fitxers.
  • vi: permet llegir i editar fitxers. Més complex de fer servir que nano.

Buscar fitxers

  • find: permet buscar fitxers pel nom.
# Busca el fitxer hosts a la carpeta /etc
nadki@debian:~$ find /etc -name hosts
/etc/hosts
/etc/avahi/hosts

# Busca tots els fitxers que comencin per "host" a la carpeta /etc
nadki@debian:~$ find /etc -name "hosts*"
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
  • grep: permet buscar dins dels fitxers. És compatible amb expressions regulars.
# Busca el text a tots els fitxers de la carpeta de manera recursiva
nadki@debian:~$ grep -rnw /home/ -e 'contrasenya'

# Busca utilitzant regex (atribut -E)
nadki@debian:~$ grep -Eo 'REGEX' -r *

Alguns exemples de REGEX:

# IP (999.999.999.999)
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}

# Email
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$

# DNI
[0-9]{8,8}[A-Za-z]$

# IBAN
[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}

# Base64
(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
  • locate: permet buscar fitxers. A diferència del find, no buscar per tot el sistema, sinó que té una base de dades i, per tant, va més de pressa.
# Actualitza la base de dades
nadki@debian:~$ sudo updatedb

nadki@debian:~$ locate nadki.txt 
/home/nadki/Documents/nadki.txt

Gestionar processos

  • ps aux: llista tots els processos que s’estan executant al sistema.
nadki@debian:~$ ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  99812 10676 ?        Ss   05:02   0:02 /sbin/init
root         132  0.0  0.0      0     0 ?        S    05:02   0:00 [card0-crtc7]
root         171  0.0  0.0      0     0 ?        S    05:02   0:00 [jbd2/sda1-8]
root         172  0.0  0.0      0     0 ?        I<   05:02   0:00 [ext4-rsv-conver]
root         209  0.0  0.2  48408 17504 ?        Ss   05:02   0:00 /lib/systemd/systemd-journald
root         239  0.0  0.0  23276  6324 ?        Ss   05:02   0:00 /lib/systemd/systemd-udevd
root         285  0.0  0.0      0     0 ?        I<   05:02   0:00 [cryptd]

[...]

# Es pot concatenar amb grep per buscar processos específics
nadki@debian:~$ ps aux | grep -i vbox
root         584  0.0  0.0 293716  3336 ?        Sl   05:02   0:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
nadki        1200  0.0  0.0  19956   184 ?        S    05:05   0:00 /usr/bin/VBoxClient --clipboard
nadki        1202  0.0  0.0 152224  3936 ?        Sl   05:05   0:00 /usr/bin/VBoxClient --clipboard
nadki        1212  0.0  0.0  19956   180 ?        S    05:05   0:00 /usr/bin/VBoxClient --seamless

[...]
  • kill: mata els processos. Normalment, es necessita permisos de root per executar-lo.
    Has d’indicar com vols matar el procés:
SenyalIDDescripció
SIGHUP1En espera
SIGINT2Interrupció de teclat
SIGKILL9Mata directament
SIGTERM15Acaba correctament
SIGSTOP17, 19, 23Atura el procés
nadki@debian:~$ kill -9 PID_DEL_PROCÉS

També pots executar programes en segon pla si al final de la comanda li poses &.

nadki@debian:~$ python3 -m http.server &
[1] 25090
nadki@debian:~$ 
  • jobs: llista tots els processos executant-se en segon pla.
nadki@debian:~$ jobs
[1]+ Running                 python3 -m http.server &
  • fg: permet recuperar la comanda que s’està executant en segon pla.
nadki@debian:~$ fg 1
python3 -m http.server

Si quan s’està executant una comanda cliques Control+Z, aturaràs l’execució.

nadki@debian:~$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
^Z
[1]+  Stopped                 python3 -m http.server
  • bg: permet executar la comanda que està en pausa.
nadki@debian:~$ bg 1
[1]+ python3 -m http.server &

També pots matar els processos en segon pla referenciant-los directament amb l’id de la comanda jobs:

nadki@debian:~$ jobs -l
[1]-  3605 Running                 ping -i 10 localhost &
[2]+  3606 Running                 ping -i 10 127.0.0.1 &

nadki@debian:~$ kill %1

nadki@debian:~$ jobs -l
[1]-  3605 Terminated              ping -i 10 localhost
[2]+  3606 Running                 ping -i 10 127.0.0.1 &

Permisos

Linux és multiusuari, això implica que ha de tenir un sistema de seguretat per controlar que pot fer i accedir cada usuari.
Cada fitxer o carpeta té els permisos dividits en tres categories:

  • Propietari: se simbolitza amb la lletra u (User).
  • Grup: representa tots els membres d’un grup i se simbolitza amb la lletra g (Group).
  • Altres: se simbolitza amb la lletra o (Other).

Cada categoria té tres tipus de permisos diferents, que es poden combinar:

  • Llegir: permís per obrir i llegir un fitxer. Permís per llistar el contingut d’una carpeta. Se simbolitza amb la lletra r (Read).
  • Escriure: permís per modificar el fitxer. Permís per crear, eliminar o reanomenar els fitxers de la carpeta. Se simbolitza amb la lletra w (Write).
  • Execució: permís per executar el fitxer. Permís per creuar el directori (accedir a una carpeta d’aquest). Se simbolitza amb la lletra x (eXecute).

Nota: si un directori té permisos d’escriptura i execució, però no lectura, l’usuari podrà editar i executar fitxers del subdirectori sempre que en sàpiga el nom, ja que no pot llistar.

nadki@debian:~/Documents/tools/impacketnadki@debian:~$ ls -la
total 132
drwxr-xr-x  7 nadki nadki  4096 Jan 11 05:13 .
drwxr-xr-x 10 nadki nadki  4096 Jan 11 05:15 ..
-rw-r--r--  1 nadki nadki 37039 Jan 11 05:13 ChangeLog.md
-rw-r--r--  1 nadki nadki   444 Jan 11 05:13 Dockerfile
drwxr-xr-x  2 nadki nadki  4096 Jan 11 05:13 examples
drwxr-xr-x  8 nadki nadki  4096 Jan 11 05:13 .git
drwxr-xr-x  4 nadki nadki  4096 Jan 11 05:13 .github
-rw-r--r--  1 nadki nadki   844 Jan 11 05:13 .gitignore
drwxr-xr-x  6 nadki nadki  4096 Jan 11 05:13 impacket
-rw-r--r--  1 nadki nadki  8376 Jan 11 05:13 LICENSE
-rw-r--r--  1 nadki nadki   227 Jan 11 05:13 MANIFEST.in
-rw-r--r--  1 nadki nadki  5159 Jan 11 05:13 README.md
-rw-r--r--  1 nadki nadki    17 Jan 11 05:13 requirements-test.txt
-rw-r--r--  1 nadki nadki   189 Jan 11 05:13 requirements.txt
-rw-r--r--  1 nadki nadki   320 Jan 11 05:13 SECURITY.md
-rw-r--r--  1 nadki nadki  3008 Jan 11 05:13 setup.py
-rw-r--r--  1 nadki nadki 10768 Jan 11 05:13 TESTING.md
drwxr-xr-x  8 nadki nadki  4096 Jan 11 05:13 tests
-rw-r--r--  1 nadki nadki  1356 Jan 11 05:13 tox.ini

Setiud i setgid

Hi ha dos permisos que són molt importants si el fitxer és un executable: setuid i setgid, representats amb la lletra s. Aquests permisos tenen valors booleans, és a dir 0 o 1.
Permeten a qualsevol usuari executar el fitxer com si fos el propietari d’aquest. D’aquesta manera, atorga privilegis més elevats a l’usuari.
Com que el setuid d’un programa propietat de root permetria a un usuari executar-lo amb permisos de sistema i possiblement impersonar l’usuari root i comprometre tot el sistema, és crucial assegurar-se que cap fitxer no desitjat tingui aquest permís.

Per exemple, imagina que tens aquest executable que indica si s’ha executat com a root o no, i mostra el UID:

nadki@debian:~$ cat test.sh
#!/bin/bash
if [[ "$EUID" -ne 0 ]]; then 
  echo "Executat com a Nadki"
  else echo "Executat com a Root"
fi
echo "UID: $(id -u)"

Linux té un sistema de seguretat que no permet executar scripts amb els bits setuid i setgid. Si ho intentes, veuràs que sempre s’executarà amb l’usuari amb el qual l’executes i no amb el propietari. Per tant, per a poder fer aquest exemple correctament, creo un fitxer .c que executa l’script anterior:

nadki@debian:~$ cat test.c 
   #include <stdio.h>
   #include <stdlib.h>
   #include <sys/types.h>
   #include <unistd.h>

   int main()
   {
     setuid(0);
     system("./test.sh"); 
     return 0;
   }

nadki@debian:~$ gcc test.c -o test

L’uid de l’usuari Nadki és 1001 i el de root és 0:

nadki@debian:~$ id
uid=1001(nadki) gid=1001(nadki) groups=1001(nadki),27(sudo),998(vboxsf)

nadki@debian:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)

Amb els permisos per defecte (755), l’script s’executa amb els permisos de l’usuari:

nadki@debian:~$ ls -la test
-rwxr-xr-x 1 nadki nadki 16656 Feb 16 06:42 test

nadki@debian:~$ ./test
Executat com a Nadki
UID: 1001

nadki@debian:~$ sudo ./test
Executat com a Root
UID: 0

Ara canvio els permisos. El propietari serà root i afegeixo el bit setuid:

nadki@debian:~$ sudo chown root test

nadki@debian:~$ sudo chgrp root test

nadki@debian:~$ sudo chmod 4755 test

nadki@debian:~$ ls -la test
-rwsr-xr-x 1 root root 16656 Feb 16 06:42 test

Ara, si executo el programa amb l’usuari Nadki, en lloc d’executar-se com a Nadki, s’executa com a root:

nadki@debian:~$ ./test
Executat com a Root
UID: 0

Ja que el bit setuid permet executar el fitxer com si fos el propietari, en aquest cas root.

El permís setgid també s’aplica a carpetes. Qualsevol fitxer creat a la carpeta se li assignarà automàticament el grup de la carpeta en lloc del grup del propietari que ha creat el fitxer.

El bit seguid funciona exactament igual, però en lloc d’executar-se com si fos el propietari, s’executaria com si fos el grup.

Sticky bit

Aquest permís està representat amb la lletra t. És un permís que s’utilitza només a directoris. Aquest bit s’acostuma a assignar a carpetes on tots els usuaris tenen accés, com /tmp o /var/tmp. Evita que un usuari pugui eliminar fitxers o carpetes d’altres usuaris dins d’aquest directori, ja que normalment acostumen a tenir permís d’escriptura.

Per l’exemple he creat una carpeta que es diu test amb permisos 777. L’usuari Nadki2 crea un fitxer també amb permisos 777 i l’usuari Nadki intentarà eliminar-lo.
Com pots veure, quan no hi ha sticky bit, els usuaris poden eliminar fitxers d’altres sense problemes:

nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwx 2 nadki2 nadki2 4096 Feb 16 10:45 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2    0 Feb 16 10:32 sticky

nadki@debian:/home/nadki2/test$ rm sticky 

nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwx 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..

Nadki2 ha assignat l’sticky bit a la carpeta:

nadki2@debian:~$ chmod 1777 test/

nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2    0 Feb 16 10:49 sticky

nadki@debian:/home/nadki2/test$ rm sticky 
rm: cannot remove 'sticky': Operation not permitted

Només els propietaris poden eliminar els seus fitxers:

nadki2@debian:~/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2    0 Feb 16 10:49 sticky

nadki2@debian:~/test$ rm sticky 

nadki2@debian:~/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:52 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..

Canviar permisos

Hi ha tres comandes que et permeten modificar els permisos:

  • chown: canvia el propietari d’un fitxer
  • chgrp: canvia el propietari d’un grup
  • chmod: canvia els permisos d’un fitxer

Hi ha dues maneres de representar els permisos. Els símbols mencionats anteriorment (u, g, o):

nadki@debian:~$ chmod u=rwx,g=rx,o=r nadki.txt

O amb representació numèrica (octal), on cada número representa una categoria i el número els permisos (es tradueix el número en binari, 1 té el permís, 0 no el té).

# Tothom pot llegir, escriure i executar
nadki@debian:~$ chmod 777 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwxrwxrwx 1 nadki nadki 0 Jan 11 09:35 nadki.txt

# Només el propietari pot modificar, la resta poden llegir i executar
nadki@debian:~$ chmod 755 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwxr-xr-x 1 nadki nadki 0 Jan 11 09:35 nadki.txt

# Només el propietari llegir i escriure, la resta dels usuaris només poden llegir
nadki@debian:~$ chmod 644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw-r--r-- 1 nadki nadki 0 Jan 11 09:35 nadki.txt

# Només el propietari llegir i escriure, la resta dels usuaris no poden fer res
nadki@debian:~$ chmod 600 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw------- 1 nadki nadki 0 Jan 11 09:35 nadki.txt

Les combinacions més usades, acostumen a ser 755 per executables i 644 per fitxers.

Els permisos especials com setuid, setgid i sticky bit són el 4, 2 i 1 respectivament.

# Permís setuid amb 644
nadki@debian:~$ chmod 4644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwSr--r-- 1 nadki nadki 0 Jan 11 09:35 nadki.txt

# Permís sticky bit amb 644
nadki@debian:~$ chmod 1644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw-r--r-T 1 nadki nadki 0 Jan 11 09:35 nadki.txt

Logs i informació del sistema

  • free: mostra informació sobre la memòria
nadki@debian:~$ free
               total        used        free      shared  buff/cache   available
Mem:         8148772      493132      215812       10304     7439828     7341448
Swap:         998396         780      997616

# Mostra l'informació en MB (-m) o GB (-g)
nadki@debian:~$ free -m
               total        used        free      shared  buff/cache   available
Mem:            7957         471         220           9        7265        7179
Swap:            974           0         974
  • df: mostra informació sobre el disc
nadki@debian:~$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
udev             4049752         0   4049752   0% /dev
tmpfs             814880       932    813948   1% /run
/dev/sda1       31861548  10444572  19772944  35% /
tmpfs            4074384         0   4074384   0% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
tmpfs             814876        52    814824   1% /run/user/1000

# L'atribut -h mostra els valors més llegibles
nadki@debian:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           796M  932K  795M   1% /run
/dev/sda1        31G   10G   19G  35% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           796M   52K  796M   1% /run/user/1000
  • id: mostra l’usuari amb el qual s’ha iniciat sessió i als grups als quals pertany
nadki@debian:~$ id
uid=1000(nadki) gid=1000(nadki) groups=1000(nadki),27(sudo)
  • uname -a: mostra diversa informació del sistema:
uname -a
Linux ProjecteNadki 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64 GNU/Linux
  • dmesg: mostra els logs del kernel. Necessites permisos de root.
  • journalctl: mostra diversos logs, com stdout/stderr dels serveis, missatges syslog o logs del kernel. Si l’executes sense arguments, et mostrarà tots els logs amb ordre cronològic. Amb l’atribut -r te’ls mostrarà en l’ordre invers, és a dir els més nous primer. L’opció -f et permetrà veure els logs en temps real. L’opció -u permet veure els logs d’un systemd específic, com per exemple el servei SSH (ssh.service).

Hardware

La majoria de la informació que el kernel detecta sobre el hardware, l’emmagatzema a les carpetes /proc/ i /sys/. Hi ha diverses eines que permeten extreure fàcilment la informació.

  • lspci: llista els dispositius PCI
nadki@debian:~$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)
  • lsusb: llista els dispositius USB
nadki@debian:~$ lsusb
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  • lsdev: llista els recursos que utilitzen els dispositius per comunicar-se. Aquesta eina no ve per defecte a Debian, has d’instal·lar el paquet procinfo.
nadki@debian:~$ lsdev
Device            DMA   IRQ  I/O Ports
------------------------------------------------
0000:00:01.1                   0000-0000   0000-0000   0000-0000   0000-0000   0000-0000
0000:00:02.0                   0000-0000
0000:00:03.0                   0000-0000
0000:00:04.0                   0000-0000
0000:00:05.0                   0000-0000   0000-0000
0000:00:07.0                   0000-0000   0000-0000
0000:00:0d.0                   0000-0000   0000-0000   0000-0000   0000-0000   0000-0000
acpi                      9 
ACPI                             0000-0000     0000-0000     0000-0000     0000-0000
ahci                             0000-0000     0000-0000     0000-0000     0000-0000     0000-0000
ata_piix              14 15      0000-0000     0000-0000     0000-0000     0000-0000     0000-0000
cascade             4       
dma                            0000-0000
dma1                           0000-0000
dma2                           0000-0000
e1000                            0000-0000
enp0s3                   19 
fpu                            0000-0000
i8042                  1 12 
Intel                            0000-0000     0000-0000
keyboard                       0000-0000   0000-0000
ohci_hcd:usb1            22 
PCI                          0000-0000 0000-0000 0000-0000
pic1                           0000-0000
pic2                           0000-0000
  • lshw: és una combinació dels programes anteriors. No ve per defecte, així que l’has d’instal·lar amb apt.
nadki@debian:~$ lshw 
WARNING: you should run this program as super-user.
projectenadki               
    description: Computer
    width: 64 bits
    capabilities: vsyscall32
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 8GiB
     *-cpu
          product: AMD Ryzen 5 3600 6-Core Processor
          vendor: Advanced Micro Devices [AMD]
          physical id: 1
          bus info: cpu@0
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp x86-64 constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid tsc_known_freq pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch ssbd vmmcall fsgsbase avx2 rdseed clflushopt arat
     *-pci
...

Deixa un comentari