COMANDOS - USUARIOS Y GRUPOS
1. Mostreu els valors per defecte del sistema a l’hora de crear un usuari:
sudo cat /etc/default/useradd
sudo cat /etc/adduser.conf
2. Afegiu l’usuari prova1 amb els valors per defecte. S’ha creat el directori prova?
sudo adduser prova1
ls /home | grep prova1
3. Estableix el password de l’usuari prova1 com a prova1:
echo prova1:prova1 | sudo chpasswd
o
sudo passwd prova1
4. Entra com a prova1 i ubica't al seu home. Què passa? Surt de prova1:
su - prova1
pwd
exit
5. Afegiu l’usuari prova2 amb una descripció, que se li creï i assigni un directori home per defecte i el shell sh:
sudo useradd -m -d /home/prova2 -s /bin/sh -c Usuari de prova 2 prova2
6. Establir el password de l’usuari prova2. Intenta entrar. Surt de prova2:
echo prova2:prova2 | sudo chpasswd
su - prova2
exit
7. Canvia el shell a /bin/bash de l’usuari prova2:
sudo usermod -s /bin/bash prova2
8. Bloqueja el compte prova2, intenta validar-te com l’usuari prova2 i desbloqueja la compte prova2:
sudo usermod -L prova2
su - prova2
sudo usermod -U prova2
9. Crea el grup grprova1. Com queda reflectit al fitxer de configuració?:
sudo groupadd grprova1
cat /etc/group | grep grprova1
10. Canvia-li el nom al grup grprova1 per gr_prova1:
sudo groupmod -n gr_prova1 grprova1
cat /etc/group | grep gr_prova1
11. Crea els grups gr_prova2 i gr_prova3:
sudo groupadd gr_prova2
sudo groupadd gr_prova3
12. Crea l’usuari prova3 que pertany al grup gr_prova1 com a principal i també als grups gr_prova2 i gr_prova3:
sudo useradd -m -s /bin/bash -g gr_prova1 -G gr_prova2,gr_prova3 prova3
cat /etc/passwd | grep prova3
cat /etc/group | grep prova3
su - prova3
groups
exit
13. Què fa la comanda pwconv? I pwunconv?:
man pwconv
man pwunconv
14. Mira el fitxer /etc/shadow. Executa pwunconv, torna’l a mira, què ha passat? Què hi ha diferent a /etc/passwd? Executa pwconv, com queda ara el /etc/shadow? I el /etc/passwd?:
sudo cat /etc/shadow
sudo pwunconv
sudo cat /etc/shadow
sudo cat /etc/passwd
sudo pwconv
sudo cat /etc/shadow
sudo cat /etc/passwd
15. Executa com a usuari prova3 chage –l, què mostra?:
su - prova3
chage -l prova3
exit
16. Canvia la data d'expiració del compte prova3 al 01/01/2000. Intenta entrar com a prova3, què passa? Torna-ho a canviar per a que caduqui d'aqui en un any i li avisi amb una setmana per canviar-la:
sudo chage -E 2000-01-01 prova3
su - prova3
sudo chage -E $(date -d "+1 year" +%Y-%m-%d) -W 7 prova3
17. Entra com a prova3 i crea un fitxer fprova.txt al seu home. Qui és l'usuari i el grup propietari?:
su - prova3
touch fprova.txt
ls -l fprova.txt
exit
18. Què hauràs de fer per a que a partir d'ara creï fitxers amb el grup propietari gr_prova3? Crea el fprova2.txt amb grup propietari gr_prova3:
sudo usermod -g gr_prova3 prova3
su - prova3
touch fprova2.txt
ls -l fprova2.txt
exit
19. Com eliminaràs l'usuari prova2 i el seu directori home?:
sudo deluser --remove-home prova2
20. Com es pot fer perquè tots els usuaris que es creïn a partir d'ara tinguin assignat l'intèrpret de comandes /bin/bash?:
sudo sed -i 's/^DSHELL=.*/DSHELL=\/bin\/bash/' /etc/default/useradd
sudo sed -i 's/^SHELL=.*/SHELL=\/bin\/bash/' /etc/adduser.conf
(Cambiando la configuración del archivo, se puede hacer a mano)
COMANDOS - PERMISOS en LINUX
1. Crea els usuaris asix1, asix2, daw1 i daw2. Crea els grups asix_grp i daw_grp. Inclou els usuaris asix1 i asix2 a asix_grp, i daw1 i daw2 a daw_grp:
sudo useradd -m asix1
sudo useradd -m asix2
sudo useradd -m daw1
sudo useradd -m daw2
sudo groupadd asix_grp
sudo groupadd daw_grp
sudo usermod -aG asix_grp asix1
sudo usermod -aG asix_grp asix2
sudo usermod -aG daw_grp daw1
sudo usermod -aG daw_grp daw2
2. Com a root, crea un fitxer anomenat fitxer1.txt a /home/asix1/ i assigna-li els permisos 754:
sudo touch /home/asix1/fitxer1.txt
sudo chmod 754 /home/asix1/fitxer1.txt
3. Verifica els permisos amb ls -l:
ls -l /home/asix1/fitxer1.txt
Explicació dels permisos:
- Usuari (propietari): lectura, escriptura i execució (7)
- Grup: lectura i execució (5)
- Altres: només lectura (4)
4. Afegeix permisos d'execució per a tothom al fitxer fitxer1.txt fent servir la sintaxi simbòlica:
sudo chmod +x /home/asix1/fitxer1.txt
5. Elimina els permisos d'escriptura per al grup i comprova els canvis amb ls -l:
sudo chmod g-w /home/asix1/fitxer1.txt
ls -l /home/asix1/fitxer1.txt
6. Com a root, crea un directori /home/asix_grp/compartit/ i atorga-li permisos 777:
sudo mkdir -p /home/asix_grp/compartit/
sudo chmod 777 /home/asix_grp/compartit/
7. Activa el Sticky Bit i verifica que està actiu. Explica com afecta aquest bit:
sudo chmod +t /home/asix_grp/compartit/
ls -ld /home/asix_grp/compartit/
Explicació: El Sticky Bit evita que els usuaris eliminin fitxers d'altres dins el directori.
8. Crea un fitxer script_suid dins /home/asix_grp/ i dona-li permisos u+s. Què implica aquest permís?:
sudo touch /home/asix_grp/script_suid
sudo chmod u+s /home/asix_grp/script_suid
ls -l /home/asix_grp/script_suid
Explicació: El bit SUID permet que el fitxer s'executi amb els permisos del propietari en lloc de l'usuari que l'executa.
9. Crea un directori projecte/ dins /home/daw_grp/. Assigna'l al grup daw_grp i activa el bit SGID:
sudo mkdir -p /home/daw_grp/projecte/
sudo chown :daw_grp /home/daw_grp/projecte/
sudo chmod g+s /home/daw_grp/projecte/
10. Amb l'usuari daw1 i daw2 crea fitxers dins de /home/daw_grp/. Comprova que pertanyen al grup daw_grp:
su - daw1
touch /home/daw_grp/projecte/daw1_file.txt
exit
su - daw2
touch /home/daw_grp/projecte/daw2_file.txt
exit
ls -l /home/daw_grp/projecte/
11. Comprova el umask actual dels usuaris asix1 i daw1:
su - asix1
umask
exit
su - daw1
umask
exit
12. Canvia el umask a 027 temporalment i crea un nou fitxer:
umask 027
touch nou_fitxer.txt
ls -l nou_fitxer.txt
13. Explica la diferència en els permisos del fitxer abans i després del canvi de umask:
Explicació: Un umask de 027 impedeix permisos d'escriptura per al grup i impedeix tots els permisos per als altres.
14. Com a root, crea un fitxer doc.txt, propietat de asix1:
sudo touch /home/asix1/doc.txt
sudo chown asix1 /home/asix1/doc.txt
15. Canvia el propietari a asix2 i el grup a asix_grp. Comprova els canvis amb ls -l:
sudo chown asix2:asix_grp /home/asix1/doc.txt
ls -l /home/asix1/doc.txt
16. Com a asix1, canvia al grup asix_grp amb newgrp:
su - asix1
newgrp asix_grp
17. Crea un fitxer i comprova a quin grup pertany:
touch fitxer_test.txt
ls -l fitxer_test.txt
COMANDOS - PARTICIONES y DISCOS
01) Afegeix un disc de 80G a la teva màquina virtual
HECHO
02) Crea la taula de particions del disc
HECHO
03) Crea dues particions, una de 50G i una altre amb la resta.
HECHO
04) Mostra les dues particions
HECHO
05) Formata una partició en NTFS (etiqueta DiscNTFS) i l'altre en vfat (etiqueta Discvfat)
sudo mkfs.ntfs -L DiscNTFS /dev/sdX1
sudo mkfs.vfat -n Discvfat /dev/sdX2
06) Què fa la comanda blkid? i la comanda ls -l /dev/disk/by-uuid/
blkid # Mostra informació sobre els dispositius de bloc i les seves UUIDs
ls -l /dev/disk/by-uuid/ # Mostra els enllaços simbòlics de dispositius per UUID
07) Munta les dues particions. Com es desmunten? Com faràs per a que es muntin a l'arrencada?
sudo mount /dev/sdX1 /mnt/ntfs
sudo mount /dev/sdX2 /mnt/vfat
sudo umount /mnt/ntfs
sudo umount /mnt/vfat
Per muntar automàticament a l'arrencada, afegir al /etc/fstab:
echo "UUID=$(blkid -s UUID -o value /dev/sdX1) /mnt/ntfs ntfs defaults 0 0" | sudo tee -a /etc/fstab
echo "UUID=$(blkid -s UUID -o value /dev/sdX2) /mnt/vfat vfat defaults 0 0" | sudo tee -a /etc/fstab
EJ:
/dev/sdb1 /mnt/Disc50G ntfs-3g default 0 1
08) Amb les particions anteriors muntades, què mostra la comanda lsblk -f?
lsblk -f # Mostra el tipus de sistema de fitxers i els punts de muntatge
09) Mostra el disc a través de l'eina gràfica gparted. Desfès les particions i torna-les a fer amb aquesta eina
HECHO
10) De quants bits és el processador? Mostra la informació de la cpu amb la comanda lscpu, lshw i dmidecode i també a través de l'arxiu /proc/cpuinfo
lscpu
sudo lshw -class processor
sudo dmidecode -t processor
cat /proc/cpuinfo
11) Mostra la informació en format reduït de les comandes lshw i dmidecode
sudo lshw -short
sudo dmidecode -s processor-version
12) Mostra la informació dels dispositius PCI
lspci
13) Mostra la informació dels dispositius USB.
lsusb
14) Mostra el total del que ocupa el directori descàrregues, en format humà.
du -sh ~/Descàrregues
15) Mostra l'utilització de disc de / en format humà
df -h /
16) Mostra l'utilització de la memòria ram i la swap en format humà
free -h
17) Què mostra la comanda uptime?
uptime # Mostra el temps que el sistema ha estat en funcionament
18) Cerca i realitza proves amb més comandes de dispositius (per exemple de deteció d'errors)
sudo smartctl -a /dev/sdX # Comprova l'estat del disc dur
sudo dmesg | grep -i error # Mostra errors del sistema
sudo iostat -x # Mostra estadístiques d'entrada/sortida
COMANDOS - COPIAS de SEGURIDAD
1) Què és un bakcup complet?
Un backup complet és una còpia de seguretat de totes les dades seleccionades en un sol procés.
2) Quina diferència hi ha entre un backup diferencial i un incremental?
- Diferencial: Copia tots els fitxers modificats des del darrer backup complet.
- Incremental: Copia només els fitxers modificats des del darrer backup (sigui complet o incremental).
3) El fitxers agrupats amb la comanda "tar" conserven el seu path? Relatiu o absolut?
Depèn de com es creï l'arxiu: si es fa amb paths absoluts, es guarden així; si es fa des d'un directori amb paths relatius, es guarden relatius.
4) Crea un fitxer tar del contingut d'un directori mostrant el progrés de l'operació.
tar -cvf backup.tar --checkpoint=. --checkpoint-action=echo Directori/
5) Llista el contingut del fitxer tar creat anteriorment.
tar -tvf backup.tar
6) En un altre directori, extrau el contingut del fitxer tar creat anteriorment mostrant el progrés de l'operació.
tar -xvf backup.tar --checkpoint=. --checkpoint-action=echo -C NouDirectori/
7) En un altre directori, extrau només un fitxer dels que conté el fitxer tar.
tar -xvf backup.tar fitxer.txt -C NouDirectori/
8) Crea en /backup un fitxer sense comprimir del teu directori home indicant l'etiqueta "Directori home de el_teu_nom sense comprimir"
tar -cvf /backup/home_backup.tar ~
9) Crea en /backup un fitxer comprimit del teu directori home indicant l'etiqueta "Directori home de el_teu_nom comprimit". Quina diferència hi ha amb l'anterior?
tar -czvf /backup/home_backup.tar.gz ~
La diferència és que el segon està comprimit.
10) Comprova que s'ha realitzat correctament
ls -lh /backup/
11) Esborra un directori del teu home.
rm -r ~/Directori
13) Restaura el fitxer esborrat
tar -xvf /backup/home_backup.tar -C ~
COMANDOS - PROCESSOS y SERVICIOS
01) Llistar tots processos
ps aux
02) Mostra els processos d'un usuari (per exemple tu)
ps -u $(whoami)
03) Identifica el PID del procés de la terminal actual.
echo $$
04) Mostra tots els processos de totes les màquines de VirtualBox obertes, en full-format.
ps -ef | grep VirtualBox
05) Com es mostra l'arbre de processos amb els PIDs
pstree -p
06) Compara la sortida amb ps aux --forest.
ps aux --forest
07) Identifica quin procés és el pare de la teva shell.
echo $PPID
08) Dintre de top, canvia l’ordre de classificació (CPU, memòria, PID).
- Prem Shift + P per ordenar per ús de CPU.
- Prem Shift + M per ordenar per ús de memòria.
- Prem Shift + N per ordenar per PID.
09) Prova htop.
htop
10) Inicia un procés en primer pla (sleep 1000), i suspèn-lo.
sleep 1000
Premeu Ctrl + Z per suspendre
11) Reprèn el procés anterior.
fg
12) Mata el procés anterior.
kill %1
13) Executa nano i suspèn-lo.
nano
Premeu Ctrl + Z per suspendre
14) Llista els treballs amb jobs.
jobs
15) Passa el treball suspès al segon pla (bg %1)
bg %1
16) Torna’l al primer pla (fg %1).
fg %1
17) Acaba el procés.
exit
18) Obre moltes terminals bash. Finalitza-les totes amb el killall
killall bash
19) Executa nice -n 10 sleep 300 &. Mostra la prioritat.
nice -n 10 sleep 300 &
ps -o pid,ni,comm -p $!
20) Canvia la prioritat amb renice -5 -p PID. Verifica que la prioritat ha canviat.
renice -5 -p PID
ps -o pid,ni,comm -p PID
21) Executa nohup ping google.com > ping.log &. Tanca la terminal i obre una de nova. Verifica que el procés segueix en execució (ps aux | grep ping). Para el procés amb kill PID.
nohup ping google.com > ping.log &
exit
Obre una nova terminal
ps aux | grep ping
kill PID
22) Programa una tasca que s'executi cada 5 minuts de dilluns a divendres, de 9:00 a 15:00 i que guardi al fitxer usuaris_connectats.txt al teu home qui hi ha connectats al sistema. Comprova que surt al fitxer usuaris_connectats.txt. Comenta la tasca del cron.
crontab -e
Afegir la següent línia
*/5 9-15 * * 1-5 who > ~/usuaris_connectats.txt
23) Què fa la comanda: echo "touch ~/at_test.txt" | at now + 2 minutes.
Crea el fitxer at_test.txt dins el directori home després de 2 minuts.
24) Llista les tasques pendents amb atq.
atq
25) Espera dos minuts i comprova si at_test.txt s’ha creat.
ls ~/at_test.txt