NDG Linux Unhatched

April 15, 2019 | Author: Germán Juega HD | Category: Computer File, Command Line Interface, Graphical User Interfaces, File System, Directory (Computing)
Share Embed Donate


Short Description

linux basico...

Description

1. ¡Bienvenido!

¡Hola y bienvenido al Módulo Elemental de NDG Linux! Estamos muy entusiasmados de ofrecerte esta breve introducción al mundo de Linux. Antes de comenzar, nos gustaría aprovechar la oportunidad para explicar la intención y el alcance de este módulo. No te preocupe si tienes poca o ninguna experiencia en Linux. Este módulo está diseñado como una introducción para los estudiantes principiantes sin formación previa en Linux. Si te parece útil este material, puedes pensar en continuar con nuestros cursos de NDG Linux Essentials o Introducción al Linux de NDG para adquirir conocimientos más avanzados. La información adicional sobre estos cursos está al final de este módulo. Como probablemente ya sabes, el kernel de Linux ha encontrado su camino hacia un increíble número de diversos sistemas. Hoy en día lo puedes encontrar en todo, desde automóviles a cohetes, desde relojes a televisores y desde netbooks a los superordenadores más rápidos. Linux sólo representa un porcentaje relativamente pequeño de los sistemas operativos encontrados en computadoras de escritorio, pero ha ganado un uso extenso en los servidores, dispositivos de IoT (Internet de las Cosas o «Internet of Things» en inglés), equipos de red, teléfonos inteligentes y muchos otros dispositivos de los que imaginas que pueden ser computadoras. Desde un enrutador («router» en inglés) casero que te conecta a Internet hasta el servidor en el está alojado este curso, es probable que múltiples dispositivos alimentados por Linux te permiten leer esta página en este momento. Esperamos que encuentres útil el Módulo Elemental de NDG Linux. ¡Te felicitamos por dar tus primeros pasos hacia el mundo de Linux!

¡ Linux está en Todas Partes !

2. Sintaxis Básica de Comando

Este módulo aborda exclusivamente la CLI o Command Line Interface (o «Interfaz de la Línea de Comandos»), en lugar de la GUI o Graphical User Interface (o «Interfaz Gráfica de Usuario) con la que probablemente estás familiarizado. La terminal CLI es una poderosa herramienta que suele ser el método primario usado para administrar los pequeños dispositivos de baja potencia, servidores de cómputo extremadamente potentes, y todo lo demás. Un entendimiento básico del terminal es esencial para diagnosticar y corregir la mayoría de los sistemas basados en Linux. Puesto que Linux se ha convertido en un sistema que está en todas partes, incluso aquellos que trabajan principalmente con sistemas que no utilizan el kernel de Linux, pueden beneficiarse de tener un conocimiento básico de la terminal. ¿Qué es un comando? Un comando es un programa de software que al ejecutarlo en la CLI («interfaz de línea de comandos» en español) realiza una acción en la computadora. Cuando se escribe un comando, el sistema operativo ejecuta un proceso que puede leer una entrada, manipular datos y producir la salida. Un comando ejecuta un proceso en el sistema operativo, y entonces causa que la computadora realice un trabajo. Para ejecutar un comando, el primer paso es introducir el nombre del comando. Haz clic en la terminal de la derecha. Introduce ls y presiona Entrar. El resultado debe parecerse al siguiente ejemplo: [email protected]:~$ ls Desktop Documents Downloads Videos

Music

Pictures

Public

Templates

El nombre del comando se basa frecuentemente en lo que hace o en lo que el desarrollador que creó el comando piensa que va a describir mejor la función del comando. Por ejemplo, el comando ls muestra una lista de información acerca de los archivos. Asociando el nombre del comando con algo mnemotécnico para lo que hace puede ayudar a recordar más fácilmente los comandos. Para considerar Cada parte del comando es normalmente sensible a mayúsculas y minúsculas, así que LS es incorrecto y se producirá un error, pero ls es correcto y se ejecutará. sy[email protected]:~$ LS -bash: LS: command not found

La mayoría de los comandos sigue un patrón simple de sintaxis: comando [opciones…] [argumentos…]

Típicamente, las opciones alteran el comportamiento del comando y los argumentos son elementos o valores para el comando a actuar. Aunque haya algunos comandos en Linux que no son completamente consistentes con esta sintaxis, la mayoría de los comandos usa esta sintaxis o algo similar. En el ejemplo anterior, el comando ls fue ejecutado sin opciones ni argumentos, cuando este es el caso, su comportamiento por defecto es devolver una lista de archivos contenidos dentro del directorio actual. [email protected]:~$ ls Desktop Documents Downloads

Music

Pictures

Public

Template

2.1. Los Argumentos

comando [opciones…] [argumentos…]

Un argumento se puede utilizar para especificarle al comando sobre qué actuar. Al comando ls puede dársele el nombre de un directorio como argumento, y mostrará el contenido de ese directorio. En el siguiente ejemplo, el directorio Documents (o «documentos» en espaňol) se utilizará como argumento: [email protected]:~$ ls Documents School alpha-second.txt Work alpha-third.txt people.csv adjectives.txt alpha.txt profile.txt alpha-first.txt animals.txt

food.txt hello.sh

linux.txt longfile.txt

hidden.txt

newhome.txt

letters.txt

numbers.txt

os.csv

red.txt

La salida resultante es una lista de archivos que están en el directorio Documents. Ya que Linux es un sistema de código abierto (o «open source» en inglés), hay algunos secretos interesantes que los desarrolladores le han añadido. Por ejemplo, el comando aptitude es una herramienta de gestión de paquetes disponible en algunas distribuciones de Linux. Este comando acepta moo como argumento: [email protected]:~$ aptitude moo There are no Easter Eggs in this program.

o en espaňol: [email protected]:~$ aptitude moo No hay sorpresas en este programa.

Hay más trucos de los que se ven a simple vista. ¡Sigue leyendo!

Linux es de código abierto! Linux es desarrollado por una comunidad, usted ve y contribuye al código fuente!

2.2. Las Opciones

comando [opciones…] [argumentos…]

Las opciones se pueden utilizar para modificar el comportamiento de un comando. En la página anterior, se utilizó el comando ls para listar el contenido de un directorio. En el ejemplo siguiente, vamos a utilizar la opción -l para el comando ls, que resulta en una salida «Visualización larga», lo que significa que la salida da más información sobre cada uno de los archivos listados [email protected]:~$ total 32 drwxr-xr-x 2 sysadmin drwxr-xr-x 4 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin

ls -l sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin

4096 4096 4096 4096 4096 4096 4096 4096

Aug Aug Aug Aug Aug Aug Aug Aug

4 4 4 4 4 4 4 4

20:58 20:58 20:58 20:58 20:58 20:58 20:58 20:58

Desktop Documents Downloads Music Pictures Public Templates Videos

A menudo se elige un carácter mnemotécnico (tecla de acceso) para su propósito, tal como eligiendo la letra l para largo o r para el reverso. Por defecto el comando ls imprime los resultados en orden alfabético, así que añadiendo la opción -r imprimirá los resultados en el orden alfabético inverso. [email protected]:~$ ls -r Videos Templates Public Pictures Desktop

Music

Downloads

Documents

Las opciones múltiples pueden utilizarse a la vez, o bien como opciones separadas como la -l - r o combinadas -lr. La salida de todos estos ejemplos sería la misma: ls -l -r ls -rl ls -lr

Como se explicó anteriormente, la opción -l da salida a un formato de listado largo mientras que la -r invierte la lista. El resultado del uso de ambas opciones es un listado largo dado en orden inverso: [email protected]:~$ total 32 drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 4 sysadmin drwxr-xr-x 2 sysadmin [email protected]:~$ total 32 drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 2 sysadmin drwxr-xr-x 4 sysadmin drwxr-xr-x 2 sysadmin

ls -l -r sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin ls -rl

4096 4096 4096 4096 4096 4096 4096 4096

Aug Aug Aug Aug Aug Aug Aug Aug

4 4 4 4 4 4 4 4

20:58 20:58 20:58 20:58 20:58 20:58 20:58 20:58

Videos Templates Public Pictures Music Downloads Documents Desktop

sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin sysadmin

4096 4096 4096 4096 4096 4096 4096 4096

Aug Aug Aug Aug Aug Aug Aug Aug

4 4 4 4 4 4 4 4

20:58 20:58 20:58 20:58 20:58 20:58 20:58 20:58

Videos Templates Public Pictures Music Downloads Documents Desktop

En definitiva, los comandos pueden utilizar muchas combinaciones de opciones y argumentos, así pues las posibilidades para cada comando serán únicas. ¿Recuerdas la sorpresa de la de la opción aptitude? [email protected]:~$ aptitude moo There are no Easter Eggs in this program.

Es posible alterar el comportamiento de este comando utilizando las opciones. Observa lo que sucede cuando se agrega la opción -v (verbose o «salida detallada» en español): [email protected]:~$ aptitude -v moo There really are no Easter Eggs in this program. [email protected]:~$ aptitude -v moo Realmente no hay sorpresas en este programa.

Combinando las múltiples opciones -v, podemos obtener una variedad de respuestas: [email protected]:~$ aptitude -vv moo Didn't I already tell you that there are no Easter Eggs in this program? [email protected]:~$ aptitude -vvv moo Stop it! [email protected]:~$ aptitude -vv moo ¿No te dije que no hay sorpresas en este programa? [email protected]:~$ aptitude -vvv moo

¡Para!

Recuerda que las opciones múltiples pueden ser introducidas por separado o combinadas: aptitude -v -v moo aptitude -vv moo

¡Sigue añadiendo las opciones -v para que veas cuántas respuestas únicas puedes obtener!

3. Imprimiendo un Directorio de Trabajo

Para descubrir dónde estás ubicado actualmente en el sistema de archivos, puedes utilizar el comando pwd. El comando pwd imprime el directorio de trabajo, tu ubicación actual en el sistema de archivos: pwd [OPCIONES]

Para considerar ¡Aún no enciendas tu impresora! En los inicios de la informática la salida de línea de comandos sería enviada a las impresoras físicas. Este método fue reemplazado por pantallas de video que pueden mostrar la información más rápidamente. Todavía usamos la palabra imprimir (o «print» en inglés) a pesar de que la salida sólo se está visualizando en la pantalla. [email protected]:~$ pwd /home/sysadmin

La salida del comando anterior indica que el usuario está actualmente en su carpeta de inicio, que se muestra en el sistema de archivos a continuación.

Para considerar Observa que nuestras máquinas virtuales emplean un prompt que muestra el directorio actual de trabajo, acentuado con el color azul. En el primer prompt abajo, el ~ azul es equivalente a /home/sysadmin, que representa el directorio de inicio del usuario. [email protected]:~$

Después de cambiar de directorios, también puede confirmarse la nueva ubicación en el nuevo prompt, que de nuevo aparece en azul. [email protected]:/etc/calendar$

4. Cambiando Directorios

Los archivos se utilizan para almacenar datos tales como texto, gráficos y programas. Los directorios se utilizan para guardar archivos y proporcionar una estructura de organización jerárquica. La imagen de abajo muestra una versión abreviada de la estructura del sistema de archivos en las máquinas virtuales.

Al iniciar una máquina virtual nueva, abriendo el curso o después usando el botón reiniciar, estás registrado como usuario sysadmin en tu directorio de inicio:

Para navegar por la estructura del sistema de archivos, utiliza el comando de cd (change directory o «cambiar directorio» en español) para cambiar directorios. cd [opciones] [ruta]

Si nos fijamos en el gráfico anterior, el directorio Documents está ubicado en el directorio home, donde se encuentra actualmente. Para moverte a un directorio desde tu ubicación actual, utilizalo como argumento para el comando cd: [email protected]:~$ cd Documents [email protected]:~/Documents$

Los directorios equivalen a las carpetas en Windows y Mac OS. Al igual que estos sistemas operativos más populares, una estructura de directorios de Linux tiene un nivel superior. No se llama «Mi PC», sino más bien el directorio root (o «raíz» en español) y

está representado por el carácter /. Para moverse al directorio raíz, utiliza el carácter / como argumento para el comando cd. [email protected]:~$ cd /

El argumento para el comando cd es más que sólo el nombre de un directorio, en realidad es una ruta de acceso (o «path» en inglés). Una ruta de acceso es una lista de directorios separados por el carácter /. Por ejemplo, /home/sysadmin es la ruta de acceso a tu directorio de inicio:

Si piensas en el sistema de archivos como un mapa, las rutas de acceso son las indicaciones paso a paso; pueden ser utilizadas para indicar la ubicación de cualquier archivo dentro del sistema de archivos. Hay dos tipos de rutas de acceso: absoluta y relativa. Las rutas absolutas comienzan con el directorio raíz del sistema de archivos, las rutas relativas se consideran a partir de tu ubicación actual en el sistema de archivos.

Las Rutas Absolutas Una ruta absoluta te permite especificar la ubicación exacta de un directorio. Siempre empieza en el directorio raíz, por lo tanto siempre comienza con el carácter /. La ruta al directorio de inicio /home/sysadmin es una ruta absoluta. La ruta comienza en el directorio raíz /, pasa al directorio home y luego al directorio sysadmin. Siguiendo este camino en una interfaz gráfica de usuario (GUI) como tu computadora de casa, se vería algo como esto:

Utiliza esta ruta como el argumento para el comando cd para retroceder al directorio de inicio del usuario sysadmin. [email protected]:/$ cd /home/sysadmin [email protected]:~$

Si no hay salida, esto significa que el comando tuvo éxito. Sigue adelante y confírmalo mediante el comando pwd: [email protected]:~$ pwd /home/sysadmin

Las Rutas Relativas Una ruta de acceso relativa da instrucciones a un archivo con respecto a tu ubicación actual en el sistema de archivos. Las rutas relativas no empiezan con el carácter /, empiezan con el nombre de un directorio. Observa de nuevo el primer ejemplo del comando cd. El argumento es un ejemplo de la ruta de acceso relativa más simple: el nombre de un directorio en tu ubicación actual. [email protected]:~$ cd Documents [email protected]:~/Documents$

La siguiente imagen muestra un mapa de los archivos contenidos en el directorio sysadmin. Actualmente estás ubicado en el directorio Documents y quieres moverte al directorio Art:

Una ruta de acceso relativa comienza con el directorio actual. Sin embargo, no lo incluye en la ruta. Primero pasa al directorio School, y luego al directorio Art. Utiliza el carácter / para separar los nombres de directorio. El resultado School/Art es una ruta relativa desde el directorio Documents al directorio Art.

Utiliza la ruta relativa como un argumento para el comando cd para entrar al directorio Art. [email protected]:~/Documents/$ cd School/Art [email protected]:~/Documents/School/Art$

Utiliza el comando pwd para confirmar el cambio: [email protected]:~/Documents/School/Art$ pwd /home/sysadmin/Documents/School/Art

Para considerar

La salida del comando pwd es la ruta absoluta al directorio School. También indicado como:

Para considerar En el ejemplo anterior el comando cd había seguidola ruta de acceso School/Art: cd School/Art

Una ruta de acceso puede también dividirse en múltiples comandos cd. El siguiente conjunto de comandos lograría los mismos resultados: cd School cd Art

Los Accesos Directos o Atajos El Carácter .. Sin importar en qué directorio estás, .. siempre representa un directorio superior relativo al directorio actual. Para moverte desde el directorio Art de regreso al directorio School: [email protected]:~/Documents/School/Art$ cd .. [email protected]:~/Documents/School$

El Carácter « . » Sin importar en qué directorio estás, el carácter . siempre representa tu directorio actual. Para el comando cd este acceso directo no es muy útil, pero será muy útil para otros comandos. El carácter ~

El directorio de inicio del usuario actual está representado por el carácter ~. Como se mencionó anteriormente, siempre comienzas como un usuario sysadmin, y su inicio se encuentra en /home/sysadmin. Para volver a tu directorio de inicio en cualquier momento puedes ejecutar el siguiente comando: [email protected]:~/Documents/School$ cd ~

5. Listado de Archivos

El comando ls se utiliza para listar el contenido de un directorio. Ya lo has visto usado un par de veces antes en los ejemplos, pero esta página te ayudará a estar cómodo al utilizarlo. ls [OPCIONES] [ARCHIVO]

De forma predeterminada, cuando el comando ls se utiliza sin opciones o argumentos, listará los archivos en el directorio actual: [email protected]:~$ ls Desktop Documents Downloads Videos

Music

Pictures

Public

Templates

Para conocer los detalles de un archivo, como el tipo de archivo, los permisos, la propiedad o la fecha y hora, realiza un listado largo utilizando la opción -l para el comando ls. A continuación, vamos a ver un listado del directorio /var/log como un ejemplo, puesto que proporciona una salida variada: [email protected]:~$ ls -l /var/log/ total 832 -rw-r--r-- 1 root root 17869 Mar 14 drwxr-x--- 2 root adm 4096 Mar 14 drwxr-xr-x 2 root root 4096 Mar 14 -rw-r----- 1 syslog adm 380 Jul 28

17:48 17:48 17:45 03:45

alternatives.log apache2 apt auth.log

-rw-r--r--rw-rw----rw-r-----rw-r-----rw-r--r--rw-r--r-drwxr-xr-x -rw-r-----rw-rw-r--rw-r----drwxr-xr-x -rw-rw-r--

5 5 1 1 1 1 2 1 1 1 2 1

root root syslog root root root root syslog root syslog root root

root 47816 Mar 2 23:10 bootstrap.log utmp 0 Mar 2 23:10 btmp adm 324 Jul 28 03:45 cron.log adm 85083 Mar 14 17:48 dmesg root 315196 Mar 14 17:48 dpkg.log root 32064 Mar 14 17:48 faillog root 4096 Jun 30 06:53 fsck adm 106 Jul 28 03:45 kern.log utmp 292584 Jul 28 03:45 lastlog adm 18703 Jul 28 03:46 syslog root 4096 Apr 11 2014 upstart utmp 384 Jul 28 03:45 wtmp

Cada línea corresponde a un archivo dentro del directorio. La información puede dividirse en campos separados por espacios. Los campos son los siguientes: • • •

Tipo de archivo -rw-r--r-- 1 root drwxr-x--- 2 root

root adm

17869 Mar 14 17:48 alternatives.log 4096 Mar 14 17:48 apache2

El primer campo en realidad contiene diez caracteres, donde el primer carácter indica el tipo de archivo y los siguiente nueve especifican los permisos. Los tipos de archivo son: Símbolo

Tipo de Archivo

Descripción

d

para un directorio

Archivo que se usa para guardar otros archivos.

-

para un archivo regular

Incluye archivos leíbles, imágenes, archivos binarios y archivos comprimidos

l

para un enlace simbólico

Apunta a otro archivo

s

para la ranura

Permite la comunicación entre procesos

p

para una barra vertical

Permite la comunicación entre procesos

b

para un archivo de bloque

Permite la comunicación con el Hardware

c

para un archivo de carácter

Permite la comunicación con el Hardware

El primer archivo alternatives.log es un archivo regular -, mientras que el segundo archivo apache2 es un directorio d. Los Permisos drwxr-xr-x 1 root root

0 Apr 11 21:58 upstart

Los permisos indican de qué manera determinados usuarios pueden acceder a un archivo. Sigue leyendo para aprender más acerca de los permisos. •

Cuenta de Vínculo Físico -rw-r----- 1 syslog adm 23621 Aug 23 15:17 auth.log

Este número indica cuántos vínculos físicos apuntan a este archivo. Los vínculos físicos están más allá del alcance de este módulo, pero se cubren en el curso de NDG Linux Essentials. •

Usuario Propietario -rw-r----- 1 syslog adm 416 Aug 22 15:43 kern.log

El usuario syslog es el propietario de este archivo. Cada vez que se crea un archivo, la propiedad se asigna automáticamente al usuario que lo creó. •

Grupo Propietario -rw-rw-r-- 1 root utmp 292584 Aug 20 18:44 lastlog

Indica el grupo propietario de este archivo •

Tamaño del Archivo -rw-r----- 1 syslog adm 1087150 Aug 23 15:17 syslog.1

El tamaño del archivo en bytes. En el caso de un directorio, realmente podría ser un múltiplo del tamaño de bloques utilizado para el sistema de archivos. •

Fecha y hora drwxr-xr-x 1 root root 32 Jul 17 03:36 fsck

Esto indica el momento en el que el contenido del archivo se modificó por última vez. •

Nombre de archivo -rw-r--r-- 1 root root 47816 Jul 17 03:36 bootstrap.log

El último campo contiene el nombre del archivo o directorio. Para considerar En el caso de los vínculos simbólicos, se mostrará el nombre del vínculo junto con una flecha y la ruta de acceso del archivo original. lrwxrwxrwx. 1 root root 22 Nov 6 2012 /etc/grub.conf -> ../boot/grub/grub.conf

Los vínculos simbólicos están más allá del alcance de este módulo, pero están cubiertos en el curso NDG Linux Essentials. Ordenación Por defecto la salida del comando ls está ordenada alfabéticamente por nombre de archivo. Puede ordenarse por otros métodos. Observa Las opciones en los siguientes ejemplos se combinarán con la opción -l para que los detalles pertinentes de los archivos se muestran. Observa los campos correspondientes a la opción de la búsqueda. La opción -t ordenará los archivos por fecha y hora: [email protected]:~$ ls -lt /var/log total 840 -rw-r----- 1 syslog adm 27014 Jul 28 -rw-r----- 1 syslog adm 380 Jul 27 -rw-rw-r-- 1 root utmp 292584 Jul 27 -rw-rw-r-- 1 root utmp 384 Jul 27 -rw-r----- 1 syslog adm 324 Jul 27 -rw-r----- 1 syslog adm 106 Jul 27 drwxr-xr-x 2 root root 4096 Jun 30 -rw-r--r-- 1 root root 17869 Mar 14 -rw-r----- 1 root adm 85083 Mar 14 -rw-r--r-- 1 root root 32064 Mar 14 -rw-r--r-- 1 root root 315196 Mar 14 drwxr-x--- 2 root adm 4096 Mar 14 drwxr-xr-x 2 root root 4096 Mar 14 -rw-r--r-- 5 root root 47816 Mar 2 -rw-rw---- 5 root utmp 0 Mar 2 drwxr-xr-x 2 root root 4096 Apr 11

00:10 23:10 23:10 23:10 23:10 23:10 06:56 17:48 17:48 17:48 17:48 17:48 17:45 23:10 23:10 2014

syslog auth.log lastlog wtmp cron.log kern.log fsck alternatives.log dmesg faillog dpkg.log apache2 apt bootstrap.log btmp upstart

La opción -S ordenará los archivos por tamaño del archivo: [email protected]:~$ ls -l -S /var/log total 840 -rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log -rw-rw-r-- 1 root utmp 292584 Jul 27 23:10 lastlog -rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg -rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log -rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog -rw-r----- 1 syslog adm 27014 Jul 28 00:10 syslog -rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2 drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart -rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp -rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log -rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log -rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log -rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp

La opción -r invierte el orden de cualquier tipo de orden. Observa la diferencia cuando se añade al ejemplo anterior: [email protected]:~$ ls -lSr /var/log total 840 -rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp -rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log -rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log -rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log -rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2 -rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log -rw-r----- 1 syslog adm 27014 Jul 28 00:10 syslog -rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog -rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log -rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg -rw-rw-r-- 1 root utmp 292584 Jul 27 23:10 lastlog -rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log

Los números en el campo de tamaño de archivo cambian de descendente a ascendente. Si se utiliza sólo la opción -r, se listarán los archivos en orden alfabético inverso: [email protected]:~$ ls -r /var/log wtmp lastlog faillog cron.log upstart kern.log dpkg.log btmp syslog fsck dmesg bootstrap.log

¿Sabías qué? Puedes encontrar Linux en:

6. Acceso Administrativo

auth.log apt apache2

alternatives.log

Hay muchos comandos de Linux que lidian con la información sensible como contraseñas, hardware del sistema, u operan bajo otras circunstancias excepcionales. Previniendo que los usuarios habituales ejecuten estos comandos ayuda a proteger el sistema. Iniciar la sesión como el usuario root proporciona acceso de administrador, lo que permite la ejecución de algunos de los comandos privilegiados. El Comando su su OPCIONES USUARIO

El comando su te permite actuar temporalmente como un usuario diferente. Esto se logra mediante la creación de un nuevo shell. Por defecto, si no se especifica una cuenta de usuario, el comando su abre un nuevo shell como usuario root, que proporciona privilegios administrativos. Observa Se recomienda utilizar la opción login shell, ya que el login shell configura un shell completamente nuevo con la configuración del nuevo usuario. Esta opción puede ser especificada de tres maneras: su su -l su --login

Después de ejecutar el comando su, se requiere una contraseña. En nuestras máquinas virtuales, la contraseña para ambas cuentas, la de root y, sysadmin es netlab123. Si la olvidas, ésta se muestra cada vez que se inicia una nueva máquina virtual. Como medida de seguridad, la contraseña no será visible cuando la vas introduciendo. [email protected]:~$ su Password: [email protected]:~#

-

Observa que el prompt de comando ha cambiado para reflejar que has iniciado la sesión como usuario root. Para cerrar la sesión y volver a la cuenta sysadmin, utiliza el comando exit. Observa que el prompt cambia de nuevo: [email protected]:~# exit exit [email protected]:~$

Para evitar que se ejecuten los comandos sensibles, hemos configurado el comando Steam Locomotive (o «locomotora de vapor» en español), el comando de sl, que requiere acceso de administrador. Si el comando se ejecuta como sysadmin, fallará: [email protected]:~$ sl

sl: Permission denied

Utiliza el comando su para cambiar a la cuenta de root y ejecuta el comando de sl con acceso administrativo: [email protected]:~$ su Password: [email protected]:~# sl

(@@) (

) (@)

( )

@@

()

@

O

@ (

( (@@@@) )

)

(@@@) ==== ________ ___________ _D _| |_______/ \__I_I_____===__|_________| |(_)--- | H\________/ | | =|___ ___| _________________ / | | H | | | | ||_| |_|| _| | | | H |__--------------------| [___] | =| | ________|___H__/__|_____/[][]~\_______| | -| |/ | |-----------I_____I [][] [] D |=======|____|__________________ __/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|____________________ |/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__ \_/ \_O=====O=====O=====O/ \_/ \_/ \_/ \_/

Utilice el comando exit otra vez para volver a la cuenta sysadmin. [email protected]:~# exit exit [email protected]:~$

El Comando sudo sudo [OPCIONES] COMANDO

El comando sudo permite que el usuario ejecute un comando como otro usuario sin crear un nuevo shell. En cambio, para ejecutar un comando con privilegios de administrador, utilizalo como argumento para el comando sudo. Igual que el comando su, el comando sudo asume por defecto que la cuenta del usuario root debe utilizarse para ejecutar comandos. Para considerar El comando sudo puede ser usado para utilizar temporalmente otras cuantas también. Para especificar otro usuario de cuenta utiliza la opción -u. Ejecuta el comando sl como el usuario root poniendo sudo delante de éste: [email protected]:~$ Password:

sudo sl

Nota: Recuerda que la contraseña es netlab123. El prompt de la contraseña no aparecerá de nuevo mientras el usuario continúa ejecutando comandos sudo con diferencia de menos de cinco minutos. Una vez que el comando haya terminado y el prompt no haya cambiado, sigues registrado como sysadmin. El comando sudo sólo proporciona acceso administrativo para la ejecución del comando especificado. Esto es una ventaja, ya que reduce el riesgo de que un usuario accidentalmente ejecute un comando como root. La intención de ejecutar un comando es clara; el comando se ejecuta como root si tiene como prefijo el comando sudo. De lo contrario, se ejecuta el comando como un usuario normal.

7. Los Permisos

Los permisos determinan en que manera los diferentes usuarios pueden interactuar con un archivo o directorio. Cuando se lista un archivo con el comando ls -l, la salida incluye información de permiso. Por ejemplo, vamos a usar un script llamado hello.sh ubicado en el directorio Documents: Observa Utiliza el siguiente comando para cambiar al directorio Documents: [email protected]:~$ cd ~/Documents [email protected]:~/Documents$ ls -l hello.sh -rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

A continuación vas a ver una revisión de los campos correspondientes a los permisos. Campo del Tipo de Archivo -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

El primer carácter de esta salida indica el tipo de un archivo. Recuerda que si el primer carácter es un -, entonces es un archivo regular. Si el carácter era una d, entonces es un directorio. Campo de los Persmisos -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

Después del carácter del tipo de archivo, se muestran los permisos. Los permisos se dividen en tres grupos de tres caracteres:



Propietario -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

El primer grupo para el usuario que posee el archivo. Si tu cuenta actual es el usuario propietario del archivo, entonces se aplicará el primer grupo de los tres permisos y los otros permisos no tienen ningún efecto. El usuario que posee el archivo y a quién se aplican estos permisos, puede ser determinado por el campo de user owner: -rw-rw-r-- 1 sysadmin sysadmin 21 Aug •

1 02:35 hello.sh

Grupo -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

El segundo conjunto para el grupo propietario del archivo. Si tu cuenta actual no es el usuario propietario del archivo y eres miembro de un grupo que posee el archivo, entonces se aplicará el segundo grupo de los tres permisos y los otros permisos no tendrán ningún efecto. El grupo de este archivo puede ser determinado por el campo group owner: -rw-rw-r-- 1 sysadmin sysadmin 21 Aug •

1 02:35 hello.sh

Otro -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

El último conjunto para todos los demás, cualquier usuario a quien no le aplican los otros dos conjuntos de permisos. Si no eres el usuario propietario del archivo o un miembro del grupo que posee el archivo, se te aplicaran el tercer conjunto de permisos. Los Tipos de Permisos Hay tres permisos diferentes que pueden colocarse en un archivo o directorio: permiso de lectura, escritura y ejecución. La manera en que estos permisos se aplican difiere en el caso de los archivos y de los directorios, tal como se muestra en la siguiente tabla: Permiso

Efectos en el archivo

read (o «leer» Permite que el contenido del en español) (r) archivo se lea o copie.

Efectos en el directorio Sin permiso de ejecución en el directorio, permite un listado no detallado de los archivos. Con permiso de ejecutar, el comando ls -l puede proporcionar una lista detallada.

Permiso write (o «escribir» en español)

Efectos en el archivo

Efectos en el directorio

Permite modificar y sobrescribir Para que este permiso funcione, el el contenido. Permite añadir o directorio debe también tener el permiso de quitar los archivos de un ejecución. directorio.

Permite que un archivo se execute (o ejecute como un proceso, «ejecutar» en aunque los archivos de script español) también requieren permiso de lectura.

Permite a que un usuario se cambie al directorio si el directorio padre tiene también permiso de escritura.

Para considerar Entender los permisos que se aplican es una habilidad importante en Linux. Por ejemplo, considera el siguiente grupo de permisos: -r--rw-rwx. 1 sysadmin staff 999 Apr

10

2013 /home/sysadmin/test

En este escenario, el usuario sysadmin acaba teniendo menos acceso a este archivo que los miembros del grupo staff o cualquier otro. El usuario sysadmin sólo tiene permisos de r--. No importa si el usuario sysadmin es un miembro del grupo staff; una vez se ha establecido la propiedad del usuario, se aplicarán sólo los permisos del usuario propietario.

8. Cambiar los Permisos de Archivo

El comando chmod se utiliza para cambiar los permisos de un archivo o directorio. Sólo el usuario root o el usuario que posee el archivo puede cambiar los permisos de un archivo. Para considerar ¿Por qué el comando se llama chmod en vez de chperm? A los permisos se les solía referir como modos de acceso, por lo que el comando chmod realmente significa cambiar los modos de acceso. (o «change the modes of access» en inglés) Hay dos métodos para cambiar los permisos con el comando chmod: simbólico y octal. El método simbólico es bueno para cambiar un conjunto de permisos a la vez. El

método octal o numérico requiere el conocimiento del valor octal de cada uno de los permisos y requiere que todos los tres conjuntos de permisos (usuario, grupo, otros) se especifiquen cada vez. Para la simplicidad, se cubrirá sólo el método simbólico. Para aprender más sobre el método octal puedes consultar el curso NDG Linux Essentials. Observa Utiliza el siguiente comando para cambiar al directorio Documents: [email protected]t:~$ cd ~/Documents

El Método Simbólico chmod []... ARCHIVO

Para utilizar el método simbólico del chmod primero tienes que indicar que conjunto de permisos vas a cambiar: chmod []... ARCHIVO

Símbolo

Significado

u

Usuario: El usuario que posee el archivo.

g

Grupo: El grupo que posee el archivo.

o

Otros: Cualquiera que no sea el usuario propietario o miembro del grupo propietario.

a

Todos: Se refiere al usuario, grupo y otros.

A continuación, especifica un símbolo de acción: chmod []... ARCHIVO

Símbolo

Significado

+

Agregar el permiso, si es necesario

=

Especificar el permiso exacto

-

Quitar el permiso, si es necesario

Después de un símbolo de acción, especifica uno o más permisos sobre el que quieres actuar. chmod []... ARCHIVO

Símbolo Significado r

lectura

w

escritura

Símbolo Significado x

ejecución

Por último, un espacio y los nombres de los archivos para asignar los permisos. chmod []... ARCHIVO

El archivo hello.sh utilizado en los ejemplos en la página anterior es una secuencia de comandos. Un script es un archivo que puede ser ejecutado, similar a un comando: [email protected]:~/Documents$ ls -l hello.sh -rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

Sin embargo en la actualidad, el permiso de ejecución no está configurado para ninguno de los grupos de permisos: -rw-rw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

Tratar de ejecutar este script con la siguiente sintaxis resultará en error: [email protected]:~/Documents$ ./hello.sh -bash: ./hello.sh: Permission denied

Puesto que el sistema inició la sesión como el usuario sysadmin, y el sysadmin es el dueño de este archivo, proporcionar al usuario propietario el permiso de ejecución debe permitirte ejecutar este script. Al usar el comando chmod con el carácter u para representar el conjunto de permisos del propietario usuario, el carácter + para indicar que se añade un permiso, y el carácter x para representar el permiso de ejecución, el comando se debe ejecutar como sigue: [email protected]:~/Documents$ chmod u+x hello.sh

Si no arroja una salida, esto significa que el comando se ha ejecutado correctamente. Comprueba Confirme comprobando los permisos usando el comando ls -l: [email protected]:~/Documents$ ls -l hello.sh -rwxrw-r-- 1 root sysadmin 112 Aug 1 03:48 hello.sh

El usuario propietario ahora tiene el permiso de ejecución listado: -rwxrw-r-- 1 sysadmin sysadmin 21 Aug

1 02:35 hello.sh

Por último, trata de ejecutar el script otra vez. Utiliza la sintaxis del comando que se muestra a continuación: ./hello.sh [email protected]:~/Documents$ ./hello.sh ______________ ( Hello World! ) -------------\

\
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF