NDG Linux Unhatched

Share Embed Donate


Short Description

Curso Linux Basico Cisco Systems...

Description

NDG Linux Unhatched

2017

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:

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á. sysadmin@localhost :~$ LS

-bash: LS: command not found La mayoría de los comandos sigue un patrón simple de sintaxis: comando [opciones…] [argumentos…]

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:

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á. sysadmin@localhost :~$ 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. sysadmin@localhost :~$ ls

Desktop

Documents

Downloads

Music

Pictures

Public

Templates

Videos

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: sysadmin@localhost :~$ ls Documents

School

alpha-second.txt

food.txt

linux.txt

os.csv

Work

alpha-third.txt

hello.sh

longfile.txt

people.csv

adjectives.txt

alpha.txt

hidden.txt

newhome.txt

profile.txt

alpha-first.txt

animals.txt

letters.txt

numbers.txt

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: sysadmin@localhost :~$ aptitude moo

There are no Easter Eggs in this program. o en espaňol: sysadmin@localhost:~$  aptitude moo

No hay sorpresas en este programa.

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

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

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 sysadmin@localhost :~$ ls -l

total 32 drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Desktop

drwxr-xr-x 4 sysadmin sysadmin 4096 Aug

4 20:58 Documents

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Downloads

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Music

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Pictures

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Public

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Templates

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 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 -rimprimirá los resultados en el orden alfabético inverso. sysadmin@localhost :~$ ls -r

Videos

Templates

Public

Pictures

Music

Downloads

Documents

Desktop

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: sysadmin@localhost :~$ ls -l -r

total 32

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Videos

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Templates

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Public

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Pictures

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Music

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Downloads

drwxr-xr-x 4 sysadmin sysadmin 4096 Aug

4 20:58 Documents

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Desktop

sysadmin@localhost :~$ ls -rl

total 32 drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Videos

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Templates

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Public

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Pictures

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Music

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 Downloads

drwxr-xr-x 4 sysadmin sysadmin 4096 Aug

4 20:58 Documents

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug

4 20:58 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? sysadmin@localhost :~$ 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): sysadmin@localhost :~$ aptitude -v moo

There really are no Easter Eggs in this program. sysadmin@localhost:~$  aptitude -v moo

Realmente no hay sorpresas en este programa.

Combinando las múltiples opciones -v, podemos obtener una variedad de respuestas: sysadmin@localhost :~$ aptitude -vv moo

Didn't I already tell you that there are no Easter Eggs in this program?

sysadmin@localhost :~$ aptitude -vvv moo

Stop it! sysadmin@localhost:~$  aptitude -vv moo

¿No te dije que no hay sorpresas en este programa? sysadmin@localhost:~$  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!

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. sysadmin@localhost :~$ 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. sysadmin@localhost :~$

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

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: sysadmin@localhost :~$ cd Documents sysadmin@localhost :~/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. sysadmin@localhost :~$ 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.

sysadmin@localhost :/$ cd /home/sysadmin sysadmin@localhost :~$

Si no hay salida, esto significa que el comando tuvo éxito. Sigue adelante y confírmalo mediante el comando pwd: sysadmin@localhost :~$ 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. sysadmin@localhost :~$ cd Documents sysadmin@localhost :~/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 resultadoSchool/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. sysadmin@localhost :~/Documents/ $ cd School/Art sysadmin@localhost :~/Documents/School/Art $

Utiliza el comando pwd para confirmar el cambio:

sysadmin@localhost :~/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 seguido la 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 : sysadmin@localhost :~/Documents/School/Art $ cd .. sysadmin@localhost :~/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: sysadmin@localhost :~/Documents/School $ cd ~

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

Símbolo

Tipo de Archivo

Descripción

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



Los Permisos

d rwxr-xr-x 1 root ro ot 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:1 7 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

Símbolo

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 ut mp 292584 Aug 20 18: 44 lastlog Indica el grupo propietario de este archivo 

Tamaño del Archivo

-rw-r----- 1 syslog a dm 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 roo t 32 Jul 17 03:36 fs ck Esto indica el momento en el que el contenido del

Tipo de Archivo

Descripción

Símbolo

archivo se modificó por última vez. 

Nombre de archivo

-rw-r--r-- 1 root roo t 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 -lpara 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:

Tipo de Archivo

Descripción

Símbolo

Tipo de Archivo

sysadmin@localhost :~$ ls -l

t /var/log total 840 -rw-r----- 1 syslog adm 7014 Jul 28 00:10 syslog

2

-rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log -rw-rw-r-- 1 root utmp 29 2584 Jul 27 23:10 lastlog -rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp -rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log -rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck -rw-r--r-- 1 root root 1 7869 Mar 14 17:48 alternati ves.log -rw-r----- 1 root adm 5083 Mar 14 17:48 dmesg

8

-rw-r--r-- 1 root root 3 2064 Mar 14 17:48 faillog -rw-r--r-- 1 root root 31 5196 Mar 14 17:48 dpkg.log drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2 drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt -rw-r--r-- 5 root root 4 7816 Mar 2 23:10 bootstrap .log -rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart

Descripción

Símbolo

Tipo de Archivo

La opción -S ordenará los archivos por tamaño del archivo: sysadmin@localhost :~$ ls -l

-S /var/log total 840 -rw-r--r-- 1 root root 31 5196 Mar 14 17:48 dpkg.log -rw-rw-r-- 1 root utmp 29 2584 Jul 27 23:10 lastlog -rw-r----- 1 root adm 5083 Mar 14 17:48 dmesg

8

-rw-r--r-- 5 root root 4 7816 Mar 2 23:10 bootstrap .log -rw-r--r-- 1 root root 3 2064 Mar 14 17:48 faillog -rw-r----- 1 syslog adm 7014 Jul 28 00:10 syslog

2

-rw-r--r-- 1 root root 1 7869 Mar 14 17:48 alternati ves.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

Descripción

Símbolo

Tipo de Archivo

-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: sysadmin@localhost :~$ ls -l

Sr /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 1 7869 Mar 14 17:48 alternati ves.log -rw-r----- 1 syslog adm 7014 Jul 28 00:10 syslog

2

-rw-r--r-- 1 root root 3 2064 Mar 14 17:48 faillog -rw-r--r-- 5 root root 4 7816 Mar 2 23:10 bootstrap .log -rw-r----- 1 root adm 5083 Mar 14 17:48 dmesg

8

Descripción

Símbolo

Tipo de Archivo

Descripción

-rw-rw-r-- 1 root utmp 29 2584 Jul 27 23:10 lastlog -rw-r--r-- 1 root root 31 5196 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: sysadmin@localhost :~$ ls -r

/var/log wtmp lastlog faillog cron.log auth.log al ternatives.log upstart  kern.log dpkg.log btmp apt syslog fsck  dmesg bootstrap.log apache2

Acceso Administrativo

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 Para evitar que se ejecuten los l os 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á: sysadmin@localhost :~$ sl

sl: Permission denied 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. 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.

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 : sysadmin@localhost :~$ cd ~/Documents sysadmin@localhost :~/Documents ~/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-rrw-rw-r-- 1 sysadmi sysadmin n sysadmin sysadmin 21 Aug

1 02:35 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 rw-rw-r--- 1 sysadmi sysadmin n sysadmi sysadmin n 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: ca racteres: 

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

1 02:35 hello.s hello.sh h

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--rw-rwr-- 1 sysadmi sysadmin n sysadmin 21 Aug 

1 02:35 hello.s hello.sh h

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

1 02:35 hello.s hello.sh h

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--rw-rwr-- 1 sysadmi sysadmin n sysadmi sysadmin n 21 Aug 

1 02:35 hello.s hello.sh h

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

1 02:35 hello.s hello.sh h

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

Efectos en el directorio

read (o «leer» en español) (r)

Permite que el contenido del archivo se lea o copie.

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.

write (o «escribir» en español)

Permite modificar y sobrescribir el contenido. Permite añadir o quitar los archivos de un directorio.

Para que este permiso funcione, el directorio debe también tener el permiso de ejecución.

Permiso

Efectos en el archivo

Efectos en el directorio

execute (o «ejecutar» en español)

Permite que un archivo se ejecute como un proceso, aunque los archivos de script 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.

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 chmodrealmente 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 : sysadmin@localhost :~$ 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

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: sysadmin@localhost :~/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: sysadmin@localhost :~/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: sysadmin@localhost :~/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: sysadmin@localhost :~/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:

-rw x rw-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 sysadmin@localhost :~/Documents$ ./hello.sh

______________ ( Hello World! ) -------------\ \
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF