Vous êtes sur la page 1sur 25

PRIMEROS PASOS EN LINUX

Nota: Los comandos directorios pueden variar ligeramente de unas distribuciones a


otras. Los especificados en este documento son vlidos para distribuciones tipo RedHat o
Fedora.

Al arrancar un ordenador con el sistema operativo Linux existen dos


posibilidades para el entorno de trabajo:

Un entorno de trabajo consistente en un terminal en modo texto con


lnea de comandos. Este modo de trabajo, el ms habitual hace no
demasiado tiempo, est siendo reemplazado por el entorno grfico.

Un entorno de trabajo grfico basado en ventanas, denominado


XWindow, similar al que se puede encontrar en los sistemas
operativos Windows. Fedora incluye Gnome como entorno por
defecto al ser instalado, aunque se pueden instalar otros.

En cualquier caso, lo primero que hay que hacer para trabajar en el


ordenador es introducir un nombre de usuario y una contrasea vlidos en
el sistema.
La instalacin por defecto de Fedora 12 no permite el login directo con la
cuenta de administracin (root), por lo que habr que entrar con un usuario
del sistema (lo cual es una buena prctica). Cuando queramos acceder al
modo administrador para insertar comandos, utilizaremos el comando su en
una ventana de terminal, y nos pedir la correspondiente contrasea. Si
estamos utilizando el entorno grfico para la administracin, y se necesitan
permisos de root, el sistema nos pedir tambin la contrasea.
Para acceder a una ventana de comandos, deberemos ir al men
"Aplicaciones -> Herramientas del sistema -> Terminal":

Como resumen, en Fedora 12 entraremos con un usuario del sistema, que


habremos dado de alta durante la instalacin, al entorno de ventanas.
Luego, para insertar comandos, utilizaremos una ventana de comandos
"terminal", pasando a super usuario (comando su, cuenta root) si es
necesario.
La shell de comandos
En el modo terminal, o dentro de una ventana de comandos, se podrn
introducir comandos que sern procesados lnea a lnea por el intrprete de
comandos. Al intrprete de comandos se le denomina shell e incluye
tambin la ventana donde se introducen esos comandos.
Pero la shell no slo es un intrprete de comandos, es intrprete de un
lenguaje especial (shell script) para administracin y uso del sistema
operativo y mediante el cual se construyen los archivos de configuracin
que se utilizan para configurar el funcionamiento del equipo en el arranque
(por ejemplo, ver el archivo /etc/profile).
Existen

varias

shell

diferentes,

provenientes

de

los

diferentes

desarrolladores existentes en un principio. Algunas de las ms conocidas


son: Korn Shell (ksh), Bourne-Shell (sh) C-Shell (csh). La ms usada en
Linux es la Bourne-Again-Shell (bash). Adems, existen otras shell
especiales para ejecutar comandos en un ordenador remoto, como la
Remote-Shell (rsh) o para establecer una conexin segura con un

ordenador remoto Secure-Shell (ssh). Cada usuario puede utilizar una shell
diferente, muchas veces es cuestin de gustos. Cuando se crea una cuenta
de usuario nueva se puede indicar qu shell utilizar dicho usuario (tambin
se puede configurar ms tarde).
Todos los comandos del sistema operativo Linux distinguen el uso de
maysculas y minsculas, por lo que habr que tener cuidado en cmo se
escriben las instrucciones.
Terminales virtuales
El funcionamiento habitual de los primeros sistemas UNIX era tener un
servidor central al que se conectaban de forma remota diferentes
terminales tontos que consistan en un monitor y un teclado. Todos los
usuarios

ejecutaban

sus

programas

sobre

ese

servidor

principal

guardaban sus datos all. Linux permite emular este funcionamiento


mediante los denominados terminales virtuales. Estos terminales se
denominan en Linux tty<x>, donde <x> es el nmero del terminal (siendo
0 para el primero que se abre).
Para cambiar de un terminal a otro basta con pulsar la tecla Alt y una de las
teclas de funcin (Alt+F1 para el primer terminal, Alt+F2 para el segundo y
as sucesivamente). De esa forma pasaremos a otro terminal, donde
tendremos que realizar la operacin de inicio de sesin en el sistema
(introducir el usuario y la contrasea).
Uno de los principales usos de los terminales virtuales es la posibilidad de
solucionar problemas que se hayan producido en el terminal principal y que
puedan haber hecho colgarse a algn programa. Abriendo sesin en otro
terminal permitir averiguar qu proceso est causando problemas y tomar
las medidas pertinentes (por ejemplo eliminar ese proceso para poder
desbloquear el sistema en el primer terminal).

Los procesos
Al igual que UNIX (y que los ltimos sistemas operativos de Microsoft),
Linux es un sistema operativo multiproceso, lo cual quiere decir que varios
procesos pueden estar ejecutndose de forma concurrente (a la vez) en el
procesador. La concurrencia y el multiproceso real se producir slo si hay
ms de un procesador en el sistema. Cuando slo hay un procesador hay
concurrencia virtual, que consiste en que el procesador divide el tiempo
de procesamiento entre los diferentes procesos activos en el ordenador. De
cualquier modo, se puede decir que todos los procesos existentes en el
ordenador estn ejecutndose de forma concurrente.
Un proceso es la unidad mnima en la que se puede dividir un programa o
aplicacin. Un proceso tiene una identificacin en el sistema, una zona de
memoria para sus datos, etc. La identificacin de los procesos en el sistema
Linux se realiza mediante el cdigo de identificacin de procesos PID. Este
cdigo es muy importante para poder solucionar los problemas que puedan
surgir por el mal funcionamiento de los procesos o simplemente para poder
averiguar en cierto momento qu procesos se estn ejecutando en el
ordenador. Para consultar los procesos que se estn ejecutando en el
ordenador se debe utilizar la instruccin ps:
ps -aux
(las opciones indicadas significan que se listen los procesos de cualquier
usuario -opcin -a-, que se listen los procesos que no estn controlados
por ninguna terminal -opcin -x- y que se indique el usuario y la hora de
inicio del proceso -opcin -u-)
Este comando dar como resultado un listado de los procesos que se estn
ejecutando en el sistema y, entre otros, nos dar el nmero de
identificacin del proceso o PID. De este modo, si el proceso est causando
algn tipo de problema, se le puede dar la orden de terminar mediante el
comando kill:

kill -9 numeroPID
El parmetro -9 indica al comando kill que se enve al proceso con PID
numeroPID la orden de terminar.
Tanto el comando ps como kill tienen muchas opciones. El sistema
operativo Linux, al igual que UNIX, contiene una extensa ayuda para
averiguar el funcionamiento y las diferentes opciones que se pueden utilizar
con los diferentes comandos. A esta ayuda se la denomina pginas de
manual pginas man y se accede a ella mediante el comando man:
man nombreComando
El comando man produce como resultado una serie de pginas por las que
se puede avanzar utilizando la barra espaciadora y las teclas de avance y
retroceso de pgina. Para salir del visionado de la ayuda, pulsar la letra q.

ARCHIVOS Y DIRECTORIOS
Despus de arrancar el sistema y efectuar el inicio de sesin, el usuario
obtendr un prompt para introducir comandos en el intrprete. El sistema
colocar al usuario en su directorio personal nada ms iniciar la sesin. Los
directorios personales estn en el directorio /home/nombredeusuario,
donde nombredeusuario es el nombre de la cuenta de usuario. En el caso
del administrador del sistema (usuario root) el directorio personal es /root.
En cualquier momento se puede consultar la posicin actual dentro del
sistema de directorios mediante el comando:
pwd
El movimiento de un directorio a otro se realiza mediante el comando:
cd ruta

La ruta puede ser absoluta si comienza con el directorio raz (/):


cd /home/pepe
o relativa:
cd pepe
Para moverse un directorio hacia arriba se utiliza la instruccin:
cd ..
(hay que poner el espacio entre cd y ..)
El directorio actual se representa mediante un punto ., mientras que el
directorio superior al actual se representa mediante dos puntos ...
Para cambiar a un directorio, no necesitamos escribir todo su nombre, basta
con algunas letras y pulsar tabulador, el sistema nos pondr el resto.
Para crear un nuevo directorio se utiliza la instruccin:
mkdir nombredirectorio
Para listar el contenido de un directorio se utiliza la instruccin:
ls
Si se quiere un listado ms detallado, donde se incluyan los permisos y se
vean los archivos ocultos (aquellos cuyo nombre comienza por un punto .)
se deben indicar las opciones:
ls la

Para eliminar un directorio se utiliza el comando:


rmdir nombredirectorio
Para ver un archivo de texto se pueden utilizar varios comandos. Para ver el
contenido solamente se puede utilizar:
cat nombrefichero
Para ver el contenido del fichero con pausa en cada pantalla:
more nombrefichero
Por supuesto, si lo que se quiere es ver el contenido y editarlo, es mejor
utilizar un editor como gedit, tecleando esta palabra como un comando
ms.
Para copiar un fichero a otra ubicacin:
cp ficheroorigen ficherodestino
Para copiar un directorio con todo su contenido se utiliza el mismo comando
con la opcin -s
Para mover un fichero (tambin un directorio) a otro lugar:
mv origen destino
En la lnea de comandos se pueden utilizar diversos tipos de comodines. Los
ms utilizados son:
*

cualquier cadena de caracteres

cualquier caracter (slo uno)

[lista de

cualquier conjunto de caracteres de

caracteres]

los indicados entre corchetes

Por ejemplo, para listar los archivos que contienen los caracteres ftp
dentro del nombre en el directorio actual se hara:
ls *ftp*
MONTAR Y DESMONTAR DISPOSITIVOS
Para acceder a los datos de las diferentes particiones de los discos y a los
dispositivos de almacenamiento que no son los directorios del sistema Linux
(como el CD-ROM, el disquette, disco USB, etc) es necesario montar todas
estas particiones y dispositivos en la estructura de directorios del sistema.
Adems del montaje de las particiones del sistema, el uso ms frecuente del
montado de dispositivos es para el caso de acceder al CD-ROM y al
disquete. Los dispositivos que pueden montarse aparecen en el directorio
/dev.

NOTA: Todo lo que se ver a continuacin se refiere al montado manual de dispositivos.


Hace un tiempo, esto era necesario hacerlo para el acceder al CD-ROM, DVD, disquete,
discos USB. Hoy en da estos dispositivos se detectan y se montan de forma automtica en
el arranque o al insertarlos (como en el caso de la memoria USB) por lo que las
indicaciones que vienen a continuacin se incluyen prcticamente por completar la
informacin y porque el concepto de "montado" se ver en el tema de comparticin de
archivos (NFS - Network File System).

La orden para montar un dispositivo es mount:


mount /dev/hdd /mnt/cdrom
En este ejemplo se monta el dispositivo CD-ROM (representado por el
archivo/dev/hdd) en el punto de montaje (directorio) /mnt/cdrom (este
punto de montaje debe existir previamente). En este caso el CD-ROM est
representado como hdd, pero esto puede variar dependiendo de en qu
interfaz est el CD-ROM y de si est configurado como maestro o esclavo.

Para evitar saber a qu nombre de dispositivo corresponde el CD-ROM,


Linux al arrancar lo detecta y crea un enlace simblico (se vern
posteriormente) llamado /dev/cdrom de forma que la instruccin para
montar un CD-ROM ser siempre:
mount /dev/cdrom /mnt/cdrom
independientemente de que el CD-ROM est en hdb, hdd, hdc, etc.
Se ha omitido la opcin -t, que indica qu tipo de dispositivo se trata, por lo
que el sistema lo trata y lo detecta automticamente. Si no se detectase
automticamente, habra que poner el tipo de archivos de forma explcita.
Una vez accedido al dispositivo se debe desmontar (para sacar el cd-rom o
el disquete). Para desmontar se utiliza la opcin umount, indicando bien el
punto de montaje o bien el dispositivo.
umount /mnt/cdrom
Para realizar la operacin de desmontaje de un dispositivo hay que estar
fuera de l, es decir, fuera de /mnt/cdrom en el caso del ejemplo ya que, si
no, aparecer un mensaje de dispositivo utilizndose y no se efectuar la
operacin.
Actualemente no se suele hacer todo el proceso de montado de forma
manual, sino que se trata de automatizar esta tarea. Para hacer esto
existen dos posibilidades:

El archivo /etc/fstab

El programa autofs

El archivo fstab guarda las correspondencias entre el sistema a montar y el


punto de montaje de forma que para montar un sistema de los que
aparezcan dentro de este archivo no haga falta especificar la instruccin
mount completa, sino slo indicar el punto de montaje, por ejemplo.

Un ejemplo de algunas lneas de un archivo fstab sera:


/dev/hda9 / ext2 defaults 1 1
/dev/hda7 /boot ext2 defaults 1 2
/dev/hda8 swap swap defaults 0 0
/dev/hda1 /mnt/win_c vfat user,exec,umask=0 0 0
/dev/hda5 /mnt/win_d vfat user,exec,umask=0 0 0
/dev/hda6 /mnt/win_e vfat user,exec,umask=0 0 0
/dev/hdd /mnt/cdrom auto nouser,owner,noauto,nosuid,exec,nodev,ro 0 0
/dev/fd0 /mnt/floppy auto sync,nouser,owner,noauto,nosuid,nodev 0 0

En este ejemplo se montan las particiones del disco en los diferentes puntos
de montaje del sistema (/, /boot y espacio swap en este caso). Se montan
tambin tres particiones correspondientes a sistemas windows (montadas
en /mnt/win_c, /mnt/win_d y /mnt/win_e, respectivamente). Todos estos
puntos de montaje se montan en el arranque del sistema, por lo que una
vez arrancado, los datos existentes en las particiones windows estarn
accesibles para el usuario.
Todas las particiones a las que se quiera tener acceso debern aparecer en
el archivo fstab y de esa forma estarn accesibles desde el arranque del
ordenador. Si se hiciese una nueva particin en un disco existente o se
instalase un nuevo disco con nuevas particiones hara falta indicar el/los
punto/s de montaje al que corresponden cada una de las particiones para
poder acceder a los datos.
Tambin se especifican en este ejemplo los montajes para el CD-ROM y el
disquete. Con este archivo fstab, para montar el CD-ROM rom slo habra
que indicar el comando:
mount /mnt/cdrom

10

y todas las dems opciones se cogeran del archivo fstab. Si no se


encuentra el punto de montaje especificado en el comando mount se
devolvera un mensaje de error.
Montaje automtico con automount
La otra forma de realizar el montaje y desmontaje automtico es la
utilizazin del programa automount, que funciona junto al demonio autofs,
que ser necesario arrancar mediante la instruccin:
service autofs start
El programa automount permite montar los dispositivos de forma dinmica
y automtica, sin tener que invocar el comando como en el caso visto
anteriormente. Esta utilidad tiene varios ficheros de configuracin en el
directorio /etc. El fichero de configuracin principal es auto.master. En este
archivo se especifican los puntos de montaje principales, los archivos que
contienen las especificaciones para cada punto de montaje, etc.
Un ejemplo de archivo auto.master sera:
/mnt

/etc/auto.varios

--timeout=3

En esta lnea se especifica que los montajes en el directorio /mnt sern los
indicados en el archivo /etc/auto.varios (que recibe el nombre de map
file). Adems mediante la opcin timeout=3 se especifica que si el
dispositivo montado no presenta actividad durante tres segundos se
desmontar de forma automtica, evitando que el sistema reserve recursos
de forma contnua para ese montaje.
El contenido del archivo auto.varios podra ser:

cdrom -fstype=iso9660 :/dev/hdd

11

floppy -fstype=auto :/dev/fd0


Estas dos lneas especifican los subdirectorios cdrom y floppy dentro del
directorio especificado en el archivo auto.master, por lo que los dos puntos
de montaje definidos son /mnt/cdrom y /mnt/floppy. La opcin fstype
indica el tipo de archivos que contendrn esos puntos de montaje y
finalmente se especifican los dispositivos que van a montarse (/dev/hdd
para el CD-ROM y /dev/fd0 para el disquete, aunque podra haberse usado
tambin /dev/cdrom para el CD-ROM como se vio antes).
USUARIOS, GRUPOS Y PERMISOS
Usuarios y grupos
Toda la seguridad para el acceso a los recursos del sistema en Linux est
implementada en la forma de permisos de acceso asignados a los usuarios y
los grupos.
Los usuarios pueden ser tanto personas como usuarios lgicos (cuentas
asociadas con determinados programas o aplicaciones, como la cuenta
apache, asociada al servidor web Apache Web Server). Todos los usuarios
tienen un nmero identificativo denominado UID (User ID).
Los grupos son entidades que agrupan usuarios. Se utilizan para poder
asignar ciertos permisos sobre directorios o archivos de forma simultnea
para varios usuarios. Todos los usuarios a los que se quiera dar acceso a un
directorio determinado pasarn a formar parte de un grupo y ser a ese
grupo al que se le den los permisos de acceso. Para ganar en flexibilidad, un
mismo usuario puede pertenecer a ms de un grupo, aunque siempre
existir un grupo principal para cada usuario.
Permisos de los ficheros y directorios
Todos los ficheros y directorios en Linux tienen una serie de especificaciones
de permisos para tres entidades diferentes:

12

Permisos para el usuario propietario del fichero o directorio.

Permisos para el grupo propietario del fichero o directorio.

Permisos para el resto de usuarios.

A su vez, cada uno de estos permisos se dividen en:

Permisos de lectura.

Permisos de escritura.

Permisos de ejecucin.

En un listado con el comando ls la, se puden ver los permisos


mencionados, organizados como puede verse en el siguiente ejemplo:
-rwxr-xr-- 1 pepe gest 1470 abr 15 12:05 informe.antiguo.txt
^^^^^^^^^^ ^ ^
^
^
^
^ ^ ^ ^
|||||||||| | |
|
|
|
| | | |__nombre del fich.
|||||||||| | |
|
|
|
| | |
|||||||||| | |
|
|
|
| | |__minutos : Fecha y
|||||||||| | |
|
|
|
| |_____hora
: hora de la
|||||||||| | |
|
|
|
|____da del ms : ltima
|||||||||| | |
|
|
|________ms
: modificacin
|||||||||| | |
|
|
|||||||||| | |
|
|___________ Tamao en bytes
|||||||||| | |
|
|||||||||| | |
|_______nombre del grupo
|||||||||| | |____________nombre del propietario del fichero
|||||||||| |
|||||||||| |_______________nmero de enlaces rgidos (hard links)
||||||||||
||||||||||__________________ permiso de ejecucin para : El resto de
|||||||||___________________ permiso de escritura para : usuarios
||||||||____________________ permiso de lectura para
:
|||||||
|||||||_____________________ permiso de ejecucin para : Un usuario
||||||______________________ permiso de escritura para : pertene|||||_______________________ permiso de lectura para
: ciente al
||||
: grupo gest
||||
||||________________________ permiso de ejecucin para : El usuario
|||_________________________ permiso de escritura para : propieta||__________________________ permiso de lectura para
: rio (pepe)
|
|____________________________tipo de fichero
- Fichero regular (fichero normal)
d Directorio
l Enlace simblico

Los permisos de los ficheros aparecen en la primera columna del listado y


se especifican mediante tres letras que significan:

r, permiso de lectura.

w, permiso de escritura.

x, permiso de ejecucin.

13

Si aparece la letra correspondiente, el permiso se concede. Si aparece el


smbolo - en el lugar de la letra, el permiso no se concede.
Se definen permisos para el propietario del fichero, para los usuarios que
pertenecen al mismo grupo que el grupo propietario del fichero y para el
resto de usuarios. en total habr 9 smbolos especificando los permisos para
un fichero. Se usa un dcimo smbolo, colocado en primer lugar que
especifica si el archivo es un directorio (letra d) o no (smbolo -).
En el ejemplo mostrado, el usuario propietario del fichero es el usuario
pepe, que tiene permisos de lectura, escritura y ejecucin sobre el mismo.
El grupo propietario del fichero es gest y todos los usuarios que
pertenezcan a ese grupo tienen permiso para leer y ejecutar el fichero, pero
no para modificarlo. Por ltimo, el resto de usuarios del sistema slo tienen
permiso de lectura sobre el fichero.
Antes del nombre del archivo, se puede ver el del propietario del mismo, y
el grupo (pepe y gest respectivamente en el ejemplo)
En cualquier momento se pueden cambiar los permisos de los ficheros y
directorios. Para esto se utiliza el comando:
chmod

mascaradepermisos ficheros

La mscara de permisos indica cmo se cambiarn los permisos para el


fichero. Habitualmente se especifican tres nmeros correspondientes a los
permisos del usuario propietario, grupo propietario y resto de usuarios. El
nmero se forma pasando a decimal el nmero binario que resulta de poner
un cero all donde se deniegue un permiso y un 1 all donde se conceda.
Por ejemplo para llegar al nivel de permisos visto en el ejemplo:
-rwxr-xr-- 1 pepe gest 1470 abr 15 12:05 informe.antiguo.txt
Se tendra que indicar:

14

rwx r-x r-- = 111 101 100 = 754


La instruccin ser por lo tanto:
chmod 754 informe.antiguo.txt
En el caso de los directorios, los permisos r, w y x tienen un sentido
diferente al del caso de los archivos. El permiso de ejecucin (x) significa en
un directorio que el usuario o grupo al que se le da el permiso puede entrar
en ese directorio. El permiso de lectura (r) significa que ese usuario puede
acceder al contenido de ese directorio, es decir, puede hacer un comando ls
sobre ese directorio. El permiso de escritura (w) significa que el usuario que
lo posea puede crear archivos nuevos dentro de ese directorio.
Tambin es posible cambiar el usuario propietario del archivo o el grupo
propietario del archivo, para hacer eso habr que teclear:
chown nuevopropietario archivo
chgrp nuevogrupopropietario archivo

Administracin de usuarios y grupos


Existen diferentes comandos para la administracin de usuarios y grupos. A
continuacin se ven los ms importantes.
Administracin de usuarios
Para crear un nuevo usuario se utiliza la instruccin:
adduser nombreusuario
(el comando useradd es equivalente a adduser)

15

Para establecer o cambiar la contrasea de un usuario se utiliza el


comando:
passwd nombreusuario
El sistema pedir entonces la contrasea nueva, debiendo introducirla dos
veces para asegurar que se ha escrito lo pretendido. En el caso de que la
contrasea no se halla escrito de forma correcta o en el caso de que sea
demasiado sencilla, se dar un mensaje de advertencia. En el caso de que
sea el administrador el que est introduciendo la contrasea, se permitir
cualquier valor en la misma, mientras que a un usuario normal no se le
permitir poner una contrasea que no sea segura (un usuario normal slo
puede cambiar su propia contrasea).
Cuando se crea un usuario nuevo suceden varias cosas de forma
automtica. La primera de ellas es que el usuario es asignado a un grupo.
En el sistema operativo UNIX (y en el funcionamiento estndar de Linux) el
grupo por defecto asignado inicialmente al usuario es user, pero Red Hat
tiene un comportamiento diferente para mejorar la seguridad. En el caso de
Red Hat, al crear un usuario se crea de forma automtica un grupo con el
mismo nombre del usuario en el que el nico constituyente es ese mismo
usuario. Para que se siga el estndar UNIX y no se use esta caracterstica
de Red Hat se debe indicar la opcin n en el comando de creacin del
usuario:
useradd -n nombreusuario
Los usuarios del sistema se pueden ver en el archivo /etc/passwd, donde
cada lnea corresponde a la informacin correspondiente a un usuario
diferente:
nombreusuario:x:IDusuario:IDgrupo:directoriousuario:shellausar

16

nombreusuario es el nombre de usuario que se ha dado al crear al usuario.


Despus vendra la contrasea pero en su lugar aparece una x indicando
que las contraseas se encuentran encriptadas y protegidas en el archivo
/etc/shadow. Seguidamente viene el identificador de usuario y despus el
identificador de grupo principal al que pertenece el usuario.
directoriousuario es el directorio en el que el usuario tendr sus datos
particulares. Este directorio se crea de forma automtica al crear el usuario.
Todos los directorios de usuario se crean como subdirectorios del directorio
/home y adems se crean con el propio nombre del usuario si no se indica
lo contrario. Por ejemplo, si el usuario se llama pepe, el directorio particular
sera /home/pepe.
Por ltimo aparece el nombre de la shell que ser la que el usuario utilizar
por defecto. Si no se indica nada, ser la Bourne Again SHell (bash).
Un ejemplo de lnea del archivo /etc/passwd sera:
pepe:x:403:512:/home/pepe:/bin/bash
Para modificar los datos de un usuario se utilizar la instruccin:
usermod <opciones> nombreusuario
Las opciones sern las caractersticas que se quieran cambiar. Entre otras,
se pueden indicar las siguientes:

-d directorioinicial Esta opcin sirve para cambiar el directorio de


usuario.

-g grupoinicial Esta opcin sirve para cambiar el grupo primario o


principal al que pertenece el usuario (users si se usa el estilo UNIX y
un grupo con el mismo nombre del usuario si se usa el estilo Red
Hat)

-G grupo1,grupo2,grupo3 Esta opcin sirve para indicar otros


grupos a los que tambin pertenece el usuario. Se pueden indicar

17

varios grupos separados por comas. Si el usuario ya perteneca a un


grupo y no aparece en esta lista al modificarlo, se le eliminar de ese
grupo.

-l login Esta opcin sirve para cambiar el nombre del usuario.

-p password Esta opcin sirve para cambiar la contrasea del


usuario, pero habr que indicar la contrasea ya encriptada, por lo
que el comando passwd es mucho ms cmodo.

-s shell Esta opcin sirve para cambiar la shell de comandos con la


que trabajar el usuario por defecto.

Para eliminar un usuario la instruccin ser:


userdel nombreusuario
Administracin de grupos
Los grupos existentes en el sistema se pueden ver en el archivo /etc/group.
En ese archivo, adems del nombre del grupo y su identificador se puede
ver el nombre de los usuarios que forman parte del mismo.
Para aadir un grupo nuevo se utiliza el comando:
groupadd nombregrupo
Para modificar un grupo se utiliza el comando groupmod y para eliminar
un grupo:
groupdel nombregrupo
Para aadir un usuario a un grupo se puede hacer mediante la opcin G
vista para el comando usermod o tambin (mejor) mediante la instruccin:
gpasswd -a nombreusuario nombregrupo
Igualmente, para quitar a un usuario de un grupo se har:

18

gpasswd -d nombreusuario nombregrupo


Toda la estrategia de seguridad de directorios y archivos debe realizarse con
el uso de los usuarios y grupos y los permisos de acceso segn se ha
indicado anteriormente.
TIPOS ESPECIALES DE ARCHIVOS
Enlaces
Los enlaces son un tipo de archivo especial, son archivos virtuales. En
realidad no es ms que un nombre que hace referencia a un archivo real
localizado en algn otro lugar (es algo parecido a un acceso directo en
Windows). Para crear un enlace simblico se utiliza la instruccin:
ln s ficheroreal ficherovirtual
Para ver a qu fichero real apunta un enlace simblico se usa la opcin l
del comando ls:
ls l
El resultado de este comando es el nombre del enlace y una flecha que
apunta al archivo real. Los enlaces simblicos se utilizan para varios
cometidos. Por ejemplo, de una versin a otra de Linux o de una
distribucin a otra se cambian los lugares (directorios) en los que se
guardan los diferentes archivos de configuracin. Para que los usuarios que
estn acostumbrados a encontrar esos archivos en determinado sitio no se
vean desorientados se suelen crear enlaces simblicos en todos los sitios en
los que es normal encontrar el fichero.
Otro uso de los enlaces simblicos es el caso de los directorios de arranque
de servicios. En unos ciertos directorios se deben poner los archivos de los
servicios que se quiere arrancar cuando el sistema arranca. Los ficheros

19

verdaderos de los servicios se encuentran centralizados en un directorio


nico, por lo que si se quiere hacer como si estuvieran en otro directorio o
directorios distintos habr que hacer tambin enlaces simblicos. Por
ejemplo, ver el directorio /etc/rc.d/rc5.d.
Archivos ocultos
Si no se quiere que un archivo aparezca en un listado de directorio
efectuado con la instruccin ls su nombre debe comenzar por un punto ..
Si se quieren ver todos los archivos, incluyendo los ocultos se utilizar el
comando:
ls la
REDIRECCIONAMIENTO
Casi todos los comandos que se utilizan en un terminal recogen los datos
del teclado y sacan el resultado por la pantalla. Linux permite sustituir tanto
la entrada como la salida de datos por otros elementos, como puede ser un
archivo. Seguidamente se ven los principales redireccionamientos que se
pueden conseguir.
Redireccionamiento >
Este redireccionamiento toma los flujos de datos que van hacia la salida
estndar (que normalmente es el monitor) y las enva a un archivo. Por
ejemplo, para guardar el listado de un directorio en un archivo se hara:
ls > listado.txt
Redireccionamiento >>
Este redireccionamiento es igual que el anterior con la salvedad de que si el
archivo ya existe, los datos se anexan a continuacin del lugar donde
termina el archivo actual.

20

Redireccionamiento <
Este tipo de redireccionamiento permite enviar a un programa datos
provenientes de un archivo y no del teclado (dispositivo de entrada por
defecto). Por ejemplo, la instruccin:
sendmail pepe@hotmail.com < correo.txt
enviar un correo electrnico a la direccin indicada. El mensaje de ese
correo ser el contenido del archivo llamado correo.txt.

Redireccionamiento |
El carcter | se obtiene pulsando la tecla AltGr y la tecla del nmero 1 en el
teclado alfanumrico.
Este redireccionamiento sirve para dirigir la salida de un programa o
comando a la entrada de otro. Por ejemplo, si se quiere ver el contenido de
un archivo pero ste ocupa ms de una pantalla se puede hacer que el la
salida del comando cat, que sirve para ver un archivo, sea la entrada para
el comando more, que permite hacer pausas para poder visualizar un flujo
de texto pantalla a pantalla:
cat /etc/passwd | more
Un uso muy comn es para paginar el resultado de una orden ls:
ls la|more
o tambin para paginar el resultado de una consulta de los procesos activos
en el sistema:
ps aux|more

21

o tambin para encontrar, dentro de ese listado, un cierto proceso que sea
de inters:
ps aux|grep httpd
En este ltimo caso, el comando grep busca cadenas de caracteres dentro
de un flujo de texto. En el ejemplo se busca la cadena httpd (que
correspondera al nombre del servidor web) dentro del flujo de texto
generado por la instruccin ps.
TRABAJO CON ARCHIVOS (VISIONADO, CREACIN, EDICIN)
Existen diferentes herramientas y comandos para trabajar con archivos en
Linux. Ya se ha visto el comando cat, que saca por pantalla el contenido de
un determinado archivo.
cat nombrearchivo
Otra utilidad es more, que permite ver el contenido de un archivo de forma
paginada. more slo permite pasar hacia delante en el archivo, utilizando la
barra espaciadora para ir pasando pgina a pgina. Para salir antes de
acabar de ver el archivo se debe pulsar la letra q. El uso de more es
simple:
more

nombrearchivo

La utilidad less es un poco ms potente que more, permite recorrer el


archivo avanzando o retrocediendo, utilizando para ello las teclas de avance
y retroceso de pgina respectivamente. Para salir del programa se usar la
letra q, al igual que en el caso anterior.
less nombrearchivo

22

Las utilidades vistas anteriormente sirven para ver el contenido de un


archivo pero no para crearlo ni editar uno existente. Para hacer esto existe
un editor de textos muy bsico que incluyen todas las distribuciones de
Linux. Su nombre es vi y se invoca as desde lnea de comandos:
vi nombrearchivo
Si el archivo no existe se crea uno nuevo y si existe, se muestra su
contenido. Para poder escribir en un archivo nuevo o modificar uno
existente se debe activar el modo insertar pulsando para ello la letra a.
Una vez pulsada esta tecla se puede mover el cursor por el archivo
utilizando las teclas del cursor del teclado. Para borrar caracteres se utilizan
las teclas suprimir y backspace. Una vez editado el archivo, si se quiere salir
guardando los cambios realizados se pulsar la secuencia de teclas:
Escape :x
Si se quiere salir sin grabar los cambios se har:
Escape :q!
Si se quiere salir y no se haba editado el contenido del archivo bastar con
hacer:
Escape :q
La tecla escape se utiliza para salir del modo edicin al de introduccin de
comandos. Los comandos se introducen pulsando dos puntos y luego uno o
ms caracteres.
A pesar de su extendido uso, el editor vi es demasiado engorroso teniendo
en cuenta las opciones que nos proporcionan los actuales entornos grficos.
Para la edicin de archivos de texto se recomienda e uso de gedit, al que
se puede acceder tecleando en una ventana de comandos esta misma
palabra.

23

OTROS COMANDOS TILES


El comando touch crea un fichero nuevo (vaco) si no exista antes o
cambia su fecha si ya exista.
El comando find se utiliza para buscar ficheros en el rbol de directorios del
sistema. En el siguiente ejemplo se buscan archivos cuyo nombre empiece
por hol dentro del directorio /home/pepe. En algunos sistemas Linux es
necesario indicar la opcin print para que los resultados de la bsqueda
salgan por pantalla:
find /home/pepe -name hol* -print
El comando which busca en $PATH el comando especificado y devuelve la
ruta completa al lugar donde est ese comando. Por ejemplo:
which ls
Es til tambin para localizar dnde se encuentran instalados ciertos
servidores (demonios):
which httpd
En

este

ejemplo,

estaramos

localizando

la

situacin

del

demonio

correspondiente al servidor web Apache.


El comando tree ofrece una vista en forma de rbol de los directorios del
sistema. Se puede indicar a partir de qu directorio se quiere empezar:
tree /directorio/base
El comando who muestra todos los usuarios que tienen actualmente una
sesin abierta y muestra en qu terminal est activa la sesin

24

El comando finger permite obtener informacin ampliada sobre un


determinado usuario del sistema. Este comando es peligroso en algunos
entornos porque permite obtener informacin de si una cuenta existe o no y
de algunos datos de la misma.
Variables de entorno PATH
La variable de entorno PATH sirve para introducir rutas a ciertos directorios
del sistema de forma que se puedan usar comandos o libreras situadas en
esos directorios sin tener que especificar la ruta completa en la que est ese
archivo. Para ver el contenido de esta variable se puede utilizar el comando
echo:
echo $PATH
Si se quiere aadir una ruta nueva (por ejemplo /home/pepe/juegos) a la
variable PATH habr que introducir el comando:
PATH=$PATH:/home/pepe/juegos
export PATH
Este nuevo valor de la variable de entorno PATH slo permanecer as
durante

la

sesin

actual.

Si

se

quiere

conservar

este

valor

permanentemente habr que aadir la nueva ruta en un archivo que guarde


el valor de la variable. Este archivo existe para cada usuario y se llama
.bashrc (el punto indica que es un archivo oculto). Normalmente el archivo
se encuentra en el directorio /home/nombreusuario en /root para el
administrador del sistema.

25

Vous aimerez peut-être aussi