gnu/linux – electiva libre i universidad de córdobanetworkingsignora.pbworks.com/f/documento...

Download GNU/Linux – Electiva Libre I Universidad de Córdobanetworkingsignora.pbworks.com/f/DOCUMENTO COMANDOS LINUX.pdf · Distinguir las principales características, herramientas de

If you can't read please download the document

Upload: phamcong

Post on 08-Feb-2018

237 views

Category:

Documents


3 download

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