gnu/linux – electiva libre i universidad de córdobanetworkingsignora.pbworks.com/f/documento...
TRANSCRIPT
-
GNU/Linux Electiva Libre I
Universidad de CrdobaDepartamento de Ingeniera de Sistemas y Telecomunicaciones
-
ndice de contenido
1. Conceptos generales del Sistema Operativo GNU/Linux............................................31.1 Generalidades de GNU/Linux y el software libre........................................................3
1.2 Historia del Sistema Operativo GNU/Linux ................................................................6
1.3 Conceptos previos de software libre...........................................................................8
2. Comandos bsicos utilizados en el sistema GNU/Linux...........................................102.1 Listado de comandos mas utilizados........................................................................10
2.2 Como ingresar a la consola en GNU/Linux...............................................................13
2.3 Ejemplos de ejecucin de algunos comandos bsicos.............................................13
2.4 Manejo de archivos y directorios...............................................................................15
2.4.1 Estructura del sistema de archivos....................................................................15
2.4.2 Modos de acceso a un fichero en GNU/Linux...................................................17
2.4.3 Comandos para el manejo de archivos y directorios.........................................18
2.4.4 Herramienta grfica Nautilus (GNU/Linux Ubuntu 9.04)....................................28
3. Administracin de usuarios y grupos.........................................................................333.1 El superusuario o root................................................................................................33
3.2 Adquirir permisos de superusuario ..........................................................................34
3.3 Tipos de usuarios en GNU/Linux...............................................................................34
3.4 Ficheros importantes en la creacin de usuarios y grupos.......................................35
3.5 Comandos para mantenimiento de usuarios.............................................................38
3.6 Comandos para mantenimiento de grupos...............................................................42
3.7 Herramienta grfica para crear usuarios y grupos....................................................44
Bibliografa.........................................................................................................................46
-
Introduccin
Este modulo de Electiva Libre I (GNU/Linux Bsico), esta destinado para los estudiantes
novatos en el uso del sistema operativo GNU/Linux. Esto con el propsito de que tengan
una gua o manual de referencia que les permita comenzar a dar sus primeros pasos en la
utilizacin del nuevo sistema.
El desarrollo de este modulo esta conformado por tres unidades que incluyen temas
bsicos para los usuarios inexpertos en el mundo de GNU/Linux y el software libe. En la
unidad uno encontramos los conceptos generales del Sistema Operativo, en la unidad dos
se estudiaran los comandos bsicos utilizados en el sistema y en la unidad tres
realizaremos algunas labores administrativas, como es la administracin de usuarios y
grupos.
La primera unidad del modulo expone generalidades sobre el sistema, como son algunos
hechos y personajes importantes en su desarrollo. Tambin se explica una pequea
resea histrica sobre el sistema y algunos conceptos bsicos para empezar a utilizarlo.
En la segunda unidad se presentan algunos comandos bsicos necesarios para empezar
a utilizar el sistema, se estudia la sintaxis de uso, as como su ejecucin en la consola del
sistema. En esta unidad se hace nfasis en el manejo de comandos para manipular
ficheros.
La ltima unidad presenta algunos conceptos y tcnicas relacionadas con la
administracin del sistema. Primeramente se estudian las caractersticas del usuario
administrador del sistema (root), los tipos de usuarios, Para finalmente gestionar la
creacin de usuarios y grupos.
-
1. Conceptos generales del Sistema Operativo GNU/Linux
Objetivos
Tener una visin general de algunos antecedentes, personajes y hechos que
relacionan al sistema operativo GNU/Linux con la comunidad del software libre.
Distinguir las principales caractersticas, herramientas de software y distribuciones
GNU/Linux de la actualidad.
Conocer la historia y los hechos que anteceden el desarrollo de las primeras
versiones del kernel de Linux, ncleo del sistema operativo GNU/Linux.
Estudiar y distinguir los principales conceptos, utilizados en el mundo del software
libres, necesarios para comenzar a estudiar el sistema operativo GNU/Linux.
1.1 Generalidades de GNU/Linux y el software libre
El sistema operativo GNU/Linux en todas sus distribuciones esta sumamente ligado a una
filosofa propuesta por la FSF1 (Free Software Foundation), la cual promueve la libre
distribucin y uso del software.
Toda esta filosofa del software libre nace a mediados de la dcada de los 80's, gracias al
seor Richard Stallman2, quien es uno de los fundadores de la Free Software Foundation,
organizacin creada en Octubre de 1985. Richard Stallman tambien es uno de los
propulsores iniciales del proyecto GNU acrnimo en ingles que significa GNU's Not Unix.
Una de las ideas principales que propuso el proyecto GNU3 en sus inicios, fue la creacin
de un sistema operativo libre de usar, con aplicaciones de usuario tambin libres para que
corrieran sobre el sistema operativo. La idea era utilizar un licenciamiento GPL4 (GNU
Public License) que protegira la libre distribucin, modificacin y uso del software
1 http://es.wikipedia.org/wiki/Free_Software_Foundation http://www.fsf.org/ 2 http://es.wikipedia.org/wiki/Richard_Stallman 3 http://www.gnu.org/ http://es.wikipedia.org/wiki/GNU 4 http://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNU
http://es.wikipedia.org/wiki/Free_Software_Foundationhttp://es.wikipedia.org/wiki/Licencia_p?blica_general_de_GNUhttp://es.wikipedia.org/wiki/GNUhttp://www.gnu.org/http://es.wikipedia.org/wiki/Richard_Stallmanhttp://www.fsf.org/
-
desarrollado por el proyecto GNU.
En la actualidad el producto de software mas popular, relacionado con la filosofa
expuesta anteriormente, es el sistema operativo GNU/Linux. El nombre completo del
sistema operativo es GNU/Linux, porque fue una integracin entre las herramientas de
software desarrolladas por el proyecto GNU y el kernel desarrollado por Linus Torvalds.
En la actualidad es tanta la popularidad del sistema, que muchas personas utilizan el
termino generalizado Linux, para referirse a todo el sistema operativo.
Gracias a la licencia GPL, bajo la cual fue publicado el kernel de Linux y las herramientas
de software del proyecto GNU, as como otros desarrollos de software libre, muchas
empresas e instituciones crearon distribuciones basadas en el sistema operativo
GNU/Linux, a las cuales agregaron algunas caractersticas propias de la distribucin.
GNU/Linux hoy en da en la mayora de sus distribuciones, maneja el concepto o filosofa
del software libre, en donde solo se cobra por los medios fsicos de instalacin, manuales
y soporte tcnico del sistema. Adems proporciona a sus usuarios aplicaciones grficas,
gracias a sus entornos de escritorio Gnome y KDE5 que facilitan el uso del sistema
operativo de una forma amigable para los usuarios novatos.
Dentro de las aplicaciones mas comunes en las distribuciones GNU/Linux encontramos:
El navegador WEB Mozilla
La herramienta de oficina OpenOffice
Los manejadores de bases de datos MySQL y PostgreSQL
Los editores de texto: Emacs, gedit, entre otros
El servidor Web Apache
GNU/Linux es un sistema operativo que cuenta con mucha popularidad en el mundo de la
programacin y la configuracin de servidores, por ser un sistema operativo robusto,
estable y seguro, que puede ser modificado por cualquier programador.
5 http://www.gnome.org/ http://www.kde.org/
http://www.kde.org/http://www.gnome.org/
-
Las caractersticas de GNU/Linux son similares a las del sistema operativo Unix, esto se
debe a que GNU/Linux es un sistema basado en Unix. Esto se debe a que cumple con el
estndar POSIX, el cual define la interfaz de los sistemas operativos basados en Unix.
Entere las caractersticas principales del sistema encontramos:
Es un sistema operativo multiusuario y multitarea.
Los ficheros del sistema tienen su propia proteccin o permisos de acceso.
La interfaz con el usuario, es por medio de un lenguaje de control programable
llamado Shell.
Esta escrito en el lenguaje de programacin C y emplea gestin de memoria por
intercambio (swap).
A continuacin se destacan algunas de las distribuciones6 GNU/Linux importantes y
populares que existen en el mercado, ya que son muchas las empresas que se dedican a
desarrollar distribuciones con caractersticas propias en todo el mundo:
Redhat
SuSE
Ubuntu
Fedora
Debian
Mandriva
Gentoo
6 http://www.ubuntu.com/ http://www.redhat.com/ http://es.opensuse.org/Bienvenidos_a_openSUSE.org http://fedoraproject.org/es/ http://www.debian.org/ http://www2.mandriva.com/ http://www.gentoo.org/
http://www.gentoo.org/http://www2.mandriva.com/http://www.debian.org/http://fedoraproject.org/es/http://es.opensuse.org/Bienvenidos_a_openSUSE.orghttp://www.redhat.com/http://www.ubuntu.com/
-
1.2 Historia del Sistema Operativo GNU/Linux
Para hablar de la historia y evolucin de el sistema operativo GNU/Linux tenemos que
remontarnos inicialmente al sistemas operativo UNIX, el cual comenz como un proyecto
de investigacin de los laboratorios BELL de AT&T7 en el ao 1969. El grupo de
investigadores estaba integrado por Ken Thompson, Dennis Ritchi, Douglas Mcllroy, entre
otros miembros de los laboratorios Bell.
AT&T y laboratorios BELL, se dieron cuenta de que UNIX se estaba convirtiendo en un
producto comercializable, es as como el sistema sale de estas empresas y comienza a
utilizarse primeramente en las universidades (Illinois, Harvard y Berkeley) en proyectos
investigativos.
Principalmente en la universidad de Berkeley, fue donde se dieron los desarrollos mas
importantes fuera de los laboratorios Bell, entre ellos se destacan los avances en gestin
de memoria y la implementacin del protocolo de red TCP/IP, que permitiera interconectar
computadoras en redes de rea local.
Posteriormente el manejo del licenciamiento por parte de AT&T, hizo que otras empresas
adquirieran la propiedad intelectual sobre el kernel de Unix, desarrollando versiones con
modificaciones y caractersticas propias de los fabricantes, dando origen a una familia de
sistemas operativos basados en Unix8 como: AIX de la empresa IBM, SCO de Santa Cruz
Operation, BSD de la Universidad de Berkeley, Solaris de Sun Microsystems, entre otros
sistemas basados en Unix.
El manejo del licenciamiento genero una problemtica con la propiedad intelectual del
cdigo de Unix por parte de AT&T, por esta razn el investigador en sistemas operativos
Andrew Tannenbaum9, desarrollo en el ao 1987 un sistema operativo gratuito basado en
Unix, que pudiera utilizarse en las universidades a nivel investigativo. Tannenbaum
escribi el cdigo del sistema Minix como una copia del sistema operativo Unix , por esto
7 SILBERSCHATZ, Abraham; GALVIN, Peter Baer. Sistemas Operativos Quinta edicin. Editorial PEARSON. Mxico 1999. 912 paginas.
8 http://es.wikipedia.org/wiki/Unix 9 http://es.wikipedia.org/wiki/Andrew_S._Tanenbaum
http://es.wikipedia.org/wiki/Andrew_S._Tanenbaumhttp://es.wikipedia.org/wiki/Unix
-
el kernel de Minix tenia todas las caractersticas del sistema Unix.
El sistema operativo Minix10 era distribuido libremente con el cdigo fuente para correr
inicialmente en procesadores Intel. Por esta razn el estudiante Linus Torvalds, de la
universidad de Helsinki en Finlandia, comenz a escribir en 1991 el cdigo del kernel de
Linux basndose en el ncleo de Minix.
Linus Torvalds ingreso a la universidad en el ao de 1988, y luego de aprender a
programar en lenguaje C, este empez a desarrollar el ncleo del sistema Linux para que
pudiera correr sobre maquinas Intel 80386. En mayo de 1991 se lanza la primera versin
(0.01) del sistema, con un soporte bsico para los dispositivos y recursos del sistema.
En octubre de 1991 el sistema tambin ejecutaba el interprete de comandos bash (Bourne
Again Shell) , esta es la shell por defecto de los sistema GNU/Linux.
En el ao 1994 se lanza la versin 1.0 de Linux, esta mejoro el sistema de ficheros,
implemento soporte para redes con el protocolo TCP/IP, as como soporte para un mayor
numero de dispositivos hardware como tarjetas de red y sonido.
El ncleo de Linux se hizo popular en el mundo de las redes y la programacin por ser un
sistema distribuido libremente en Internet bajo la licencia publica general del proyecto
GNU (GPL), esto permiti que muchos programadores del mundo descargaran el kernel,
lo modificaran y aportaran en el desarrollo de las nuevas versiones del kernel haciendo
mejoras del mismo.
Como Linux era un software que poda descargarse, modificarse y usarse libremente
segn los trminos de la licencia GPL, surgieron algunos proyectos (Debian y Red Hat),
que utilizaron las diferentes versiones del kernel de Linux y las aplicaciones desarrolladas
por el proyecto GNU para crear un sistema operativo o distribucin propia.
10 http://es.wikipedia.org/wiki/Minix
http://es.wikipedia.org/wiki/Minix
-
En la actualidad existen diferentes versiones del kernel11 de Linux que pueden ser
descargadas libremente desde la pagina oficial del proyecto, y distribuciones GNU/Linux
que se descargan desde los sitios WEB oficiales para ser usadas.
1.3 Conceptos previos de software libre
Software Libre: Es una filosofa de libertad aplicada al desarrollo y distribucin de
software, que permite adaptar los programas a las necesidades del usuario, con la
oportunidad de redistribuirlo sin necesidad de pagar por hacerlo. Las cuatro libertades12
del software permiten utilizar el programa con cualquier propsito (Libertad 0), estudiar el
cdigo y el funcionamiento del programa para adaptarlo a las necesidades del usuario
(Libertad 1), distribuir las copias (libertad 2), mejorar un programa y publicar las mejoras
(libertad 3).
Open Source 13 : Este trmino se utilizo para remplazar la ambigedad que exista con el
concepto Free software, debido a que esta palabra tena varios significados en idioma
ingles. Open Source es una comunidad que fue liderada en sus inicios por Bruce Perens y
Eric Raymond, una de las finalidades de este movimiento es permitir acceder al cdigo
fuente de un programa y poder modificarlo, pero al momento de redistribuirlo se puede
utilizar una licencia conveniente para el desarrollador del programa.
Qu es GNU 14 ?: Es un acrnimo recursivo en ingles que significa GNU No es Unix. El
proyecto GNU fue iniciado por Richard Stallman a mediados de la dcada del 80 y
buscaba la creacin de un sistema operativo gratuito, con aplicaciones de usuario libres
para que corrieran sobre el sistema operativo.
Licencia GPL 15 (GNU Public License): Es una licencia de software que garantiza las 4
libertades del software descritas por la FSF y adems especifica que todo programa
distribuido bajo esta licencia es software libre.
11http://www.kernel.org/
12 http://www.gnu.org/philosophy/free-sw.es.html 13 http://es.wikipedia.org/wiki/C%C3%B3digo_abierto 14 http://es.wikipedia.org/wiki/GNU 15 http://es.wikipedia.org/wiki/GNU_General_Public_License http://www.fsf.org/licensing/licenses/gpl.html
http://www.fsf.org/licensing/licenses/gpl.htmlhttp://es.wikipedia.org/wiki/GNU_General_Public_Licensehttp://es.wikipedia.org/wiki/GNUhttp://es.wikipedia.org/wiki/C?digo_abiertohttp://www.gnu.org/philosophy/free-sw.es.htmlhttp://www.kernel.org/
-
Free Software Foundation 16 : Fundada por Richard Stallman en 1985, para recaudar
fondos, prestar apoyo logstico, tcnico y legal al software desarrollado en el proyecto
GNU.
GNU/Linux: Es un sistema operativo de propsito general, que integra las aplicaciones
libres desarrolladas por el proyecto GNU, con el kernel creado por Linus Torvalds.
Pginas man: Las pginas del manual en las distribuciones GNU/Linux, son los manuales
o la documentacin que acompaa a cada una de las aplicaciones o comandos del
sistema.
16 http://es.wikipedia.org/wiki/Free_Software_Foundation
http://es.wikipedia.org/wiki/Free_Software_Foundation
-
2. Comandos bsicos utilizados en el sistema GNU/Linux
Objetivos
Estudiar la sintaxis y el uso de algunos de los comandos bsicos utilizados por el
sistema GNU/Linux.
Utilizar la consola del sistema para ejecutar algunos comandos bsicos utilizados
por el sistema GNU/Linux.
Conocer la estructura bsica del sistema de archivos de GNU/Linux y estudiar la
sintaxis de uso de los comandos utilizados para el manejo de archivos.
2.1 Listado de comandos mas utilizados
En el siguiente listado encontraremos los comandos17 mas utilizados en el sistema
operativo GNU/Linux:
cat , este comando nos permite visualizar la informacin que
contiene un fichero plano.
cd , este comando nos permite cambiar de un directorio a otro, accede al
directorio que se especifique despus del comando.
chmod , cambia los permisos de acceso al fichero,
teniendo en cuneta los tres grupos de permisos establecidos para el fichero.
clear, este comando limpia el texto de la pantalla o el contenido de la consola.
17 http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155 http://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/ http://www.webtutoriales.com/tutoriales/linux/comandos-linux.23.html VIAS, Roger Baig; LLINAS, Francesc. Sistema Operativo GNU/Linux bsico. Primera edicin. UOC.
Espaa 2003. 261 paginas.
http://www.webtutoriales.com/tutoriales/linux/comandos-linux.23.htmlhttp://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155
-
cp , este comando permite copiar el fichero
nombrado en el parmetro de origen, en otro lugar del disco definido por el parmetro de
destino.
find , realiza la bsqueda de un fichero con base a opciones pasadas
como parmetro.
date, esta orden imprime en pantalla la fecha y la hora actual.
ps, informa cuales son los procesos que se estn ejecutando en el sistema.
kill , este comando elimina el proceso pasado como parmetro. Este comando
es til cuando queremos matar procesos que se inician al momento de arrancar el
sistema.
df (Disk free), informa sobre el espacio disponible en el sistema de archivos.
du (Disk Usage), indica cuanto ocupa de espacio un directorio con todos los ficheros que
contiene dentro.
file , la orden file permite establecer de que tipo es el fichero, pasado como
parmetro.
head , este comando muestra las primeras lneas de un
fichero plano, el parmetro -n permite determinar el nmero de lneas que se quieren
mostrar.
tail , este comando visualiza el final de las lneas de un
fichero plano, esta orden funciona de manera contraria a head.
-
last, la orden last nos muestra informacin a cerca de los ltimos usuarios que han
accedido en el sistema.
passwd , este comando permite cambiar o asignar la contrasea de
acceso al sistema. Este comando es de gran utilidad en GNU/Linux porque es
recomendable para un usuario cambiar peridicamente la contrasea de acceso al
sistema.
ls , lista los ficheros y directorios que se encuentran en el
directorio donde estemos trabajando o el pasado como parmetro. Este listado se filtra y
se visualiza, con base a los atributos pasados como parmetro.
man , edita un manual de ayuda completo, del comando o programa pasado
como parmetro.
mkdir , crea un directorio en el sistema de archivos, con el nombre especificado
como parmetro despus del comando.
more , Este comando edita el contenido de un fichero plano igual que el
comando cat, pero esta orden tiene mayor utilidad cuando el contenido del fichero es muy
extenso y para mostrar su contenido se requiere mas de una pantalla.
mv , se utiliza para cambiar el nombre del primer fichero por el
segundo. Tambin se puede emplear para mover un fichero a un directorio especifico.
pwd, informa cual es el directorio o ruta en la que se encuentra trabajando el usuario.
rm , borra el fichero pasado como parmetro despus del comando,
esta orden pude ir acompaada de algn atributo.
-
rmdir , borra un directorio pasado como parmetro, pero teniendo en cuenta
que el directorio este vaco, es decir que no tenga ficheros en su interior.
who, muestra un listado con la informacin de los usuarios que estn utilizando el
sistema.
2.2 Como ingresar a la consola en GNU/Linux
En la actualidad existen dos entornos de escritorio muy utilizados por las distribuciones
GNU/Linux, estos son Gnome y KDE. En KDE la aplicacin se llama Konsole y en Gnome
se llama gnome-terminal.
Como ingresar a la consola de GNU/Linux Ubuntu:
Para ingresa a la aplicacin gnome-terminal en Ubuntu 9.04 es muy sencillo, simplemente
se va al men Aplicaciones --- Accesorios --- Terminal.
2.3 Ejemplos de ejecucin de algunos comandos bsicos
catpedro@ubuntupedro:~$ cat nomFichero******** Probando el comando cat ********
Contenido del Fichero...Contenido del Fichero...Contenido del Fichero...pedro@ubuntupedro:~$
datepedro@ubuntupedro:~$ datemi ago 9 12:21:32 COT 2006pedro@ubuntupedro:~$
-
pspedro@ubuntupedro:~$ ps PID TTY TIME CMD 7838 pts/0 00:00:00 bash 10396 pts/0 00:00:00 pspedro@ubuntupedro:~$
killpedro@ubuntupedro:~$ ps PID TTY TIME CMD 7838 pts/0 00:00:00 bash 7836 pts/0 00:00:00 gnome-terminal 10396 pts/0 00:00:00 pspedro@ubuntupedro:~$ kill -9 7836pedro@ubuntupedro:~$ ps PID TTY TIME CMD 7838 pts/0 00:00:00 bash 10396 pts/0 00:00:00 pspedro@ubuntupedro:~$
dfpedro@ubuntupedro:~$ dfS.ficheros Bloques de 1K Usado Dispon Uso% Montado en/dev/hda5 19251772 1451036 16822784 8% /tmpfs 453328 0 453328 0% /dev/shm/dev 19251772 1451036 16822784 8% /.devnone 5120 2824 2296 56% /devpedro@ubuntupedro:~$
dupedro@ubuntupedro:~$ du -sk12140 .pedro@ubuntupedro:~$
filepedro@ubuntupedro:~$ file pedro.sxwpedro.sxw: Zip archive data, at least v2.0 to extractpedro@ubuntupedro:~$
pedro@ubuntupedro:~$ file pantallasospantallasos: directorypedro@ubuntupedro:~$
pedro@ubuntupedro:~$ file listalista: ASCII textpedro@ubuntupedro:~$
headpedro@ubuntupedro:~$ head -3 dia#Dias de la semanaecho ""if [ $# -lt 1 ]; thenpedro@ubuntupedro:~$
-
tailpedro@ubuntupedro:~$ tail -3 dia exit 1 ;;esacpedro@ubuntupedro:~$
lastpedro@ubuntupedro:~$ lastpedro pts/0 :0.0 Wed Aug 9 12:14 still logged inpedro :0 Wed Aug 9 12:12 still logged inreboot system boot 2.6.10-5-386 Wed Aug 9 12:12 (00:39)root pts/0 :0.0 Tue Aug 8 06:05 - down (00:00)pedro :0 Tue Aug 8 06:02 - down (00:03)reboot system boot 2.6.10-5-386 Tue Aug 8 06:02 (00:03)root pts/0 :0.0 Sun Aug 6 06:40 - down (00:00)pedro pts/0 :0.0 Sun Aug 6 06:32 - 06:32 (00:00)pedro :0 Sun Aug 6 06:31 - down (00:09)reboot system boot 2.6.10-5-386 Sun Aug 6 06:30 (00:09)root pts/0 :0.0 Sun Aug 6 06:26 - down (00:00)root pts/1 :0.0 Sun Aug 6 06:22 - 06:22 (00:00)pedro pts/0 :0.0 Sun Aug 6 06:19 - 06:24 (00:05)pedro :0 Sun Aug 6 06:15 - down (00:10)reboot system boot 2.6.10-5-386 Sun Aug 6 06:14 (00:11)root pts/0 :0.0 Wed Aug 2 13:08 - down (00:00)pedro pts/0 :0.0 Wed Aug 2 13:05 - 13:08 (00:02)pedro :0 Wed Aug 2 13:02 - down (00:06)reboot system boot 2.6.10-5-386 Wed Aug 2 13:02 (00:06)reboot system boot 2.6.10-5-386 Wed Aug 2 04:29 (00:00)pedro :0 Wed Aug 2 04:27 - 04:28 (00:00)
wtmp begins Wed Aug 2 04:27:43 2006pedro@ubuntupedro:~$
passwdroot@ubuntupedro:/home/pedro # passwd locoEnter new UNIX password:Retype new UNIX password:Sorry, passwords do not matchpasswd: Authentication information cannot be recoveredroot@ubuntupedro:/home/pedro #
2.4 Manejo de archivos y directorios
2.4.1 Estructura del sistema de archivos
La estructura del sistema de archivos del sistema GNU/Linux es jerarqua, es decir tiene
una estructura en forma de rbol. El directorio raz del sistema de archivos es el root, este
se representa por el carcter /.
-
El carcter tambin es utilizado para separar los directorios al especificar una ruta. El
ejemplo de una ruta valida puede ser:
/home/pedro
/home/pedro/trabajos
/bin/cat
/etc/passwd
-
Como se muestra en las dos graficas anteriores, existen varios ficheros de tipo directorio
que conforma el sistema de archivos de GNU/Linux. Entre principales directorios de la
distribucin GNU/Linux Ubuntu encontramos:
bin: Dentro de este directorio encontramos los ficheros ejecutables o programas
bsicos que utilizan los usuarios normales para interactuar con el sistema.
boot: Dentro de este directorio se encuentran los archivos relacionados con el
arranque del sistema.
dev: En este directorio del sistema de archivos se encuentran los principales
ficheros relacionados con el hardware de la computadora.
etc: En este directorio estn los ficheros relacionados con la configuracin y
administracin del sistema.
home: Directorio donde se crean los directorios de trabajo de cada usuarios del
sistema para que estos guarden sus ficheros.
lib: Aqu encontramos las libreras del sistema.
media: Este directorio esta relacionado con el montaje de las unidades de disco
externas.
root: Este es directorio de trabajo del superusuario (root) del sistema GNU/Linux.
sbin: En este directorio se encuentran los comandos relacionados con la
administracin del sistema y solo pueden ser ejecutados nicamente por el
superusuario (root).
tmp: Este directorio se utiliza para almacenar archivos temporalmente, cuando el
sistema se reinicia, los ficheros se borran.
usr: En este directorio se almacenan los programas de usuario.
2.4.2 Modos de acceso a un fichero en GNU/Linux
Para determinar los permisos de acceso a un fichero supongamos que tenemos listado en formato largo el siguiente archivo:
drwxr-xr-x 1 pedro pedro 6194 2006-07-12 21:54 trabajos
Los caracteres subrayados corresponden a los modos o permisos de acceso al fichero.
-
El primer carcter (d) determina que el fichero es un directorio. El primer grupo de permisos (rwx) determina que el usuario creador del fichero,
tiene permisos de lectura (r) escritura (w) y ejecucin (x) sobre el fichero. Es decir
tiene todos los privilegios sobre el archivo.
El segundo grupo de permisos (r-x) determina que los usuarios pertenecientes al mismo grupo de trabajo del usuario propietario del fichero, tendrn permisos de
lectura y ejecucin sobre el archivo. Es decir solo podrn ves el contenido del
fichero pero no podrn modificarlo.
El tercer grupo de permisos (r-x) determina que cualquier otro usuario del sistema solo tiene permisos de lectura y ejecucin sobre el archivo. Es decir solo podrn
ver el contenido del fichero pero no podrn modificarlo.
2.4.3 Comandos para el manejo de archivos y directorios
Listado de informacin
El comando utilizado para listar el contenido del directorio en el que nos encontramos
trabajando o el directorio pasado como parmetro es ls, para filtrar la salida por pantalla de este comando podemos utilizar diferentes parmetros precedidos por el signo menos
(-). Entre las opciones ms importantes del comando ls encontramos:
-a: Muestra un listado con todos los archivos y directorios incluidos los ocultos.
-l: Muestra el listado de los archivos de un directorio con un formato largo, es decir
visualiza en pantalla toda la informacin del fichero, entre la que encontramos:
modos de acceso, nmero de enlaces, propietario, grupo, tamao en bytes, fecha
de la ltima creacin y nombre del fichero.
-R: Lista recursivamente todos los directorios y subdirectorios.
-t: Muestra el listado de archivos de un directorio segn la fecha de modificacin,
ordenando los ficheros que se han modificado recientemente primero.
d rwx r-x r-xTipo de archivo
Usuario Grupo Otros
-
pedro@ubuntupedro:~$ lsautomatix.htm ejmplos.doc pantallasosbuscar General pedro.sxw Desktop lista pruba1dia list saludopedro@ubuntupedro:~$
pedro@ubuntupedro:~$ ls -ltotal 468-rwx------ 1 pedro pedro 138800 2009-03-08 18:28 Automatix.htm
-rwxr-xr-x 1 pedro pedro 956 2009-06-15 04:20 buscardrwxr-xr-x 2 pedro pedro 4096 2009-08-06 06:36 Desktop-rwxr-xr-x 1 pedro pedro 691 2009-06-15 10:23 dia-rw-r-r-- 1 pedro pedro 21504 2009-08-10 03:26 ejemplos.docdrwxr-xr-x 34 pedro pedro 4096 1969-12-31 19:00 General-rw-r-r-- 1 pedro pedro 313 2009-06-15 04:44 lista-rwxr-xr-x 1 pedro pedro 655 2009-06-01 06:02 listardrwxr-xr-x 2 pedro pedro 4096 2009-08-06 06:36 pantallasos-rw-r-r-- 1 pedro pedro 5732 2009-01-16 12:54 pedro.odt-rwxr-xr-x 1 pedro pedro 99 2009-01-16 13:06 prueba1-rw-r-r-- 1 pedro pedro 389 2009-03-08 15:44 saludopedro@ubuntupedro:~$
La primera columna indica los modos o permisos de acceso al fichero, como se explico en
el apartado anterior el primer carcter determina el tipo de fichero y los otros nueve
caracteres, las ternas de permisos. La segunda columna o campo especifica al nmero de
enlaces que tiene el fichero dentro del sistema de archivos.
Las dos columnas siguientes definen el nombre del usuario propietario del fichero y el
grupo de trabajo al que pertenece este usuario. La quinta columna indica el tamao en
bytes del archivo, la prxima columna corresponden a la fecha y hora de la ultima
modificacin que se realizo sobre el fichero y por ultimo el nombre del fichero.
Creacin de directorios
Para crear directorios se utiliza el comando mkdir, la sintaxis para utilizar este comando es la siguiente:
mkdir
Debemos tener permisos de escritura (w) sobre el directorio en el que deseamos crear el
nuevo directorio.
-
Por ejemplo supongamos que estamos en el directorio de trabajo del usuario pedro:
pedro@ubuntupedro:~$ pwd/home/pedropedro@ubuntupedro:~$
Si quiero crear un directorio llamado estudiantes dentro de el directorio pedro entonces
escribo la siguiente orden:
pedro@ubuntupedro:~$ mkdir estudiantes
Para comprobar que se creo el nuevo directorio dgito el comando ls -l:
pedro@ubuntupedro:~$ ls -ltotal 468-rwx------ 1 pedro pedro 138800 2009-03-08 18:28 Automatix.htm
-rwxr-xr-x 1 pedro pedro 956 2009-06-15 04:20 buscardrwxr-xr-x 2 pedro pedro 4096 2009-08-06 06:36 Desktop-rwxr-xr-x 1 pedro pedro 691 2009-06-15 10:23 dia-rw-r-r-- 1 pedro pedro 21504 2009-08-10 03:26 ejemplos.docdrwxr-xr-x 1 pedro pedro 4096 2009-08-11 10:43 estudiantesdrwxr-xr-x 34 pedro pedro 4096 1969-12-31 19:00 General-rw-r-r-- 1 pedro pedro 313 2009-06-15 04:44 lista-rwxr-xr-x 1 pedro pedro 655 2009-06-01 06:02 listardrwxr-xr-x 2 pedro pedro 4096 2009-08-06 06:36 pantallasos-rw-r-r-- 1 pedro pedro 5732 2009-01-16 12:54 pedro.odt-rwxr-xr-x 1 pedro pedro 99 2009-01-16 13:06 prueba1-rw-r-r-- 1 pedro pedro 389 2009-03-08 15:44 saludopedro@ubuntupedro:~$
Si quiero guardar mis programas en una carpeta que se llame programas dentro del
directorio estudiantes, creo una carpeta que se llame programas dentro del directorio
estudiantes. Ejecuto los siguientes comandos:
pedro@ubuntupedro:~$ pwd/home/pedropedro@ubuntupedro:~$ cd estudiantespedro@ubuntupedro:~/estudiantes$ mkdir programaspedro@ubuntupedro:~/estudiantes$ lsprogramaspedro@ubuntupedro:~/estudiantes$
Miro en que directorio de trabajo me encuentro con el comando pwd, luego entro al
directorio estudiantes con el comando cd. Posteriormente creo el nuevo directorio
programas con el comando mkdir y finalmente ejecuto el comando ls para ver el nuevo
-
directorio dentro de estudiantes.
Movimiento entre directorios
Para desplazarnos por el sistema de ficheros en GNU/Linux y poder cambiarnos de un
directorio a otro se utiliza el comando cd. Al utilizar este comando se usa la siguiente sintaxis:
cd
Supongamos que tenemos la siguiente estructura jerrquica de archivos tal como se
muestra en la figura, en donde tenemos el directorio raz (/) al cual pertenece un directorio
llamado home, dentro del directorio home existe un subdirectorio llamado pedro o
cualquier otros directorio de trabajo. Dentro de pedro hay un subdirectorio llamado
pedrogs y en el interior de este estn los subdirectorios documentos, programas y talleres.
Recordemos que en el directorio /home, es donde se almacenan los directorios de trabajo
de los usuarios del sistema. En este caso /home/pedro, ser el directorio de trabajo del
usuario pedro.
$ cd documentos$ pwd/home/pedro/pedrogs/documentos$
Estamos en el directorio documentos, para irnos al directorio talleres tenemos que
retroceder al directorio pedrogs y luego desplazarnos al directorio talleres:
/home /pedro /pedrogs /documentos /programas
/talleres
-
Se debe tener en cuenta que el comando utilizado para desplazarnos al directorio
inmediatamente anterior al que nos encontramos es cd..
$ cd.. $ pwd/home/pedro/pedrogs$ cd talleres
De esta forma (cd..) nos devolvemos a pedrogs y luego nos vamos al directorio talleres.
En el caso de directorios absolutos, nos podemos mover dando la ruta completa del
directorio al que deseamos desplazarnos. Por ejemplo, para acceder dentro del directorio
talleres que se encuentra dentro del directorio pedrogs, debemos saber la ruta completa
para desplazarnos de manera directa (/home/pedro/pedrogs/talleres).
Si deseamos movernos a nuestro directorio de trabajo, podemos hacerlo dando la
trayectoria completa hacia el fichero:
$ cd /home/pedro
Existen varias maneras de regresarse al directorio de trabajo de un usuario. La primera es
usando una variable de entrono ($HOME) que tiene definido el directorio del usuario, y se
usa de la siguiente manera:
$ cd $HOME$ pwd/home/pedro$
La otra puede ser simplemente usando el comando cd sin pasarle ningn parmetro:
$ cd$ pwd/home/pedro$
-
Copiado de archivos
Para copiar archivos se utiliza el comando cp, este comando se ejecuta de la siguiente manera:
cp
El comando permite copiar el archivo especificado en el parmetro origen hacia el destino,
si el destino es un directorio podemos indicarle varios ficheros de origen, estos ficheros de
origen sern copiados en el directorio de destino.
Teniendo en cuenta la siguiente estructura jerrquica anterior, supongamos que estamos
en el directorio talleres y deseamos copiar un archivo llamado taller1, al directorio pedro:
$ pwd /home/pedro/pedrogs/talleres$ cp taller1 /home/pedro
Varios archivos tambin se pueden copiar al mismo tiempo a un directorio utilizando el
comodn *. Supongamos que estamos en el directorio pedro y queremos copiar todos los archivos que terminen en .sh, para almacenarlos en el directorio pedrogs.
$ cp *.sh /home/pedro/pedrogs
Para hacer la operacin anterior pero con todos los archivos que contengan los caracteres
ejemplo:
$ cp ejemplo* /home/pedro/pedrogs
/home /pedro /pedrogs /documentos /programas
/talleres
-
Para copiar de forma recursiva podemos utilizar el parmetro -r, este copia todos los ficheros y directorios contenidos en un directorio de origen, hasta un directorio de destino.
Si queremos copiar el contenido del directorio pedro, con todos los ficheros y
subdirectorios que cuelgan dentro de l, en el directorio pedrogs:
$pwd /home$ cp -r pedro /home/pedro/pedogs
Borrado de archivos y directorios
Para borrar archivos o directorios el sistema proporciona los comandos rm y rmdir, con rm podemos eliminar cualquier tipo de fichero en el sistema y rmdir permite borrar
directorios siempre que estos no contengan otro fichero dentro de el.
Entre los atributos que podemos pasar como parmetro al comando rm encontramos:
-r: Realiza un borrado recursivo, eliminando un directorio y los subdirectorios que
este contenga, de manera recursiva.
-i: Realiza una pregunta de confirmacin antes de borrar un fichero.
La sintaxis para ejecutar el comando es la siguiente:
rm
Para eliminar un directorio, este tiene que estar vaci y utilizamos la siguiente sintaxis:
rmdir -r
Con la siguiente orden le indicamos al shell bash que antes de borrar el archivo
ejemplos.doc nos pida confirmacin:
$ rm -i ejemplos.doc rm: remove 'ejemplos.doc'? y$
-
Con la accin anterior borramos un archivo, cuando este se encuentra en el mismo
directorio del fichero que se quiere borrar.
Tambin podemos eliminarlo dando la ruta absoluta de la ubicacin del mismo:
$ rm -i /home/pedro/ejemplos.docrm: remove 'ejemplos.doc'? y$
Supongamos que deseamos eliminar un directorio que no esta vaci, en este caso el
contenido del directorio que vamos a borrar es el de pedrogs.
$ ls -l total 2-rw-rw-rw- 1 pedro pedro 2124 2009-06-01 06:02 taller.txt-rw-rw-rw- 1 pedro pedro 4988 2009-06-15 04:44 prueba.txt$
ahora intentemos borrar el directorio pedrogs:
$ rmdir pedrogs/rmdir: pedrogs: Directory not empty$
No se puede borrar porque tiene dos archivos dentro de l, para borrarlo primero
debemos borrar los archivos contenidos en el directorio pedrogs, la siguiente instruccin
me permite borrar todos los archivos contenidos en el directorio:
$ rm pedrogs/*
Una vez borrados los archivos que cuelgan del directorio pedrogs, puedo borrar el
directorio sin ningn problema:
$ rmdir pedrogs
Para borrar el directorio pedrogs de una sola vez, lo puedo hacer de manera recursiva con
el comando:
-
$ rm -r pedrogs
Renombrado y traslado de archivos
Para cambiar el nombre de un archivo por otro o mover un fichero de un lugar a otro,
utilizamos el comando mv, este tambin permite mover varios archivos a otro directorio.
La sintaxis para ejecutar el comando puede ser la siguiente:
mv o mv
Si tenemos un archivo que se llama ejemplos y lo queremos renombrar por otro que se
llame trabajo basta con ejecutar el siguiente comando:
$ mv ejemplos trabajo
El ejemplo anterior funciona si los dos archivos estn en el mismo directorio.
Tambin puedo mover uno o varios ficheros a un directorio especifico en el sistema de
archivos. El siguiente ejemplo mueve el archivo lista al directorio pedrogs:
$ mv lista /home/pedro/pedrogs
Cambio de permisos, propietario y grupo
El comando chmod, permite cambiar los modos o permisos de acceso a un archivo o directorio, su sintaxis es la siguiente:
chmod +/-
Despus de escrito el comando se debe especificar a que usuario queremos modificarle
los permisos de acceso, las identidades de este parmetro pueden ser:
u (user): Especifica que se quieren modificar los permisos de acceso al usuario
-
propietario del fichero.
g (group): Especifica que se quieren modificar los permisos de acceso a los usuarios que pertenecen al mismo grupo de trabajo del propietario del fichero.
o (others): Especifica que se quieren modificar los permisos de acceso a los otros usuarios del sistema, Es decir a los usuarios que no pertenecen al grupo de trabajo
del propietario del fichero.
Luego de especificar la identidad del usuario, colocamos la operacin + o para aadir o eliminar un permiso, ya sea al usuario dueo del fichero, a los usuarios del grupo u otros
usuarios del sistema.
Los modos o permisos pueden ser cualquier combinacin de rwx:
r (read): Lectura
w (write): Escritura
x (exec): Ejecucin
Si el usuario pedro quiere que un archivo en particular, digamos que se llama carta1, no
sea ledo por nadie en el sistema salvo por l y por el usuario root tendra que usar:
$ ls -l-rw-rw-rw- 1 pedro usuarios 21504 2009-06-15 04:44 carta1$ chmod go-rw carta1
Al digitar nuevamente el comando ls -l, veremos que los nuevos permisos de acceso al
fichero son los siguientes:
$ ls -l-rw------- 1 pedro usuarios 21504 2009-06-15 04:44 carta1$
A continuacin en los permisos de acceso del fichero llamado programa1, se agregara el
permiso de escritura para los miembros del mismo grupo del usuario propietario del
fichero:
$ ls -l -rw-r--r-- 1 pedro usuarios 1563 2009-06-15 04:20 programa1$ chmod g+w programa1
-
$ ls -l-rw-rw-r-- 1 pedro usuarios 1563 2006-09-15 04:20 programa1$
Otro ejemplo cambiando permisos al ejemplo anterior seria:
$ chmod go-r,o+w programa1-rw--w--w- 1 pedro usuarios 1563 2009-06-15 04:20 programa1 $
2.4.4 Herramienta grfica Nautilus (GNU/Linux Ubuntu 9.04)
Para el manejo de archivos y directorios, el sistema operativo GNU/Linux Ubuntu nos
ofrece una poderosa herramienta para la gestin de archivos y carpetas, muy similar al
Explorador de Windows, llamada Nautilus.
Nautilus es un shell grfico para el entorno de escritorio Gnome, que facilita la administracin de sus archivos y el resto del sistema en general. Las siguientes figuras
nos describen el aspecto de la herramienta.
El procedimiento para acceder a la herramienta Nautilus de la distribucin GNU/Linux
Ubuntu, es la siguiente: Nos vamos al men Lugares, luego nos desplazamos al submen
Carpeta personal:
Lugares --- Carpeta personal
Lugares --- Equipo
-
Entre los principales elementos que encontramos en esta ventana estn:
Una Barra de Ttulos, que muestra el nombre del directorio en el que nos encontramos:
Una Barra de Mens que nos ayuda a realizar la operaciones sobre los archivos:
Una Barra de Herramientas estndar, que contiene los siguientes botones:
-
El Botn Adelante, para desplazarnos a la prxima pagina, el botn Subir y el botn Recargar, para actualizar cambios en el directorio, entre otros:
El Botn Inicial, el cual nos devuelve o nos posiciona en el directorio de trabajo que el usuario tiene por defecto, para almacenar la informacin. Tambin conocido
con el nombre de Home:
El Botn Equipo, que nos muestra las diferentes unidades del sistema y el sistema de archivos.
Posee una Barra de Direcciones, nos muestra la ruta donde estamos ubicados en el momento, y en la cual podemos escribir la ruta del directorio del sistema de
archivos, en el cual deseamos ubicarnos.
-
Otra forma de acceder a Nautilus es cuando estamos trabajando en la terminal, entonces
simplemente dimitamos el nombre de la herramienta, como si de un comando se tratara,
tal como vemos en el siguiente grfico:
Nautilus permite visualiza los archivo de tres formas, una es ver como iconos, ver como lista y lista compacta:
-
Si hacemos clic derecho sobre cualquier archivo se nos despliega un men de contexto,
parecido al de Explorador de Windows, con opciones como: Abrir con, Copiar el archivo,
Cortar el archivo, Crear un enlace, Renombrar..., Mover a la papelera, Enviar a..., Crear
archivador..., propiedades, con las cuales podremos hacer muchas operaciones sobre los archivos del sistemas:
-
3. Administracin de usuarios y grupos
Objetivos
Conocer quien es el usuario administrador de los sistemas GNU/Linux y cuales son
las labores administrativas bsicas, que este realiza dentro del sistema.
Estudiar la estructura de los ficheros /etc/passwd, /etc/group y /etc/shadow,
importantes para la creacin de usuarios y grupos en el sistema.
Conocer la sintaxis de los principales comandos utilizados para crear, eliminar y
modificar la informacin de usuarios y grupos del sistema.
Conocer alguna herramientas grficas que facilitan la creacin de usuarios y
grupos el los sistemas GNU/Linux.
3.1 El superusuario o root
En el sistema GNU/Linux existe un usuario que administra el sistema llamado root18 y tiene todos los privilegios de acceso, sobre los recursos del sistema para realizar
cualquier tipo de cambios o configuraciones. Entre las acciones que puede realizar el
superusuario root encontramos: Eliminar ficheros, matar procesos, configurar ficheros,
crear usuarios, instalar paquetes, etc.
En los sistemas GNU/Linux el root tiene un identificador de usuario que lo distingue de los dems usuarios, esta identificacin es el nmero 0 y se le asigna cuando se instalan la
mayora de distribuciones GNU/Linux.
Como se menciono el root tiene acceso a todos los recursos y adems cuenta con los
conocimientos tcnicos necesarios para realizar las labores administrativas pertinentes,
que proporcionen a los usuarios un entorno para trabajar de forma segura y estable.
18 http://es.wikipedia.org/wiki/Root
http://es.wikipedia.org/wiki/Root
-
3.2 Adquirir permisos de superusuario Una forma de entrar de manera sencilla al sistema como root, es ingresando por la opcin
single-user que ofrece el men de arranque GRUB de GNU/Linux.
Cuando estamos en una cuenta de usuario se pueden adquirir los permisos del usuario
root o de otro usuario normal del sistema, siempre que se conozca su contrasea. Para
este propsito utilizamos el comando su seguido del password.
$ suPassword: [ Escribimos el password de root ]#usuario@maquina $ su otro_usuarioPassword: [ Password de "otro_usuario" ]otro_usuario@maquina $
El sistema GNU/Linux Ubuntu posee un comando especial llamado sudo19 para realizar labores administrativas, se utiliza de la siguiente forma:
$ sudo Password: [ Password del usuario root ]
3.3 Tipos de usuarios en GNU/Linux
El sistemas operativos GNU/Linux encontramos tres tipos de usuarios con perfiles o roles
diferentes en cuanto al uso:
Usuarios normales: Son usuarios inexpertos o novatos en el uso del sistema, cuando son dados de alta en el sistema se les asigna un directorio de trabajo, una
shell (generalmente la bash) y no cuentan con privilegios para acceder a todos los
recursos del sistema.
Usuarios del Sistema: Son usuarios creados por el sistema cuando este se instala inicialmente para administrar algunos servicios que cargan automticamente
19 http://fabianperez.blogspot.com/2008/03/el-usuario-root-en-ubuntu-linux.html
http://fabianperez.blogspot.com/2008/03/el-usuario-root-en-ubuntu-linux.html
-
cuando arranca el sistema operativo. Estos usuarios en la mayora de
distribuciones tienen identificadores (UID), que estn entre el nmero 1 y 100.
root: Es el superusuario del sistema, tiene todos los privilegios sobre los recursos y se encarga de la administracin en los sistemas GNU/Linux.
3.4 Ficheros importantes en la creacin de usuarios y grupos
Cuando administramos un sistema GNU/Linux, podemos realizar diferentes tareas
administrativas, una de ellas es la creacin y eliminacin de usuarios en el sistema. La
gestin de usuarios es una actividad importante para todo administrador, debido a que
cualquier usuario que ingrese al sistema tiene que tener como mnimo su contrasea de
acceso, un directorio de trabajo y una shell.
El archivo que contiene informacin sobre cada cuenta de usuario del sistema esta en el
fichero plano /etc/passwd.
Las contraseas de acceso se almacenan de forma encriptada en el archivo /etc/shadow y la informacin de los grupos para los usuarios existentes en el sistema, se almacena en
el archivo /etc/group.
Analicemos la estructura de los diferentes ficheros, relacionados con la creacin y
eliminacin de usuarios o grupos en el sistema GNU/Linux20:
El fichero /etc/passwd: Es un fichero plano que contiene una base de datos con la
informacin de todas las cuentas de usuarios creadas en el sistema y su estructura
el la siguiente:
Nombre_de_Usuario:password(si usa shadow sera X):UID:GID:Comentario:home_del_usuario:shell
Cada campo esta separa do por el carcter : y la descripcin es la siguiente:
20 http://lubrin.org/dani/ch11.html
http://lubrin.org/dani/ch11.html
-
El primer campo corresponde al nombre con el que cada usuario ingresa al
sistema.
El segundo campo corresponde a la contrasea de cada usuario, en las
distribuciones actuales aparece la letra X, porque el sistema almacena el password
en el archivo /etc/shadow.
El tercer campo corresponde al identificador de usuario UID, este es un nmero es
nico que identifica al usuario en el sistema, el root tiene un UID igual a 0. En GNU/
Linux Ubuntu los usuarios normales se crean automticamente a partir del nmero
1000.
El cuarto campo es el identificador del grupo al que pertenece un usuario GID.
El quinto campo es un comentario opcional en donde se agrega algn tipo de
informacin adicional sobre el usuario que se crea.
El sexto campo corresponde a la ruta del directorio de trabajo que se le asigna al
usuario que se crea.
El sptimo campo especifica la shell que utilizara el usuario como interprete, por
defecto es los sistemas GNU/Linux es /bin/bash.
Ejemplo del fichero /etc/passwd en GNU/Linux Ubuntu:root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp:x:7:7:lp:/var/spool/lpd:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/sh
-
uucp:x:10:10:uucp:/var/spool/uucp:/bin/shpedro:x:1001:1001:pedro guevara,,,:/home/pedro:/bin/bashmami:x:1002:1002::/home/mami:/bin/bashhermano:x:1003:1003:JaimeAndres,,,:/home/hermano:/bin/bashloco:x:1004:1000:lalocura:/home/loco:/bin/bashhermanita:x:1005:1002:Diana Karina:/home/hermana:/bin/bashnasly:x:1006:1004:nasly sagado,,,:/home/nasly:/bin/bashjairito:x:1007:1007:JairoFadul,Monteria,300123456,:/home/jairito:/bin/basheliecer:x:1008:1005:Ciro Jimenez:/home/cheveres:/bin/sh
El fichero /etc/group: Es un fichero plano con una base de datos que contiene la
informacin de todos los grupos que se han creado en el sistema y tiene la
siguiente estructura:
Nombre_grupo:password:GID:Lista_de_usuarios
La descripcin de los campos es la siguiente:
El primer campo corresponde al nombre que se asigna a un grupo, en GNU/Linux
cada usuario debe pertenecer a un grupo principal y este generalmente tiene el
mismo nombre del usuario. Tambin se pueden crear varios grupos con nombres
diferentes para asociarlos a varios usuarios.
El segundo campo corresponde a la contrasea del grupo.
El tercer campo corresponde al nmero que identifica al grupo en el sistema GID,
este nmero por lo general es igual al nmero del UID de usuario, pero el
administrador del sistema puede asignara cualquier otro nmero al identificador de
grupo.
Finalmente despus del campo GID podemos agregar la lista de usuarios que
perteneces al grupo, cada usuario debe estar separado por el carcter coma (,).
-
Ejemplo del fichero /etc/group en GNU/Linux Ubuntu:
root:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:pedrotty:x:5:disk:x:6:lp:x:7:cupsysmail:x:8:news:x:9:uucp:x:10:pedro:x:1001:prueba:x:1002:hermanoloco:x:1000:hermano:x:1003:nasly:x:1004:jairito:x:1007:pedro,hermano,eliecercheveres:x:1005:
El archivo /etc/shadow: Este fichero plano almacena la informacin encriptada
sobre las contraseas de cada usuario creado en el sistema. Los sistemas
GNU/Linux utilizan este archivo como medida de seguridad para no guardar las
contraseas en el archivo /etc/passwd, ya que este puede ser visto por cualquier
usuario. El archivo tiene la siguiente estructura:
Usuario:password encriptado:das del ultimo cambio:das antes del cambio:das depuse del cambio:tiempo de aviso: das antes de la inhabilitacin:periodo que lleva caducado:reservado:
3.5 Comandos para mantenimiento de usuarios
Los siguientes comandos21 nos permiten crear, borrar y modificar las cuentas de los
usuarios del sistema, as como realizar algunas tareas de administracin:
adduser/usseradd: Para aadir usuarios al sistema, podemos utilizar uno de estos dos comandos. Crea automticamente un usuario en el sistema, asignndole el identificador
de usuario (UID), el identificador de grupo (GID), el directorio de trabajo y la shell que
utilizara el usuario. Para utilizar el comando useradd tenemos que asignar manualmente
varios parmetros.
21 http://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-usuario
http://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-usuario
-
passwd: Este comando permite asignarle la contrasea a un nuevo usuario, que se haya creado manualmente (comando useradd) en el sistema. Tambin sirve para que los
usuarios normales que ya estn creados, modifiquen peridicamente su contrasea.
userdel: Este comando se utiliza en la mayora de distribuciones GNU/Linux para eliminar usuarios del sistema, cuando se ejecuta se borra automticamente la lnea
correspondiente a la entrada del usuario en el archivo /etc/passwd. Adems si se utilaza
de manera recursiva tambin elimina el directorio de trabajo del usuario.
usermod: Este comando se utiliza para editar la informacin de una cuenta de usuario ya creada en el sistema y realizar cualquier tipo de modificaciones.
whoami: Este comando muestra el nombre de usuario que est usando sistema.
finger: Este comando informa sobre el usuario que este conectado en el sistema, tambin muestra la informacin de algn usuario que se pase como parmetro al ejecutar el
comando.
id: Con este comando vemos los identificadores del usuario (UID) y del grupo al que pertenece el usuario (GID).
Para crear usuarios con comandos debemos estar trabajando como usuario root o
tambin podemos estar como usuarios normales pero usando el comando sudo (Ubuntu), los comando mas usados para esta operacin son adduser y useradd.
Con el comando useradd creamos el usuario ingresando manualmente las opciones o parmetros que tendr el usuario, en el siguiente ejemplo veremos el modo de uso de
useradd.
-
Primero dgito el comando useradd para ver las diferentes opciones de como usar el comando, luego dgito el comando y utilizo las opciones necesarias para crear el usuario.
-g prueba indica que el usuario pertenecer al grupo prueba, este grupo debe existir en el sistema.
-d /home/javier determino cual ser el directorio de trabajo del nuevo usuario.
-s /bin/bash indico que el usuario javier utilizara la shell bash, esta es la interfaz usada por defecto en los sistema GNU/Linux y se encuentra en el directorio
/bin/bash.
-m -k /etc/skel estos dos parmetros se complementan, el -m crea el directorio de trabajo del nuevo usuario y -k copia el contenido del directorio /etc/skel al directorio
de trabajo creado como /home/javier.
La ltima opcin javier indica el nombre que tendr el nuevo usuario.
Una vez creado el usuario le asignamos una contrasea de usuario utilizando el comando
passwd seguido del nombre de usuario y se asigna una nueva contrasea para que el usuario de nombre javier ingrese al sistema.
Con el comando adduser el sistema me pide que ingrese la informacin correspondiente al usuario y el se encarga de asignarle un grupo, un directorio de trabajo, una shell y su
respectivo identificador de usuario en el sistema.
-
Posteriormente el sistema me pide que ingrese el password que se le asignara al nuevo
usuario, una vez ingresado este debe repetirse para ser confirmado.
Adems, se ingresa informacin adicional referente al usuario como: nombre completo,
telfono del trabajo, telfono de la casa, etc. Esta informacin ser opcional.
Finalmente el sistema pregunta si la informacin ingresada es correcta, si esto es as,
confirmamos digitando el carcter y, y el nuevo usuario quedara automticamente creado en el sistema.
Para eliminar un usuario del sistema utilizamos el comando userdel, esta funcin se usa de la siguiente forma, supongamos que se quiere borrar el usuario andres.
root@ubuntupedro:/home/pedro # userdel -r andres
Una vez eliminado el usuario del sistema revisamos el fichero /etc/passwd y vemos que la
entrada que exista referente a este usuario ya no existe.
-
A continuacin mostraremos el uso y la ejecucin de los comandos para gestin de
usuarios id, whoami y finger.
pedro@pedrogs:~$ whoamipedropedro@pedrogs:~$
pedro@pedrogs:~$ fingerLogin Name Tty Idle Login Time Office Office Phonepedro Pedro Rafael Guevara S tty7 Jan 29 06:51 (:0)pedro Pedro Rafael Guevara S pts/0 Jan 29 06:56 (:0.0)pedro@pedrogs:~$
pedro@pedrogs:~$ finger pedroLogin: pedro Name: Pedro Rafael Guevara SalgadoDirectory: /home/pedro Shell: /bin/bashOn since Fri Jan 29 06:51 (COT) on tty7 from :0On since Fri Jan 29 06:56 (COT) on pts/0 from :0.0New mail received Fri Jan 29 06:52 2010 (COT) Unread since Thu Mar 26 10:13 2009 (COT)No Plan.pedro@pedrogs:~$
pedro@pedrogs:~$ id rootuid=0(root) gid=0(root) grupos=0(root)pedro@pedrogs:~$
3.6 Comandos para mantenimiento de grupos
En GNU/Linux la creacin de grupos es muy importante ya que esto permite compartir un
recurso determinado, con varios usuarios del sistema. Por ejemplo, podemos tener un
fichero asociado a un grupo especfico y establecer que todos los usuarios que
pertenezcan a ese grupo puedan acceder al fichero.
Como se menciono en apartados anteriores el fichero plano encargado de guardar la
informacin de los grupos es /etc/group. Entonces si queremos aadir de forma manual
uno o varios usuarios para que hagan parte de un grupo especifico, todo lo que hay que
hacer es editar el fichero /etc/group y escribir en el ultimo campo los nombres de cada
usuario separados por comas (,).
-
Entre los comandos mas utilizados para la gestin de grupos encontramos groupadd que permite agregar o crear un nuevo grupo en el sistema, su sintaxis de uso es la siguiente:
# groupadd -g GID grupo
groupdel: Este comando permite eliminar un grupo creado en el sistema.
groupmod: Permite editar el contenido de un grupo creado en el sistema.
Para crear grupos se debe estar trabajando como root, podemos utilizar los comandos
addgroup o groupadd.
Con el comando addgroup el sistema nos pide que ingresemos el nombre del nuevo grupo que se desea crear y por defecto el le asigna un identificador de grupo (GID) en el
sistema.
Tambin para crear grupos se puede usar el comando groupadd, esta funcin va acompaada de varios parmetros. Digitamos el comando y vemos las opciones de uso
que ofrece. Luego digitamos el comando seguido de la opcin -g con el fin de asignarle el
identificador del grupo en el sistema.
Para eliminar un grupo del sistema vasta con utilizar el comando groupdel seguido del
nombre del grupo que se quiere borrar.
-
root@ubuntupedro:/home/pedro # groupdel andres
Una vez eliminado el grupo la lnea correspondiente a la entrada del mismo, desaparece
del fichero /etc/group.
3.7 Herramienta grfica para crear usuarios y grupos
En las distribuciones GNU/Linux con entornos de escritorio Gnome y KDE existen
herramientas grficas para realizar operaciones con usuarios y grupos, de una manera
cmoda. La distribucin GNU/Linux Ubuntu cuenta con una herramienta grfica llamada
users-admin.
Para acceder a la herramienta, se puede hacer de varias formas. Primero vamos al men
Sistema, luego al submen Administracin y por ultimo al men Usuarios y grupos, una
vez seleccionada la herramienta aparecer una ventana pidiendo la contrasea de acceso
del root. Si la contrasea es valida, aparecer la herramienta users-admin.
Sistema-------> Administracin--------> Usuarios y grupos
Tambin se puede acceder ha la herramienta por la consola del sistema digitando el
-
comando sudo seguido del nombre de la herramienta, siempre que se este en la consola
de usuario normal. Si se esta como usuario root solo dgito el nombre de la herramienta:
$ sudo users-admin# users-admin
Una vez se haya ingresado a la herramienta users-admin las labores de creacin de
usuarios y grupos, se manejan grficamente de forma fcil y segura.
-
Bibliografa
Unidad 1:
SILBERSCHATZ, Abraham; GALVIN, Peter Baer. Sistemas Operativos Quinta edicin.
Editorial PEARSON. Mxico 1999. 912 paginas.
http://es.wikipedia.org/wiki/Free_Software_Foundation
http://www.fsf.org/
http://es.wikipedia.org/wiki/Richard_Stallman
http://www.gnu.org/
http://es.wikipedia.org/wiki/GNU
http://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNU
http://www.gnome.org/
http://www.kde.org/
http://es.wikipedia.org/wiki/Unix
http://es.wikipedia.org/wiki/Andrew_S._Tanenbaum
http://es.wikipedia.org/wiki/Minix
http://www.opensource.org/
http://es.wikipedia.org/wiki/C%C3%B3digo_abierto
http://www.gnu.org/philosophy/free-sw.es.html
http://es.wikipedia.org/wiki/GNU_General_Public_License
http://www.fsf.org/licensing/licenses/gpl.html
http://es.wikipedia.org/wiki/RTFM
http://es.wikipedia.org/wiki/Linux_(n%C3%BAcleo)
http://www.kernel.org/
http://dns.bdat.net/shell/c3606.html
http://www.redhat.com/
http://www.debian.org/
http://fedoraproject.org/
http://es.opensuse.org/
http://www.ubuntu.com/
http://www.gentoo.org/
www.slackware.com/
www.mandriva.com
http://www.mandriva.com/http://www.slackware.com/http://www.gentoo.org/http://www.ubuntu.com/http://es.opensuse.org/http://fedoraproject.org/http://www.debian.org/http://www.redhat.com/http://dns.bdat.net/shell/c3606.htmlhttp://www.kernel.org/http://es.wikipedia.org/wiki/Linux_(n?cleohttp://es.wikipedia.org/wiki/RTFMhttp://www.fsf.org/licensing/licenses/gpl.htmlhttp://es.wikipedia.org/wiki/GNU_General_Public_Licensehttp://www.gnu.org/philosophy/free-sw.es.htmlhttp://es.wikipedia.org/wiki/C?digo_abiertohttp://www.opensource.org/http://es.wikipedia.org/wiki/Minixhttp://es.wikipedia.org/wiki/Andrew_S._Tanenbaumhttp://es.wikipedia.org/wiki/Unixhttp://www.kde.org/http://www.gnome.org/http://es.wikipedia.org/wiki/Licencia_p?blica_general_de_GNUhttp://es.wikipedia.org/wiki/GNUhttp://www.gnu.org/http://es.wikipedia.org/wiki/Richard_Stallmanhttp://www.fsf.org/http://es.wikipedia.org/wiki/Free_Software_Foundation
-
Unidad 2:
VIAS, Roger Baig; LLINAS, Francesc. Sistema Operativo GNU/Linux bsico. Primera
edicin. UOC. Espaa 2003. 261 paginas.
http://lineupblog.com/2009/07/20/comandos-basicos-de-linux-como-y-donde-utilizarlos/ http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155 http://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/ http://www.webtutoriales.com/tutoriales/linux/comandos-linux.23.html http://www.osmosislatina.com/linux/comandos.jsp
Unidad 3:
http://fabianperez.blogspot.com/2008/03/el-usuario-root-en-ubuntu-linux.html http://es.wikipedia.org/wiki/Root http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/users-superuser.html http://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-usuario http://lubrin.org/dani/ch11.html
http://lubrin.org/dani/ch11.htmlhttp://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-usuariohttp://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/users-superuser.htmlhttp://es.wikipedia.org/wiki/Roothttp://fabianperez.blogspot.com/2008/03/el-usuario-root-en-ubuntu-linux.htmlhttp://www.osmosislatina.com/linux/comandos.jsphttp://www.webtutoriales.com/tutoriales/linux/comandos-linux.23.htmlhttp://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155http://lineupblog.com/2009/07/20/comandos-basicos-de-linux-como-y-donde-utilizarlos/
1. Conceptos generales del Sistema Operativo GNU/Linux1.1 Generalidades de GNU/Linux y el software libre1.2 Historia del Sistema Operativo GNU/Linux 1.3 Conceptos previos de software libre
2. Comandos bsicos utilizados en el sistema GNU/Linux2.1 Listado de comandos mas utilizados2.2 Como ingresar a la consola en GNU/Linux2.3 Ejemplos de ejecucin de algunos comandos bsicos2.4 Manejo de archivos y directorios2.4.1 Estructura del sistema de archivos2.4.2 Modos de acceso a un fichero en GNU/Linux2.4.3 Comandos para el manejo de archivos y directorios2.4.4 Herramienta grfica Nautilus (GNU/Linux Ubuntu 9.04)
3. Administracin de usuarios y grupos3.1 El superusuario o root3.2 Adquirir permisos de superusuario 3.3 Tipos de usuarios en GNU/Linux3.4 Ficheros importantes en la creacin de usuarios y grupos3.5 Comandos para mantenimiento de usuarios3.6 Comandos para mantenimiento de grupos3.7 Herramienta grfica para crear usuarios y grupos
Bibliografa