Linux

De FFAWiki


Estructura de Directoris

Estructura de Directoris en Linux.png

Afegir un Escriptori en Linux

Des del Terminal
Executem l'ordre:
sudo apt-get update
sudo apt-get install gnome-panel
Hem de tancar la sessió per accedir al nou Escriptori.
Quan escollim l'Usuari també podem escollir l'Escriptori de la sessió.

Ordres per recórrer i visualitzar el sistema d'arxius

ls /ruta_absoluta -> Visualitza el contingut de la carpeta /ruta_absoluta
ls -l -d /ruta_absoluta -> Visualitza els permisos de la carpeta /ruta_absoluta
ls -l /ruta_absoluta/arxiu.txt -> Visualitza els permisos de l'arxiu /ruta_absoluta/arxiu.txt

Editors d'arxius de texte

Editor en mode text
nano /ruta_absoluta_arxiu_text
Editor en mode gràfic
gedit /ruta_absoluta_arxiu_text

Ordres del Sistema de Fitxers

Crear un arxiu Buit
touch /ruta_arxiu
Crear un arxiu amb texte dins
echo "texte" > /ruta_arxiu
Afegir texte a un arxiu
echo "texte" >> /ruta_arxiu
Visualitzar el texte d'un arxiu
cat /ruta_arxiu
Crear un directori
mkdir /ruta_directori
Esborrar un directori:
Si està buit: rmdir /ruta_directori
Si no ho està: rm -r /ruta_directori
Renombrar directori
mv /ruta_directori /nova_ruta_directori
Copiar directori
cp -r /ruta_directori /ruta_de_copia
Moure directori
mv /ruta_directori /nova_ruta_directori
Esborrar un arxiu
rm /ruta_arxiu
Renombrar un arxiu
mv /ruta_arxiu /nova_ruta_arxiu
Copiar un arxiu
cp /ruta_arxiu /ruta_de_copia
Moure un arxiu
mv /ruta_arxiu /nova_ruta_arxiu
Canviar el nom a un arxiu
mv /ruta_arxiu /nova_ruta_arxiu (igual que moure)
Crear un Link tou
ln -s /ruta_arxiu /ruta_link
Crear un link fort
ln /ruta_arxiu /ruta_link

Comodins

Els comodins serveixen per substituir qualsevol caràcter.
L'asterisc * -> Substitueix 0,1,2,3 ... caràcters. És el més utilitzat
L'interrogant ? -> Substitueix 1 caràcter. S'utilitza en patrons molt ajustats.
Exemples:
A* -> Arxius que comencin per A
A*.txt -> Arxius que comencin per A i tinguin l'extensió .txt
A*B.* -> Arxius que comencin per A, acabin per B i tinguin qualsevol extensió
*HOLA* -> Arxius que continguin la paraula HOLA
A? -> Arxius de dos lletres que comencin per A
A?.txt -> Arxius de dos lletres que comencin per A i tinguin l'extensió .txt
Per poder utilitzar els comodins, prèviament s'ha de crear un patró que respongui a totes les preguntes que volem fer.

Arxius Ocults

Per poder amagar un arxiu o un directori en linux només cal que el seu nom comenci per punt (.)
Exemple: mkdir /home/smx/Escriptori/.prova
Exemple: echo hola > /apunts/.salutacio.txt
Aquests arxius i carpetes no es visualitzen directament.
Des del intèrpret de comandes cal fer afegir el paràmetre -a a l'ordre ls
Exemple: ls -a /home/smx/Escriptori
Gràficament podem visualitzar/amagar els arxius/directoris amagats amb la combinació CTRL + H

Muntar un dispositiu

Per poder utilitzar un dispositiu, abans hem de muntar-lo al sistema d'arxius.
Hem d'utilitzar l'ordre mount:
mount -t auto [arxiu de dispositiu] [ruta absoluta de la carpeta de muntatge]
Per exemple:
Vull utilitzar un DVD (el segon del meu sistema) -> /dev/sr1
Per poder utilitzar aquest DVD haurem de muntar-lo en una carpeta -> Creem la carpeta /smx/DVD.
Hauríem d'executar l'ordre:
sudo mount -t auto /dev/sr1 /smx/DVD
A partir d'ara, per accedir al contingut d'aquest DVD ho farem accedint a la carpeta /smx/DVD

Mirar unitats montades

Per saber quines unitats hi ha muntades actualment hem d'executar l'ordre mount.
mount
Ens apareixerà una llista de tots els dispositius muntats actualment.

Desmuntar unitats

Quan volem eliminar un dispositiu del sistema hem d'utilitzar l'ordre umount.
umount
Primer hem de localitzar la carpeta on està muntat.
Ho podem fer a partir de l'ordre mount
Finalment desmuntem la unitat
umount [/ruta_absoluta_carpeta_de_muntatge]
La carpeta continuarà al sistema però quedarà buida.

Eliminar automuntatge d'unitats

Si executem l'ordre:
gsettings set org.gnome.desktop.media-handling automount 'false'
A partir d'aquest moment les unitats ja no es muntaran automàticament a /media.
Quan vulguem utilitzar una unitat l'haurem de muntar manualment amb la comanda mount.
Si vulguessim tornar a activar l'automuntatge:
gsettings set org.gnome.desktop.media-handling automount 'true'

Muntatge Permanent d'Unitats

Tots els dispositius que muntem manualment queden desmuntats automàticament en el moment que apaguem el sistema.
Però, podem fer que un dispositiu es munti automàticament en el moment d'engegar el sistema.
Per fer-ho, hem d'afegir una línia a l'arxiu /etc/fstab
/dev/[disp] [/Ruta_Absoluta_Carpeta de Muntatge] auto defaults 0 0
Per exempe afegim:
/dev/sda2 /home/smx/Escriptori/Particio2 auto defaults 0 0
El proper cop que s'engegui el linux, aquest muntarà totes les unitats que es troben al fstab

Ordres de Gestió d'Usuaris

Crear un usuari:
sudo useradd -m -s /bin/bash nom_usuari
Ens creara un usuari standard (igual que els creats gràficament):
Nom usuari.
Crearà un grup amb el nom de l'usuari i li assignarà l'usuari com a grup principal.
Crearà la capeta personal /home/nom_usuari.
Li assignarà l'intèrpret de comandes /bin/bash.
Es pot modificar el comportament de l'ordre useradd a partir dels paràmetres (veure man useradd)
-d /ruta_carpeta_personal: Li assigna la carpeta personal
La carpeta ha d'existir i tenir permisos.
-m crea automàticament la carpeta personal /home/nom_usuari i li assigna.
Hem de comprovar que la carpeta no existeixi.
-m -d /ruta_carpeta_personal: Crea la carpeta personal que li diem i li assigna
-g nom_grup: li assigna un grup existent
Com a grup principal
-G grup1,grup2...: Assigna els grups a l'usuari
No com a grup principal.
-s /bin/bash : Li assigna aquest interpret de comandes.
Després s'ha d'activar l'usuari assignant-li una contrassenya.
sudo passwd nom_usuari
Recordeu que en el moment de crear un usuari només es crea la seva carpeta personal (/home/[usuari])
Les carpetets estandards (Documents, Escriptori...) es creen en el moment d'entrar per primer cop en l'entorn gràfic de l'usuari.


Esborrar un usuari
sudo userdel nom_usuari
Si volem esborrar també la carpeta personal
sudo userdel -r nom_usuari
Canviar la contrassenya d'un usuari
la propia: passwd
la de root: sudo passwd
la d'un altre usuari: sudo passwd nom_usuari
Canviar d'usuari en el terminal
canviar a root: su -> Ens demana la contrassenya de root
canviar a un altre usuari: su nom_usuari -> Ens demana la contrassenya de l'usuari
exit -> Torna a l'usuari anterior en el terminal.
Fitxer de configuració dels usuaris
/etc/passwd
Hi trobem el nom de l'usuari, el seu ID, l'ID del seu grup principal, la carpeta personal i l'intèrpret de comandes.

Grups de sistema

El linux porta incorporats un conjunt de grups de sistema.
Podem veure aquests grups amb l'ordre nano /etc/group
Cadascun d'aquests grups porta incorporat el privilegi de poder realitzar algun tipus de configuració del sistema.
El grup més important és el grup de sudo
Tots els usuaris que pertanyin a un grup podran realitzar les tasques associades a aquell grup.
Per exemple:
Tenim el grup de sambashare que té associat el privilegi de poder compartir carpetes en xarxa.
Si l'usuari A pertany al grup sambashare vol dir que pot compartir carpetes.
Si l'usuari B no pertany al grup sambashare voldrà dir que no pot compartir carpetes.
Un usuari pot pertànyer a varis grups de sistema
Això voldrà dir que podrà fer varies tasques d'administració del sistema

Gestió gràfica d'Usuaris i Grups

Hem d'instal·lar el paquet gnome-system-tools.
sudo apt-get update
sudo apt-get install gnome-system-tools
Ens apareixerà un programa anomenat
Usuaris i Grups
Amb aquest programa podrem assignar gràficament els usuaris als grups que volguem.

Ordres de Gestió de Grups

Crear un grup
sudo groupadd nom_grup
Esborrar un grup
sudo groupdel nom_grup
Afegir un usuari a un grup
sudo adduser nom_usuari nom_grup
Esborrar un usuari d'un grup
sudo deluser nom_usuari nom_grup
Moure un usuari d'un grup a un altre
sudo deluser nom_usuari nom_grup1
sudo adduser nom_usuari nom_grup2
Veure els grups als quals pertany un usuari
Usuari actual: groups
Altres usuaris: sudo groups nom_usuari
Fitxer de configuració dels grups
/etc/group
Hi veiem el nom del grup, el ID del grup i els usuaris que el composen.

Permisos de Carpeta i Arxiu

Permisos de Carpeta
R: Permet veure (llistar) el contingut de la carpeta.
W: Permet modificar (afegir, esborrar) el contingut de la carpeta.
X: Permet accedir (obrir arxius i subcarpetes) al contingut de la carpeta.


Permisos d'Arxiu
R: Permet obrir l'arxiu només en modus lectura (no el podrem modificar)
W: Permet modificar el contingut de l'arxiu.
X: Converteix l'arxiu en executable (només s'aplica a programes i scripts)

Permisos Execució Programes

Primer buscar l'arxiu executable:
Normalment els trobarem a /usr/bin
Amb l'ordre which podem trobar la ruta de l'executable
which gedit
Donarà: /usr/bin/gedit
Posar com a usuari root
chown root /ruta_executable
Crear un grup amb els usuaris que poden executar el programa
Posar com a grup el que hem creat
chgrp nou_grup /ruta_executable
Després Activar/Desactivar el Permís d'Execució de l'Arxiu en root i en el grup
chmod u=rwx,g=rx,o= /ruta_executable
chmod 750 /ruta_executable

Canviar els permisos d'un arxiu o carpeta des del Terminal

Hem d'assignar un propietari:
chown propietari /ruta
Hem d'assignar un grup associat:
chgrp grup /ruta
i després hem d'aplicar els permisos
chmod forma directa:
chmod u=rwx,g=rwx,o=rwx /ruta
Per exemple:
R W X R _ X R _ _
chmod u=rwx,g=rx,o=r /home/smx/Escriptori/prova.txt
chmod forma octal:
chmod ABC /ruta
A és el nombre associat als permisos del propietari
B és el nombre associat als permisos del grup
C és el nombre associat als permisos dels altres usuaris
Com calcular els valors de ABC?
Hem d'associar a cada permís un valor. R-> 4 W ->2 X ->1 i sumar el valor dels que estan activats
Per exemple
R W X R _ X R _ _
4 2 1 4 0 1 4 0 0
En aquest cas A=7 B=5 C=4
i per tant l'ordre seria chmod 754 /ruta

Executar Scripts gràficament amb doble click

Instal·lem el programa de configuració:
sudo apt install dconf-editor
Obrim el programa
dconf-editor
Anem a org > gnome > nautilus > preferences,
Busquem l'opció: executable-text-activation i activem l'opció launch, (per defecte està a display)
A partir d'ara els scripts ja es podran executar amb doble click.

Scripts amb Paràmetres

Interior del script
El script conté els simbols $1, $2, $3 ...
Aquests símbols es poden repetir més d'una vegada a l'interior del script.
En el moment d'executar-se aquests símbols es transformen en els valors que li hem posat a la crida.
Crida del script.
Per executar-lo cal posar la ruta del script i el valor de tots els parametres
Ruta_Script Valor1 Valor2 Valor3

Tasques

https://crontab.guru/

Tasques d'Usuari

Un usuari es pot programar les seves tasques.
Per fer-ho ha d'executar l'ordre crontab -e
Ens apareixerà un arxiu de texte on cada línea representa una de les tasques que tenim programades:
m h dom mon dow command
m = minut
h = hora
dom = dia del mes (1..31)
mon = mes (1..12)
dow = dia de la setmana (1..7)
@reboot Executa una vegada, a l'inici.
Command = ruta de l'script que volem executar

Edició Gràfica de Tasques d'Usuari

Podem instal.lar un programa per executar gràficament la gestió de les tasques d'usuari
Sudo apt-get install gnome-schedule

Creació de Tasques per part de root

L'usuari root pot crear tasques que:
S'executen en nom seu
S'executen en nom d'un altre usuari
Per fer-ho hem d'editar el fitxer de configuració /etc/crontab
sudo nano /etc/crontab
m h dom mon dow user command
m = minut
h = hora
do = dia del mes (1..31)
mon = mes (1..12)
dow = dia de la setmana (1..7)
@reboot Executa una vegada, a l'inici.
user = nom de l'usuari que l'executarà (aquesta és l'única diferència amb crontab -e)
Command = ruta de l'script que volem executar

Compartir carpetes

NFS

Configuració del Servidor

Per poder compartir carpetes amb NFS des d'un ordinador cal que s'instal·lin 3 paquets:
nfs-kernel-server
nfs-common
portmap
Un cop en funcionament s'ha de configurar el fitxer /etc/exports amb les carpetes que volem compartir.
Per cada carpeta compartida en NFS caldrà posar-hi una línea amb:
Ruta absoluta de la carpeta compartida
(ro) només lectura - (rw) lectura i escriptura
Un cop editat el fitxer de configuració caldrà re-iniciar el servei NFS
sudo /etc/init.d/nfs-kernel-server restart

Exemple de configuració del Servidor

Creem la carpeta que volem compartir:
sudo mkdir /compartir_per_NFS
sudo chmod 777 /compartir_per_NFS
Instalem el servidor NFS (només cal fer-ho una vegada)
sudo apt-get update
sudo apt-get install nfs-kernel-server nfs-common portmap
Configurem l'arxiu /etc/exports
sudo nano /etc/exports
escrivim la línia: /compartir_per_NFS *(ro)
Reiniciem el servei de NFS
sudo /etc/init.d/nfs-kernel-server restart

Configuració del Client

Per poder connectar a carpetes NFS cal que s'instal·lin 2 paquets:
nfs-common
portmap
Després s'ha de muntar el recurs NFS en una carpeta de l'ordinador client.
Muntatge normal
sudo mount -t nfs [IP_Servidor_NFS] : [/Ruta_Carpeta_NFS_Compartida] [/Ruta_Absoluta_Carpeta_Local]
Muntatge amb contraseny
sudo mount -t nfs [IP_Servidor_NFS] : [/Ruta_Carpeta_NFS_Compartida] -o username=[usuari],password=[contrasenya] [/Ruta_Absoluta_Carpeta_Local]
Muntatge permanent (/etc/fstab)
[IP_Servidor_NFS] : [/Ruta_Carpeta_NFS_Compartida] [/Ruta_Absoluta_Carpeta_Local] nfs defaults 0 0
Muntatge permanent amb contrasenya (/etc/fstab)
[IP_Servidor_NFS] : [/Ruta_Carpeta_NFS_Compartida] [/Ruta_Absoluta_Carpeta_Local] nfs user=[usuari],password=[contrasenya] 0 0

Exemple de configuració del client

Creem la carpeta que volem muntar
sudo mkdir /Muntatge_per_NFS
sudo chmod 777 /Muntatge_per_NFS
I la muntem sobre el recurs compartit a l'ordinador amb ip: [192.168.2.3] i amb carpeta [/compartir_per_NFS]
Muntatge normal
sudo mount -t nfs 192.168.2.3:/compartir_per_NFS /Muntatge_per_NFS
Muntatge amb contrasenya
sudo mount -t nfs 192.168.2.3:/compartir_per_NFS -o username=usuari,password=pass /Muntatge_per_NFS
Muntatge permanent (/etc/fstab)
192.168.2.3:/compartir_per_NFS /Muntatge_per_NFS nfs defaults 0 0
Muntatge permanent amb contrasenya (/etc/fstab)
192.168.2.3:/compartir_per_NFS /Muntatge_per_NFS nfs user=usuari,password=pass 0 0

SAMBA

Configuració del Servidor

Per poder compartir carpetes amb Samba des d'un ordinador cal que s'instal·li el paquets samba.
sudo apt-get update
sudo apt-get install samba


Un cop en funcionament s'ha de configurar el fitxer /etc/samba/smb.conf amb les carpetes que volem compartir.
Per cada carpeta compartida en Samba caldrà posar-hi una conjunt de línees:
[nom_Recurs]
comment = xxxxx (opcional)
path = xxxxx (ruta absoluta de la carpeta)
writable = yes o bé read only = yes
guest ok = yes
public = yes
browseable = yes
directory mask = 0777


Un cop editat el fitxer de configuració caldrà re-iniciar el servei SAMBA
sudo /etc/init.d/smbd restart


Exemple de configuració del Servidor

Creem la carpeta que volem compartir:
sudo mkdir /compartir_per_SAMBA
sudo chmod 777 /compartir_per_SAMBA
Decidim quin Nom de Recurs li posem: Recurs_SAMBA
Decidim que el recurs serà de Lectura i Escriptura.


Instalem el servidor SAMBA (només cal fer-ho una vegada)
sudo apt-get update
sudo apt-get install samba


Configurem l'arxiu /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
[Recurs_SAMBA]
comment = carpeta compartida en samba
path = /compartir_per_SAMBA
writable = yes
guest ok = yes
public = yes
browseable = yes
directory mask = 0777


Reiniciem el servei de SAMBA
sudo /etc/init.d/smbd restart

Configuració del Client

Instal·lem els paquets del client
apt-get install smbclient
apt-get install cifs-utils


Cal muntar el recurs SAMBA en una carpeta de l'ordinador client.
Muntatge normal
sudo mount -t cifs //[IP_Servidor_SAMBA] / [Nom_Recurs] [/Ruta_Absoluta_Carpeta_Local]
Muntatge amb contrasenya
sudo mount -t cifs //[IP_Servidor_SAMBA] / [Nom_Recurs] -o username=[usuari],password=[contrasenya] [/Ruta_Absoluta_Carpeta_Local]
Muntatge permanent (/etc/fstab)
//[IP_Servidor_SAMBA] / [Nom_Recurs] [/Ruta_Absoluta_Carpeta_Local] cifs defaults 0 0
Muntatge permanent amb contrasenya (/etc/fstab)
//[IP_Servidor_SAMBA] / [Nom_Recurs] [/Ruta_Absoluta_Carpeta_Local] cifs user=[usuari],password=[contrasenya] 0 0
Muntatge permanent amb contrasenya, usuari i grup predefinit (/etc/fstab)
//[IP_Servidor_SAMBA] / [Nom_Recurs] [/Ruta_Absoluta_Carpeta_Local] cifs user=[usuari],password=[contrasenya],uid=[codi usuari],gid=[codi grup] 0 0

Exemple de configuració del client

Instal·lem els paquets del client
apt-get install smbclient
apt-get install cifs-utils


Creem la carpeta que volem muntar
sudo mkdir /Muntatge_per_SAMBA
sudo chmod 777 /Muntatge_per_SAMBA


I la muntem sobre el recurs compartit a l'ordinador amb ip: [192.168.1.3] i amb recurs compartit [Recurs_SAMBA]
Muntatge normal
sudo mount -t cifs //192.168.1.3/Recurs_SAMBA /Muntatge_per_SAMBA
Muntatge amb contrasenya
sudo mount -t cifs //192.168.1.3/Recurs_SAMBA -o username=usuari,password=pass /Muntatge_per_SAMBA
Muntatge permanent (/etc/fstab)
//192.168.1.3/Recurs_SAMBA /Muntatge_per_SAMBA cifs defaults 0 0
Muntatge permanent amb contrasenya (/etc/fstab)
//192.168.1.3/Recurs_SAMBA /Muntatge_per_SAMBA cifs user=usuari,password=pass 0 0

Utilització Remota d'Ordinadors

SSH

El servei de SSH permet que un ordinador amb un Sistema Operatiu Multiusuari pugui ser utilitzat per més d'un usuari alhora.
Linux és un Sistema Operatiu Multiusuari.

Per instal·lar el servei de SSH en un ordinador:

sudo apt-get update
sudo apt-get install ssh

Per accedir com a client amb entorn de texte a un ordinador amb el servidor SSH

ssh nom_usuari@IP_Servidor_SSH

Per accedir com a client amb entorn gràfic a un ordinador amb el servidor SSH

ssh -X nom_usuari@IP_Servidor_SSH
Quan ens connectem des d'un client a un servidor SSH
Utilitzem el hardware del servidor SSH (processador, memòria, disc, xarxa...)
Utilitzem un usuari local del servidor SSH
Utilitzem els programes i arxius del servidor SSH
L'ordinador client només serveix per connectar-nos per xarxa al servidor SSH.
Això vol dir que podem utilitzar com a client un ordinador senzill que només necessita tenir un Sistema Operatiu i un client SSH.

VNC

El VNC és un programa informàtic per compartir l'escriptori gràfic entre ordinadors.

El linux porta incorporat un servidor de VNC.

Per configurar-lo hem d'executar el programa Compartició d'Escriptori:
Per activar-lo hem de marcar:
Permet que altres usuaris visualitzin el meu escriptori.
Hem de Marcar/Desmarcar l'opció:
Permet que altres usuaris controlin el meu escriptori
Podem posar-li una contrasenya de seguretat


Per accedir com a client:

Obrim el programa Client d'Escriptori Remot Remina
Escollim l'opció:VNC - Ordinador en Xarxa Virtual
Posem la IP del servidor VNC al que ens volem connectar.
En cas d'haver-hi contrassenya de VNC ens apareixerà una finestra per introduirla.
Finalment, entrarem a la mateixa sessió d'usuari que està oberta en l'ordinador Servidor.

Repositoris en Ubuntu

La llista de repositoris actius en el nostre sistema es troba a l'arxiu sources.list
/etc/apt/sources.list
Si volem afegir un repositori Hem de fer els següents passos
Afegim la línia amb el repositori a l'arxiu sources.list.
Executem la clau pública d'aquest repositori (de vegades no cal fer aquest pas)
Actualitzem la llista del programari
Exemple: Volem afegir el repositori GETDEB
sudo nano /etc/apt/sources.list
Afegim la línia: deb http://archive.getdeb.net/ubuntu wily-getdeb games
wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
sudo apt-get update

Gestió gràfica de paquets: Synaptic

El programa synaptic ens permet gestionar gràficament la instal·lació de programes i l'actualització de repositoris.
Per Instal·lar-lo:
sudo apt-get update
sudo apt-get install synaptic

Emular programes Windows

Necessitem tenir instal·lat el programa wine.
Aquest emulador crea un entorn virtual semblant al que hi ha en un sistema Windows
Baixem el fitxer amb l'instal·lador del programa en Windows.
Dins el wine
Agafem l'opció "Esborrar programes en Windows"
A la part de dalt hi trobarem una opció: Instal·lar Programa.
Escollim el fitxer amb l'instal·lador del programa en Windows.
A partir d'ara ja comença una instal·lació en un entorn "virtual" igual al windows
Per executar el programa
Anem al menu del wine -> Carpeta Programes -> nom del programa.