Frequently Asked Questions (FAQ)

Windows és un sistema operatiu que no està basat en UNIX ni en Linux, ja que té el seu propi nucli, anomenat NT, i va ser desenvolupat de manera independent per Microsoft. A més, és un programari propietari, és a dir, no és de codi obert ni gratuït.

Linux té un sistema de seguretat basat en permisos i privilegis, on root té control total i els altres usuaris fan servir sudo per accedir a funcions avançades. Les contrasenyes es guarden en /etc/shadow amb hash i salt per més protecció. Utilitza eines com SSH, GPG o dm-crypt per xifrar dades i comunicacions. Com que és codi obert, tothom pot revisar el codi, i amb opcions com ulimit o sticky bit es limita l’ús de recursos i es protegeixen els directoris.

És rendible perquè al que es dediquen les empreses és a donar serveis d’ajuda als clients de Linux, com el codi és obert i gratuït el que fan és, instal·lar-lo en ordinadors a canvi de diners, tenen un servei d’ajuda el qual pots contractar en cas de tenir cap problema.

Les pàgines man són documents de Linux que expliquen com funcionen els comandaments i utilitats del sistema, i s’accedeix amb l’ordre man (ex: man mkdir). Cada pàgina té seccions com NAME, DESCRIPTION, OPTIONS o EXAMPLES, on es mostra tota la informació tècnica d’un comandament. També estan dividides en categories numerades que separen comandaments d’usuari, arxius de configuració o funcions del sistema.

La diferència entre opcions de comandaments amb un sol guió (-h) i amb dos guions (–help) és principalment l’estil. Les opcions curtes amb un sol guió són abreujades, es poden combinar (ex: -al) i fan la sintaxi més concisa. Les opcions llarges amb dos guions són més descriptives i llegibles (ex: –format=long), i sovint fan el mateix que l’equivalent curt.

A Linux tot es considera un arxiu, un principi heretat d’Unix, que permet accedir a dades, programes i fins i tot maquinari a través del sistema de fitxers. Això inclou arxius d’usuari, directorios, dispositius de maquinari (block i character devices), recursos del nucli com processos i sockets, i pseudo-sistemes de fitxers com /proc o /sys.

L’opció -E amb grep habilita les expressions regulars esteses, fent que “grep -E” sigui equivalent a “egrep”. Això permet utilitzar meta-caràcters avançats com | (OR), + (una o més ocurrències) i ? (zero o una ocurrènci

La comanda wc (word count) serveix per comptar línies, paraules i bytes d’un fitxer o flux de dades. És molt útil combinada amb pipes o redireccions, permetent analitzar text de manera eficient, com comptar fitxers amb find o coincidències amb grep, i també per calcular la mida exacta de dades en un flux.

A Linux, el Nom d’Usuari serveix per iniciar sessió i identificar la compte, mentre que el UID és el número que el sistema utilitza per gestionar permisos. El root té UID 0, els usuaris normals tenen UID >1000 i els comptes de sistema UID <1000. Cada usuari té un GID que identifica el seu grup principal. El nom és per l’usuari i el UID/GID pel sistema.

La comanda id mostra tota la informació d’un usuari: UID, GID principal i grups addicionals, amb noms i números. En canvi, groups només llista els grups als quals pertany l’usuari, amb menys detall. Així, id és més completa per veure la identificació numèrica i textual, mentre que groups serveix per comprovar ràpidament els grups d’un usuari.

És la data de l’última modificació de la contrasenya.

El directori $HOME és l’espai personal de cada usuari, on guarda els seus fitxers i configuracions, i on té permisos per escriure. Normalment està dins de /home/usuari, excepte el de root, que és “/root”. En canvi, “/etc/skel” és una plantilla que s’utilitza quan es crea un nou usuari: els fitxers que conté (com .bashrc o .profile) es copien automàticament dins del seu $HOME. Això permet que tots els usuaris nous comencin amb la mateixa configuració bàsica.

El permís d’execució (x) té valor 1 en octal, però el seu significat depèn de si s’aplica a un fitxer o a un directori. En un fitxer, permet executar-lo com un programa o script, i en el cas dels scripts també cal el permís de lectura per poder-los interpretar. En canvi, en un directori, el permís x permet entrar o accedir-hi, però no veure el contingut (això requereix lectura). Per crear o eliminar fitxers dins d’un directori, cal tenir w i x alhora.

Un compte de grup a Linux permet gestionar permisos per a diversos usuaris alhora. La seva informació es guarda a /etc/group, amb el nom, GID i membres. Cada usuari té un grup primari i pot estar en d’altres secundaris. Els grups controlen qui pot llegir, escriure o executar fitxers i poden donar privilegis especials (com el grup sudo).

El bit SUID permet que un fitxer s’executi amb els privilegis del seu propietari, no de l’usuari que el llança. S’utilitza, per exemple, en el comandament passwd, que s’executa amb permisos de root per poder modificar “/etc/shadow”. Té valor 4 en octal i apareix com una s al lloc del permís d’execució del propietari (-rwsr-xr-x). Només s’aplica a fitxers, i pot ser un risc de seguretat si es combina amb permisos d’escriptura inadequats.

El bit SGID (valor octal 2) fa que un fitxer s’executi amb els privilegis del grup propietari. En un fitxer executable, permet als usuaris heretar aquests permisos temporàriament (-rwxr-sr-x). En un directori, fa que tots els fitxers creats dins heretin el grup del directori pare, facilitant el treball en equip. Es pot activar amb “chmod g+s o chmod 2755”. És un dels permisos especials junt amb SUID i sticky bit.

El permís de lectura (r) té valor 4 en octal i permet veure el contingut d’un fitxer o directori. En un fitxer, deixa obrir-lo i llegir-lo, i és necessari (amb x) per executar scripts. En un directori, permet llistar els noms dels fitxers que conté, però no entrar-hi si falta el permís d’execució. Per llegir un fitxer dins d’un directori, cal lectura al fitxer i execució al directori pare.

Un hardlink és un segon nom que apunta al mateix contingut d’un fitxer al disc. Si s’esborra el fitxer original, les dades no es perden mentre hi hagi l’enllaç dur. Només funciona per a fitxers, mai per a directoris, i ha d’estar a la mateixa partició.

Un softlink (enllaç simbòlic) és un fitxer que conté la ruta del fitxer o directori original. Si l’original es mou o s’esborra, el softlink es trenca i deixa de funcionar. Permet enllaçar fitxers i directoris, fins i tot en altres particions. És com una drecera al fitxer o directori original.

No és recomanable iniciar sessió directament com a root perquè té control total i qualsevol error o intrusió pot danyar el sistema. És fàcil cometre errors greus amb comandes destructives. És millor treballar amb un usuari normal i utilitzar sudo per executar ordres amb permisos elevats només quan cal. Això segueix el principi de menor privilegi i manté el sistema més segur.

Per establir el mínim de dies entre canvis de contrasenya a Linux, es pot utilitzar /etc/login.defs modificant la directiva PASS_MIN_DAYS, o bé eines com chage -m o passwd -n per a usuaris individuals. Això impedeix que els usuaris canviïn la contrasenya massa sovint i millora la seguretat. La configuració es reflecteix al camp MINAGE de /etc/shadow. Per comprovar-la, es poden fer servir chage -l usuari o passwd -S usuari.

L’usuari root és el superusuari de Linux amb UID i GID 0, i el seu directori d’inici és /root. Té control total del sistema, pot gestionar paquets, fitxers protegits i permisos, i utilitzar qualsevol comandament administratiu. Els usuaris normals poden obtenir privilegis elevats temporalment amb su o sudo. El prompt de root es distingeix pel símbol #, mentre que els usuaris normals tenen $.

Els permisos especials SUID (4) i SGID (2) modifiquen com s’executa un fitxer o com es gestiona la propietat de grup en un directori. La minúscula (s) indica que el permís d’execució existeix, mentre que la majúscula (S) indica que SUID/SGID està activat però sense execució. SUID fa que un fitxer s’executi amb els privilegis del propietari, i SGID fa que s’executi amb els privilegis del grup o que els fitxers nous heretin el grup del directori pare. Aquesta notació es veu a ls -l.

Quan s’esborra un hardlink, només s’elimina un nom; les dades perden referència només quan no queda cap enllaç. Els hardlinks comparteixen les mateixes dades, així que els canvis afecten tots els enllaços. A diferència dels softlinks, si un hardlink desapareix, els altres continuen funcionant. Només es poden fer per a fitxers dins la mateixa partició.

Canviar el propietari o grup d’un fitxer amb chown o chgrp permet controlar qui pot llegir, escriure o executar-lo. Això facilita la seguretat i col·laboració, especialment en entorns multiusuari, i només root pot transferir propietat a altres usuaris. Canviar el grup amb SGID assegura que fitxers nous heretin el grup del directori pare. Els usuaris normals només poden canviar la propietat si en són els propietaris i el grup és del qual formen part.

Deixar una sessió de root oberta és molt perillós: qualsevol podria controlar tot el sistema i accedir a fitxers sensibles. Per això, cal utilitzar sudo i tancar sempre la sessió de root després d’administrar el sistema.

Si el camp MAXAGE d’un usuari a /etc/shadow té el valor 99999, la seva contrasenya mai caduca. Això desactiva la expiració obligatòria de contrasenya. Es pot configurar amb “chage -M 99999 usuari o passwd -x 99999 usuari”. Aquesta configuració només la pot fer root o usuaris amb privilegis.

Els permisos bàsics de Linux són lectura (r,4), escriptura (w,2) i execució (x,1), que controlen què pot fer l’usuari amb fitxers o directoris. Es defineixen per a propietari, grup i altres i es veuen a ls -l com r, w, x; si no hi són, apareix -.

Els permisos de Linux controlen l’accés a fitxers i directoris per usuari, grup i altres amb tres permisos bàsics: lectura (r,4), escriptura (w,2) i execució (x,1). En fitxers, permeten veure, editar o executar; en directoris, llistar, crear/eliminar i entrar-hi. Hi ha permisos especials: SUID (executa amb privilegis del propietari), SGID (fitxers nous hereten grup o s’executen amb privilegis del grup) i Sticky Bit (impedeix eliminar fitxers d’altres). La notació ls -l mostra tot amb r, w, x i s/S o t/T.

El comandament newgrp permet canviar temporalment el grup principal d’un usuari durant una sessió de shell, otorgant els permisos del grup sense tancar la sessió. Si el grup té contrasenya definida a /etc/gshadow, cal introduir-la; si comença amb !, ningú pot unir-s’hi. En executar-se, inicia una nova shell amb el grup com a principal. Això facilita accedir a fitxers o directoris amb permisos específics de manera temporal.

L’opció -R de chgrp activa la recursivitat, fent que el canvi de grup s’apliqui al directori especificat i a tot el seu contingut, incloent subdirectoris i fitxers. Això permet modificar el grup de manera massiva sense executar el comandament per cada element. És útil en directoris complexos, però cal tenir precaució per no afectar fitxers que no es volien modificar. La idea és la mateixa que altres comandes recursives com rm -r o cp -R.

L’umask és la màscara d’usuari a Linux que defineix els permisos per defecte dels fitxers i directoris nous. Determina quins permisos (lectura, escriptura, execució) s’assignen a l’usuari, grup i altres. Afecta diferent fitxers i directoris: els directoris hereten el permís d’execució, mentre que els fitxers no. Es pot consultar amb umask o umask -S i canviar temporalment amb notació simbòlica o octal.

L’arxiu /etc/passwd és la base de dades principal dels usuaris locals a Linux. Conté informació bàsica com el nom d’usuari, UID, GID, directori d’inici i shell, però no les contrasenyes (ara es guarden a /etc/shadow). És llegible per tothom i serveix per identificar usuaris i comprovar permisos. Cada línia té set camps separats per dos punts, proporcionant dades essencials del compte sense exposar hashes de contrasenya.

La diferència principal entre su i sudo rau en com s’obtenen els privilegis i quina contrasenya s’utilitza:

su (Switch User): Canvia completament a un altre usuari (per defecte, root) i requereix la contrasenya de l’usuari de destinació. Pot iniciar una nova shell amb l’entorn del nou usuari si s’usa l’opció – o –login. Compartir la contrasenya de root és arriscat.

sudo (Superuser Do): Permet executar un comandament amb privilegis elevats sense canviar permanentment d’usuari. Utilitza la contrasenya del propi usuari i requereix que aquest estigui autoritzat a /etc/sudoers. Permet executar tant comandes puntuals com shells de root amb opcions com sudo -i o s