Bienvenidos a esta Guía Rápida de Linux para Hackers Linux para Hackers #12 Visualización y Permisos de Archivos. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

Índice

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lista de aprendizajes del artículo sobre abrir y manejar archivos en Linux

  1. Formas de abrir archivos en Linux:
    • Usar comandos básicos como cat, less, more, head, y tail para abrir y visualizar archivos.
  2. Visualización avanzada de contenido:
    • Herramientas para mostrar contenido en partes, buscar cadenas, y navegar dentro de archivos grandes (less, more).
  3. Visualización con numeración:
    • Emplear el comando nl para mostrar archivos con numeración de líneas.
  4. Control del contenido mostrado:
    • Utilizar opciones avanzadas de head y tail para seleccionar líneas o bytes específicos.
  5. Modificación de permisos y propiedad:
    • Cambiar permisos y propietarios con comandos como chmod, chown, y chgrp.
  6. Administración de permisos:
    • Usar notación simbólica y octal para otorgar o revocar permisos de lectura, escritura y ejecución.
  7. Seguimiento de cambios en archivos:
    • Monitorear actualizaciones en tiempo real en archivos, como logs del sistema, con tail -f.
  8. Comprensión de permisos y usuarios:
    • Identificar permisos y usuarios relacionados con archivos mediante ls -l y id.

Abrir archivo en Linux

Existen varias formas de abrir un archivo en un sistema Linux. Es un proceso bastante sencillo para ver el contenido de un archivo, pero si eres un usuario nuevo, puede que te resulte molesto. No es tan fácil como abrir un archivo en el Bloc de notas. Desde la terminal de Linux, debes tener cierta experiencia con los comandos básicos de Linux. Hay algunos comandos como cat, ls , que se utilizan para leer archivos desde la terminal.

En Linux , podemos mostrar varios formatos de archivos, como archivos de texto, archivos de audio, video, imágenes, documentos, PDF o cualquier otro contenido de archivo.

Existen muchos comandos que ayudan a ver el contenido de un archivo. Ahora veremos algunos de ellos, como head, tac, cat, less & more y strings.

Discutiremos sobre los siguientes contenidos de archivos que aparecen en la tabla:

ComandosFunción
headMuestra el comienzo de un archivo.
tailMuestra la última parte de un archivo.
catEste comando es versátil y multi-trabajador.
tacOpuesto de cat.
moreLa línea de comandos muestra el contenido en formato de buscapersonas que puede estar en cualquier otro formato.
lessLa línea de comandos muestra el contenido en formato de paginador, es decir, en formato menor.

Abrir archivo usando el comando less

El comando less nos permite ver una página a la vez.

Para mostrar el contenido del archivo, ejecute el comando less de la siguiente manera:

Sintaxis:

less <archivo nombre>  

less Test.txt  

El comando anterior mostrará el contenido del archivo como una página a la vez. Para ver más, desplácese por la salida. Considere la salida siguiente:

Observa la captura de pantalla anterior.  En la esquina izquierda se muestra el nombre del archivo. Para salir del comando less, presione la tecla ‘q’ y volverá a la terminal.

El comando ‘less’ es el mismo que el comando ‘more’ pero incluye algunas funciones más.

Se ajusta automáticamente al ancho y alto de la ventana del terminal, mientras que el comando ‘más’ corta el contenido a medida que se acorta el ancho de la ventana del terminal.

Linux para encontrar una cadena

Se busca una cadena particular escribiendo una barra diagonal (/) seguida del nombre de la cadena, en lugar del nombre del archivo en la esquina inferior izquierda del cuadro de terminal.

Sintaxis:

/nombre de cadena  

Ejemplo:

sudo less /etc/shadow

/dev

Mire la instantánea de arriba, queremos encontrar la cadena ‘deb’, por lo tanto, hemos escrito “/deb” en la esquina inferior izquierda.

Salida: La siguiente captura de pantalla muestra la salida del comando “/deb” . La cadena “deb” se resaltará automáticamente.

Note que más abajo aparece Deb de Debian pero en mayúsculas y no lo resalta. Considere estos en sus búsquedas.

Teclas de navegación del comando less

El comando “less” tiene teclas de navegación similares a las del editor “vim”. Veamos algunas de las teclas de navegación y otras operaciones del comando “less”.

1. Navegación de búsqueda

Las teclas de navegación de búsqueda le ayudarán en la búsqueda hacia adelante y hacia atrás.

Búsqueda hacia adelante

  • / : busca un patrón para la próxima ocurrencia
  • n : buscar la siguiente coincidencia
  • N: buscar coincidencia anterior

Búsqueda hacia atrás

  • ? : buscar un patrón para la próxima ocurrencia
  • n: para el siguiente partido en dirección hacia atrás
  • N: para el partido anterior en dirección hacia adelante

Ruta de búsqueda

Adelante : /\/home\/sssit\/

Hacia atrás: /home/sssit

2. Navegación por pantalla

  • Ctrl + f : avanza una ventana
  • Ctrl + d: avanza media ventana
  • Ctrl + b: retroceder una ventana
  • Ctrl + u: ventana hacia atrás media

3. Navegación de línea

avanzar o retroceder línea por línea

  • j : avanzar una línea
  • k : retroceder una línea

4. Otras navegaciones

  • G: se utiliza para ir al final del archivo
  • g: se utiliza para ir al inicio del archivo
  • q o ZZ: para salir

5. Contar llaves

  • 10j : 10 líneas hacia adelante
  • 10k: 10 líneas hacia atrás

6. Navegación marcada

  • ma : marca la posición actual con la letra ‘a’
  • a : ir a la posición marcada

7. Archivos múltiples

  • pasando argumentos en la misma línea

less archivo1 archivo2  

  • Mientras visualiza el archivo 1, vaya al archivo 2

less archivo1  

:e archivo2  

Para navegar entre archivos cuando se abren más de dos archivos

  • n : ir al siguiente archivo
  • p : ir al archivo anterior

El comando less tiene más opciones que puedes explorar

 less –help

También te recomendamos consultar las páginas man:

 man less

Resumen y Puntos clave:

  1. Comando less para visualizar archivos
    El comando less permite ver el contenido de un archivo, una página a la vez, sin cargar todo el archivo en memoria. A diferencia de cat o moreless facilita la navegación por archivos grandes.
    Sintaxis básica:
    • less archivo.txt
      Para salir de less, simplemente presiona la tecla q.
  2. Navegación en less
    • Ctrl + f: Avanza una página.
    • Ctrl + b: Retrocede una página.
    • j: Avanza una línea.
    • k: Retrocede una línea.
    • G: Ir al final del archivo.
    • g: Ir al inicio del archivo.
  3. Buscar cadenas de texto en un archivo con less
    Para buscar una palabra o cadena de texto en el archivo, usa el símbolo / seguido del término de búsqueda.
    Ejemplo:
    • /cadena_a_buscar
      Presiona n para ir a la siguiente coincidencia o N para la coincidencia anterior.
  4. Teclas de navegación en less
    • /cadena: Busca hacia adelante.
    • ?cadena: Busca hacia atrás.
    • n: Ir a la siguiente coincidencia de búsqueda.
    • N: Ir a la coincidencia anterior.
  5. Uso de less con múltiples archivos
    less permite abrir varios archivos al mismo tiempo. Mientras visualizas el primero, puedes cambiar a otros archivos con :e nombre_archivon para el siguiente archivo y p para el anterior.
    Ejemplo:
    • less archivo1 archivo2
  6. Funciones avanzadas del comando less
    • Ctrl + d: Avanza media página.
    • Ctrl + u: Retrocede media página.
    • ma: Marca una posición en el archivo con la letra ‘a’.
    • ‘a’: Ir a la posición marcada.
  7. Contar líneas y navegación rápida
    Puedes moverte rápidamente un número específico de líneas.
    Ejemplo:
    • 10j: Avanza 10 líneas.
    • 10k: Retrocede 10 líneas.

El comando less es muy útil para visualizar archivos grandes en Linux, permitiendo una navegación fluida y la búsqueda de contenido dentro del archivo. Es una herramienta esencial para administradores de sistemas y usuarios avanzados que necesitan manipular grandes volúmenes de texto de manera eficiente.

Abrir archivo usando el comando more

El comando more de Linux también se utiliza para mostrar el contenido del archivo. Como el comando less ajusta automáticamente la altura y el ancho de la ventana de la terminal, corta el contenido según el ancho de la terminal.

  • Utilice las siguientes teclas para desplazarse por la salida:
  • Presione la tecla ENTER para desplazarse por la página línea por línea.
  • Presione la barra espaciadora para ir a la página siguiente.
  • Presione la tecla ‘b’ para ir a la página anterior.
  • Presione la tecla ‘/:’ para buscar la cadena.

Para mostrar el contenido del archivo mediante el comando more, ejecútelo de la siguiente manera:

Sintaxis:

more <archivo nombre>  

Ejemplo:

more carlos.txt  

El comando anterior mostrará el contenido del archivo en el ancho de la ventana de la terminal. Considere el siguiente resultado:

Del mismo modo que el comando “cat” muestra el contenido del archivo, el comando “more” también muestra el contenido de un archivo. La única diferencia es que, en el caso de archivos más grandes, la salida del comando “cat” se desplazará fuera de la pantalla, mientras que el comando “more” muestra la salida de una pantalla a la vez.

sudo more /etc/shadow

Mire la instantánea de arriba, en la esquina izquierda se muestra 67%, lo que indica que se muestra una página del 67%.

Para desplazarse hacia abajo utilice la tecla ‘espacio’ ; se mostrará la siguiente página.

Si desea desplazarse por la página línea por línea, utilice la tecla “Enter” .

Si desea ir a la última página o a la anterior utilice la tecla ‘b’ .

Opciones del comando more

OpcionesFunción
more -numLimita la línea mostrada por página.
more -dMuestra el mensaje del usuario en la esquina derecha.
more -sApriete las líneas en blanco.
more +/nombre de cadenaAyuda a encontrar la cadena.
more +numSe utiliza para mostrar el contenido de una línea específica.

Nota: El comando ‘más’ no se puede utilizar para mostrar archivos binarios.

El comando more tiene más opciones que puedes explorar

 more –help

También  te recomendamos consultar las páginas man:

 man more

Abrir archivo con el comando nl

El comando nl muestra el contenido del archivo con el número de línea. Es casi igual que el comando cat. La principal diferencia entre ambos comandos es que antepone números de línea al mostrar la salida en la terminal.

Para mostrar el contenido del archivo con el comando nl, ejecute el comando de la siguiente manera:

nl carlos.txt  

El comando anterior mostrará el contenido del archivo con el número de línea. Considere el siguiente resultado:

sudo nl /etc/shadow

El comando ln tiene más opciones que puedes explorar

ln –help

También  te recomendamos consultar las páginas man:

 man ln

Resumen y Puntos clave:

  1. Comando more para visualizar archivos en Linux
    El comando more permite visualizar el contenido de un archivo, una pantalla a la vez, similar a less. A diferencia de catmore pausa la salida para facilitar la lectura de archivos grandes.
    Sintaxis:
    more archivo.txt
  2. Teclas de navegación en el comando more
    • Enter: Avanza línea por línea.
    • Espacio: Avanza a la siguiente página.
    • b: Retrocede una página.
    • /: Permite buscar una cadena dentro del archivo.
    • Ejemplo de búsqueda:
      • /cadena_a_buscar
  3. Opciones avanzadas del comando more
    • more -num: Limita la cantidad de líneas mostradas por página.
    • more -d: Muestra mensajes de navegación en la esquina inferior.
    • more -s: Suprime las líneas en blanco redundantes.
    • more +/cadena: Comienza la visualización desde la primera coincidencia de la cadena especificada.
    • more +num: Comienza a mostrar el archivo desde la línea especificada.
    • Ejemplo:
    more +5 archivo.txt
  4. Diferencias entre more y cat
    Mientras que cat muestra todo el contenido de un archivo de una vez, more pausa la salida para mostrar el contenido en partes, lo que lo hace más adecuado para archivos grandes.
  5. Comando nl para mostrar archivos con números de línea
    El comando nl es similar a cat, pero añade números de línea a la salida, lo que facilita el seguimiento de las líneas de un archivo.

    Sintaxis:
    nl archivo.txt
  6. Búsqueda con nl
    Al igual que cat, puedes usar nl para ver archivos en un formato numerado, pero no incluye funciones de búsqueda como less o more.

El comando more es útil para navegar archivos grandes, ofreciendo una lectura pausada y la capacidad de buscar texto. Con opciones adicionales como +num y +/cadena, es ideal para archivos largos que necesitan ser explorados en partes.

Abra el archivo usando el comando head

Otra forma de ver el contenido de los archivos es utilizando los comandos head y tail . Estos comandos se utilizan para ver un número seleccionado de líneas desde la parte superior o inferior de un archivo. Echar un vistazo a algunas líneas de un archivo puede ser útil para asegurarse de que el archivo es realmente el que desea utilizar.

Obtener una vista previa de las primeras o últimas líneas de un archivo es también útil para algunos archivos, como los archivos de registro del sistema, porque se actualizan con nuevas entradas frecuentemente.

Podemos mostrar el contenido del archivo mediante el comando head , pero es ligeramente diferente a otros. Muestra la primera parte de los archivos mediante la entrada estándar. De forma predeterminada, muestra las primeras diez líneas de los archivos. Comienza a leer el archivo desde el encabezado (primera línea).

Para abrir un archivo utilizando el comando head, ejecute el comando de la siguiente manera:

 head < archivo nombre>  

El comando anterior mostrará el contenido del archivo especificado.

Ejemplo:

 head carlos.txt

Mire la instantánea de arriba, el comando “head carlos.txt” ha mostrado las primeras diez líneas del archivo ‘carlos.txt’ .

Comando head para varios archivos

Si escribimos dos nombres de archivo, se mostrarán las primeras diez líneas (en este caso, el archivo tiene solo cinco líneas) de cada archivo separadas por un encabezado.

Sintaxis:

 head <archivo nombre> <archivo nombre>  

Ejemplo:

 head carlos.txt /etc/shadow 

Mire la instantánea de arriba, el contenido de ambos archivos se muestra con un encabezado separado con la ayuda del comando head carlos.txt /etc/shadow .

head -n

La opción ‘head -n’ muestra el número especificado de líneas.

Sintaxis:

cabeza -n <archivo nombre>  

Ejemplo:

 head -16

Mire la instantánea de arriba, se muestran 15 líneas con el comando “head -16 carlos.txt” .

Nota: La sintaxis del ejemplo anterior también se puede escribir como “head -n-16 carlos.txt” o “head -n -16 carlos.txt” . En todos los casos, el resultado será el mismo.

head -c

El comando ‘head -c’ cuenta el número de bytes de un archivo.

Sintaxis:

 head -c <número> <archivo nombre>  

Ejemplo:

 head  -c 32 carlos.txt  

Mire la instantánea de arriba, el contenido de 20 bytes del archivo ‘carlos.txt’ se muestra con la ayuda del comando “head -c 160 carlos.txt” .

Nota: El conteo de bytes tiene solo una sintaxis, a diferencia del conteo de líneas.

Si utiliza “head -c <número> k <nombre de archivo>”, obtendrá el resultado multiplicando el número por el sufijo. El sufijo puede ser “b (bytes=512), k(kilobytes=1024) y m (megabytes=1048576)”.

El comando head tiene más opciones que puedes explorar

 head –help

También  te recomendamos consultar las páginas man:

 man head

Comando tac de Linux

El comando ‘tac’ es el inverso del comando ‘cat’. También se lo conoce como ‘cat’ al revés. Muestra el contenido del archivo en orden inverso. Imprime primero la última línea, luego la penúltima y así sucesivamente. De esta manera, imprime la primera línea al final.

Sintaxis:

 tac <archivo nombre>  

Ejemplo:

 tac files  

Mire la instantánea de arriba; hemos mostrado el archivo ‘count’ con los comandos ‘cat’ y ‘tac’ para mostrar la diferencia entre los dos.

Para separar el contenido

El comando ‘tac –separator’ separará el contenido de la cadena o palabra clave mencionada del resto del contenido del archivo.

Sintaxis:

 tac <archivo nombre> –separador “<cadena>”  

Ejemplo:

tac carlos.txt –separator “hacker”  

Observa la captura de pantalla anterior. En el primer ejemplo, hemos separado el contenido del archivo ‘carlos.txt’ de la cadena “hacker” del resto del contenido con la ayuda del comando ‘tac carlos.txt –separator “hacker”‘ .

El comando tac tiene más opciones que puedes explorar

 tac –help

También  te recomendamos consultar las páginas man para este comando:

 man tac

Abra el archivo usando el comando tail.

El comando tail es similar al comando head. La diferencia entre ambos comandos es que comienza a leer el archivo desde la cola (última línea). Al igual que el comando head, también muestra la salida de las últimas diez líneas de forma predeterminada.

Para abrir el archivo usando el comando tail, ejecute el comando de la siguiente manera:

 tail <archivo nombre>  

El comando anterior mostrará el contenido de la última línea del archivo especificado.

Al examinar la salida de los comandos head y tail anteriores, puede ver que el comportamiento predeterminado de los comandos head y tail en este shell es mostrar diez líneas.

La opción -n con los comandos head y tail se puede utilizar para especificar la cantidad de líneas a mostrar.

De manera predeterminada, el comando tail muestra el contenido del archivo. La visualización comienza en una línea, un bloque de 512 bytes o una ubicación de bloque dentro de la entrada. Los números que incluyen un símbolo más inicial se asocian con el inicio de la entrada, por ejemplo, “-c +2” comienza la visualización en el segundo byte de entrada. Los números que incluyen un símbolo menos inicial o ningún símbolo explícito se asocian con la finalización de la entrada, por ejemplo, “-n 2” muestra las dos últimas líneas de entrada. “-n 10” o las últimas diez líneas de entrada son la ubicación de inicio predeterminada.

El comando tail copia el archivo especificado en la salida estándar en una ubicación designada. La entrada estándar se copia si no se especifica el archivo. La copia comienza en la posición +número medida desde el inicio o -número desde la finalización de la entrada. El número se mide en bytes, bloques de 1K o líneas, según los indicadores adjuntos b, c o l. -101 es el valor predeterminado.

Además, el indicador r hace que el comando tail muestre las líneas desde la finalización del archivo en sentido inverso. El indicador f hace que el comando tail siga observando y mostrando más datos a medida que se muestran después de imprimir hasta la finalización.

Monitoreo de archivos

El comando tail tiene dos opciones de línea únicas, -F y -f, que permiten administrar un archivo. En lugar de simplemente mostrar algunas líneas finales y cerrar, el comando tail muestra las líneas y audita el archivo. El comando tail puede actualizar la visualización porque otros procesos incluyen nuevas líneas en el archivo.

En particular, resulta útil para auditar archivos de registro. Las versiones anteriores del comando tail, de forma predeterminada, consultan el archivo cada vez, pero admite la infraestructura inotify especificada en la versión 2.6.13 del kernel de Linux en agosto de 2005, que solo monitorea el archivo si el kernel le notifica modificaciones.

Comportamiento predeterminado

El uso predeterminado del comando tail muestra las últimas diez líneas de los archivos. Crea un archivo ‘ carlos.txt’ que contenga los números del 1 al 15 (cada número en una nueva línea).

Vamos a abrirlo ejecutando el comando tail sin ningún argumento de la siguiente manera:

 tail carlos.txt  

Considere el siguiente resultado:

De la salida anterior, podemos ver que se muestran las últimas diez líneas de ‘num.txt’.

Opciones de tail

  • –block=número, -b número: el bloque de 512 bytes es la ubicación.
  • –bytes=número, -c número: el byte del número es la ubicación.
  • -f: Esta opción hace que el comando tail no se detenga si se alcanza el final del archivo, sino que espere a que se agreguen otros datos a la entrada. La opción se evita cuando stdin es una tubería, pero no cuando es un FIFO.
  • -F: esta opción indica el indicador -f, pero el comando tail también detectará si el archivo que se sigue ha sido rotado o renombrado. El archivo se sella y se vuelve a abrir si el comando tail detecta que el nombre del archivo leído incluye los números de un nuevo inodo.

El comando tail seguirá buscando y mostrará el archivo desde el principio cuando se haya creado, si el archivo siguiente no está disponible o si se ha eliminado. La opción -F es similar a la opción -f cuando se lee desde la entrada estándar en lugar de un archivo.

  • –lines=número, -n número: la línea numérica es la ubicación.
  • -q: La opción -q se utiliza para suprimir la impresión del encabezado si se están monitoreando dos o más archivos.
  • -r: la opción -r hace que la entrada se muestre por línea en orden inverso. Esta opción modifica además el significado de las opciones -n, -b y -c. Si se nombra la opción -r, estas opciones definen el número total de bloques, líneas o bytes de 512 bytes que se mostrarán en lugar de los bytes, bloques o líneas desde el inicio o la finalización de la entrada a través de la cual se iniciará la visualización. Para -r, el valor predeterminado es mostrar cada entrada.

Todos los archivos están precedidos por el encabezado compuesto por la cadena “==> XXX <==” , en donde XXX es el nombre del archivo a menos que se especifique la opción -q si se especifica más de un archivo.

Muestra el número específico de líneas

La opción ‘-n’ muestra la cantidad de líneas especificada. Para especificar la cantidad de líneas, ejecute el comando de la siguiente manera:

cola -n <número> <archivo nombre>  

Se mostrará la cantidad de líneas especificadas desde la última. Considere el siguiente ejemplo:

tail -n 5 carlos.txt  

El comando anterior mostrará las últimas cinco líneas del archivo ‘num.txt’. También podemos omitir la letra ‘n’ en su lugar y podemos utilizar el guion (-) y el número sin ningún espacio. Considere el siguiente resultado:

Como podemos ver en la salida anterior, se muestran las últimas cinco líneas de ‘num.txt’.

Muestra el número especificado de bytes

La opción ‘-c’ muestra la cantidad de bytes especificada desde el último. Para mostrar la cantidad de bytes especificada, ejecute el comando de la siguiente manera:

 tail -c <número> <archivo nombre>  

Se mostrará la cantidad de bytes especificada. Considere el siguiente ejemplo:

 tail -c 6 carlos.txt  

El comando anterior mostrará el contenido del archivo hasta 6 bytes desde el último. Considere el siguiente resultado:

De la salida anterior, se muestran los últimos seis bytes del archivo ‘num.txt’.

También podemos utilizar el sufijo con el número, como b, kb, k, MB y otros, para especificar la cantidad de bytes. Estos sufijos multiplican el número especificado de la siguiente manera:

  • b: lo multiplica por 512.
  • kb: lo multiplica por 1000.
  • k: lo multiplica por 1024.
  • MB: lo multiplica por 1000000.

Realizar un seguimiento de los cambios en un archivo

Para hacer un seguimiento de los cambios en un archivo, se utiliza la opción ‘-f’. Aquí, ‘-f’ significa lo siguiente. Es útil para monitorear archivos de registro. Ejecute el siguiente comando:

 tail -f carlos.txt  

El comando anterior supervisará el archivo ‘num.txt’. Para salir de la supervisión, presione las teclas “CTRL+C”. Observe el resultado siguiente:

Mostrar varios archivos

Podemos mostrar varios archivos a la vez desde el último al ejecutar el comando tail. Para mostrar varios archivos, proporcione los nombres de los archivos como entrada. Se mostrarán las últimas diez líneas de los archivos especificados.

Por ejemplo, tenemos otro archivo ‘alphabet.txt’ que contiene todos los caracteres del alfabeto en una nueva línea. Para mostrar ambos archivos ‘num.txt’ y ‘alphabet.txt’, ejecute el siguiente comando:

 tail carlos.txt /etc/shadow  

El comando anterior mostrará las últimas diez líneas de los archivos especificados. Considere el siguiente resultado:

A partir del resultado anterior, podemos ver que las últimas diez líneas de los archivos especificados se muestran a la vez.

Tail con otros comandos

El comando tail se puede utilizar con otros comandos. Se puede conectar a otros comandos para filtrar la salida. Considere el siguiente comando:

ls -t /etc | tail -n 6  

A partir del comando anterior, hemos canalizado el comando tail con el comando ls. Solo mostrará seis archivos o carpetas modificados hace más tiempo. Considere el siguiente resultado:

Ejecutemos el comando tail con el comando ps para mostrar el proceso que se está ejecutando en la parte superior. Ejecute el comando de la siguiente manera:

ps aux | sort -nk +3 | tail -2  

Considere el siguiente resultado:

El comando tail tiene más opciones que puedes explorar

 tail --help

También  te recomendamos consultar las páginas man:

 man tail

Introducción de archivos de Linux

Linux es un clon de UNIX, el sistema operativo multiusuario al que pueden acceder muchos usuarios simultáneamente. Linux también se puede utilizar en mainframes y servidores sin necesidad de realizar ninguna modificación, pero esto plantea problemas de seguridad, ya que un usuario no deseado o malintencionado puede corromper, cambiar o eliminar datos cruciales. Para lograr una seguridad eficaz, Linux divide la autorización en dos niveles.

  1. Propiedad
  2. Permiso

Los permisos de archivos en el sistema operativo Linux. Comprender cómo funcionan los permisos es esencial para garantizar la seguridad y la integridad de tu sistema. En este capítulo, desglosaremos los conceptos clave y te proporcionaremos las herramientas para administrar adecuadamente los permisos de archivos en entornos Linux.

Los permisos de archivos, es decir, controlar el acceso a archivos y directorios (carpetas), son indispensables. Si has escrito scripts Bash personalizados, es probable que hayas perdido la cuenta de cuántas veces invocas el comando chmod +x myscript.sh. Al realizar tareas administrativas del sistema, debes estar familiarizado con los comandos su o sudo.

Los siguientes comandos muestran permisos de archivos/directorios:

Permisos de Archivos en Linux

A pesar de contar con las mejores características de seguridad, Linux requiere permisos de archivos para proteger su sistema de archivos, ya que existen problemas relacionados con los permisos que ocurren cuando un usuario asigna permisos incorrectos a los archivos y directorios. Estos problemas pueden provocar una manipulación maliciosa o accidental del sistema de archivos.

Todos los archivos en Linux pertenecen a un grupo de usuarios y a un usuario en particular. También que a su vez los usuarios pertenecen a grupos y que los permisos se asignan tanto a grupos como a usuarios. Los usuarios pueden pertenecer a uno o más grupos y por ende tendrás diferentes permisos sobre los archivos/directorios. Existen tres tipos de permisos que se pueden aplicar, estos son:  

  • Lectura: otorga al grupo el permiso de poder leer el archivo. Se indica con la letra r (inicial de Read, que significa leer en inglés)
  • Escritura: otorga al grupo el permiso de poder editar el archivo pudiendo escribir en él. Se indica con la letra w (inicial de Write, que significa escribir en inglés)
  • Ejecución: otorga al grupo el permiso de poder ejecutar el archivo. Se indica con la tecla x (que viene de la palabra Execute, que significa ejecutar en inglés)

Propiedad de archivos de Linux

Para entender mejor cómo esto es aplicado a un grupo, podrían, por ejemplo, darle a un grupo de usuarios el permiso de leer y escribir en un archivo, pero no la capacidad de poder ejecutarlo. O podrían darle los permisos de poder leer y ejecutar un archivo, pero no de poder modificarlo. Incluso pueden darle a un grupo todos los permisos de lectura, escritura y ejecución de un archivo, o ningún permiso quitándoselos todos. Los grupos del archivo a los que nos podremos referir son:

  • Usuario: el propietario actual del archivo (nos referimos a este grupo con la letra u)
  • Grupo: un grupo de usuarios de un archivo (nos referimos a este grupo con la letra g)
  • Todos: todos los usuarios (nos referimos a este grupo con la letra a de all, que significa todos en inglés)

En términos generales, sólo tendremos que trabajar con los tres primeros grupos. El grupo de todos es sólo utilizado como un atajo. Si abren una terminal, y en la línea de comandos, escriben el comando “ls –l”, verán un listado de todos los archivos y directorios que hay dentro del directorio de trabajo actual en el que nos encontremos.

Ejemplo de permisos de Archivos en Linux

Todos los archivos del sistema de archivos de Linux se clasifican de la siguiente manera:

  1. Archivos ordinarios que contienen datos, texto, imágenes, instrucciones de programa.
  2. Archivos especiales que dan acceso a dispositivos de hardware.
  3. Directorios que contienen los archivos ordinarios y especiales.

Echemos un vistazo al sistema de archivos de Linux. Enumere todos los archivos y directorios utilizando el comando ls -l.

En la imagen dada hay siete columnas, que se definen de la siguiente manera:

  • La primera columna representa el tipo de archivo y los permisos de archivo. Cada fila de archivo comienza con el tipo de archivo y luego especifica los permisos de acceso asociados con los archivos. Estos son los siguientes tipos de archivos con sus caracteres específicos:
    1. Archivo regular (-)
    2. Directorio (d)
    3. Enlace (l)
    4. Expediente especial (c)
    5. Zócalo(s)
    6. Tubería con nombre (p)
    7. Dispositivo de bloqueo (b)
  • La segunda columna representa el número de bloques de memoria.
  • La tercera columna representa al propietario del archivo o al superusuario, quien tiene el poder de administración.
  • La cuarta columna representa el grupo del propietario/superusuario.
  • La quinta columna representa el tamaño del archivo.
  • La sexta columna representa la fecha y hora en que se creó o modificó el archivo por última vez.
  • La última columna representa el nombre del archivo o del directorio.

Agrupaciones de letras

Los permisos se agrupan en grupos de 3 letras, las primeras 3 posiciones corresponden a los permisos del owner (creador), las siguientes 3 al grupo y los últimos 3 al resto del mundo… La primera columna es lo que nos brinda la información sobre los permisos, verán que hay muchos directorios (comienzan con la letra d y a continuación los permisos

d rwx rwx r-x

En el caso de Descargas por ejemplo, se interpreta de la siguiente manera:

  • Es un Directorio
  • Read, Write , Execute para el dueño.
  • Read , Write ,  Execute para el grupo
  • Read , Execute para el resto del mundo.

También verán que hay un archivo llamado file2.txt (tiene un guión en vez de la d inicial) y los siguientes permisos:

-rw-rw-r--

Se interpreta de la siguiente manera:

  • NO es un Directorio
  • Read, Write para el dueño.
  • Read , Write para el grupo
  • Read , para el resto del mundo.

Luego verán que hay 2 columnas, que dicen carlos y carlos. Esto es el usuario y grupo, que en este caso se llama igual porque al crear un usuario siempre se crea un grupo con el mismo nombre.

DOMINIODESCRIPCIÓN
ls -l carlos.txrVerificar permisos del archivo carlos.sh
ls -ld hackerVerificar permisos del directorio hackers

Permisos, alcance y detalles del archivo al ejecutar ls -l o ls -ld

Con lo explicado hasta ahora ya sabemos que en el ejemplo del archivo que se muestra en la captura el usuario tiene otorgados los permisos de lectura y escritura, el grupo al que pertenece el usuario tiene otorgado el permiso de lectura, escritura y otros tienen también permiso lectura y escritura. Si alguno de los grupos tuviera el permiso de ejecutar ese archivo (en el caso de que se pudiera porque fuera un script) entonces como hemos visto estaría representado con una x.

Los permisos sobre archivos y directorios abarcan cuatro ámbitos:

ALCANCESÍMBOLODESCRIPCIÓN
UsuariouEl propietario del archivo o directorio
GrupogEl grupo de usuarios que pueden acceder al archivo o directorio.
OtrooOtros usuarios (mundo)
TodoaTodos los usuarios

Permisos de archivos

TIPO DE PERMISOSÍMBOLOSI UN ARCHIVO TIENE ESTE PERMISO, PUEDE:SI UN DIRECTORIO TIENE ESTE PERMISO, PUEDE:
LeerrAbrir y ver el contenido del archivo (cat, head, tail)Leer el contenido del directorio (ls, du)
EscribirwEditar, eliminar o cambiar el nombre del archivo (vi)Editar, eliminar o cambiar el nombre del directorio y los archivos que contiene; crear archivos dentro de él (touch)
EjecutarxEjecutar el archivoIngrese el directorio (cd); sin x, los permisos r y w del directorio son inútiles
NingunoHacer nadaHacer nada

Comandos relacionados con permisos

DOMINIODESCRIPCIÓN
chmod permission carlos.txtCambiar los permisos de un archivo o directorio carlos.txt según permission en formato de notación simbólica u octal. Ejemplos:
chmod +x carlos.txtOtorga permisos de ejecución a todos los usuarios para carlos.txt usar notación simbólica.
chmod 777 carlos.txtOtorga permisos de lectura, escritura y ejecución a todos los usuarios para carlos.txt usar notación octal.
chown user2 carlos.txtCambiar el propietario de carlos.txt a user2.
chgrp group2 carlos.txtCambiar el grupo al que carlos.txt pertenece group2.
umaskObtén un subtrahend de cuatro dígitos. Recuerda en la resta: minuend – subtrahend = difference Si minuend es 777, difference son sus permisos de directorio predeterminados; si es 666, difference son sus permisos de archivo predeterminados.
su / sudo / sudo -iInvocar privilegios de superusuario.
idEncuentre su identificación de usuario y su identificación de grupo.
groupsEncuentra todos los grupos a los que perteneces.

Si ejecuta un comando más allá de los permisos otorgados, obtendrás errores como «Permiso denegado» u «Operación no permitida».

Cambiar permisos

Hay dos métodos para representar permisos en la línea de comando. El primer argumento del comando chmod admite ambas representaciones.

MÉTODOFORMATO DE PERMISOEJEMPLOSAPLICACIÓN SIN CHMOD
Notación simbólicaUna cadena de texto corta que consta de un carácter de [u/g/o/a], uno de los símbolos de asignación [+/-/=] y al menos uno de [r/w/x]. Si omite u/g/o/a, el valor predeterminado es a.u+rg-wxo=rx+x (i.e., a+x)ls -l Salidas de comando y ls -ld, p. -rwxrw-r–x Aquí, – denota la ausencia, no la eliminación, de un permiso.
Notación octalnúmero octal de tres dígitos que va del 000 al 777774 640Computación permisos predeterminados con umask

Notación simbólica

Esta notación se utiliza en las salidas de los comandos ls -l y ls -ld, y utiliza una combinación de u/g/o/a (que denota el alcance), +/-/= y r/w/x para cambiar los permisos. Si omite u/g/o/a, el valor predeterminado es a.

La notación +/-/= se refiere a otorgar/eliminar/establecer varios permisos.

En el modo absoluto, se cambian los permisos de los tres propietarios. En el modo simbólico, se pueden modificar los permisos de un propietario específico. Se utilizan símbolos matemáticos para modificar los permisos de los archivos.

OperadorDescripción
+Agrega un permiso a un archivo o directorio
Elimina el permiso
=Establece el permiso y anula los permisos establecidos anteriormente.

No utilizaremos permisos en números como 755 sino en caracteres como rwx.

A continuación, se muestran algunos ejemplos de chmod uso con notación simbólica. Puedes cambiar más de un permiso a la vez, uniendo notaciones simbólicas con una coma (,) como se muestra en el cuarto ejemplo a continuación.

COMANDO EN NOTACIÓN SIMBÓLICACAMBIO EN LOS PERMISOS DEL USUARIO (U)CAMBIO EN LOS PERMISOS DEL GRUPO (G)CAMBIO EN LOS PERMISOS DEL MUNDO (O)
chmod +x carlos.txt Ejecutar Ejecutar Ejecutar
chmod a=x carlos.txt Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar
chmod u-w carlos.txt Escribir(Ningún cambio)(Ningún cambio)
chmod u+wx,g-x,o=rx foo Escribir  Ejecutar Ejecutar Leer  Escribir  Ejecutar

Modo absoluto (numérico) en Linux

En este modo, los permisos de archivo no se representan como caracteres sino como un número octal de tres dígitos . La siguiente tabla proporciona números para todos los tipos de permisos.

Notación octal

Esta notación es un número de tres dígitos, en el que cada dígito representa permisos como la suma de cuatro sumandos 4, 2 y 1 correspondientes a leer (r), escribir ( w) y ejecutar (x) permisos respectivamente.

  • El primer dígito se aplica al usuario (propietario) (u).
  • El segundo dígito se aplica al grupo (g).
  • El tercer dígito se aplica al mundo (otros usuarios) (o).
DÍGITO OCTALPERMISO(S) CONCEDIDO(S)SIMBÓLICO
0Ninguno[u/g/o]-rwx
1Sólo permiso de ejecución[u/g/o]=x
2Sólo permiso de escritura[u/g/o]=w
3Permisos de escritura y ejecución únicamente: 2 + 1 = 3[u/g/o]=wx
4Sólo permiso de lectura[u/g/o]=r
5Permisos de lectura y ejecución únicamente: 4 + 1 = 5[u/g/o]=rx
6Permisos de lectura y escritura únicamente: 4 + 2 = 6[u/g/o]=rw
7Todos los permisos: 4 + 2 + 1 = 7[u/g/o]=rwx

Ejemplo: el archivo ‘alvaro.txt’ a ‘764’.

El código absoluto ‘764’ dice lo siguiente:

  • El propietario puede leer, escribir y ejecutar
  • El grupo de usuarios puede leer y escribir
  • El mundo sólo puede leer

Esto se muestra como ‘-rwxrw-r–

Ejemplos de notación octal

Así es como puedes cambiar los permisos de usuario en Linux en un archivo asignando un número absoluto.

A continuación, se muestran algunos ejemplos de chmod uso con notación octal:

COMANDO EN NOTACIÓN OCTALCAMBIO EN LOS PERMISOS DEL USUARIO (U)CAMBIO EN LOS PERMISOS DEL GRUPO (G)CAMBIO EN LOS PERMISOS DEL MUNDO (O)
chmod 777 carlos.txt Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar
chmod 501 carlos.txt Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar
chmod 365 carlos.txt Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar
chmod 177 carlos.txt Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar Leer  Escribir  Ejecutar

Conversión entre notaciones simbólicas y octales

Para visualizar la notación octal, permita que ↔ asigne notación simbólica a números binarios (0 = permiso denegado, 1 = permiso concedido) y deja que ⇔ convierta entre el sistema numérico binario y octal. Tienes:

  • r ↔ 1002 ⇔ 48,
  • w ↔ 0102 ⇔ 28, y< /span>
  • x ↔ 0012 ⇔ 18.

Por lo tanto, cada combinación de r, w y x corresponde a la suma única de sus representaciones numéricas, como permisos completos rwx ↔ 111 111 1112 ⇔ 7778, de la siguiente manera:

NOTACIÓN SIMBÓLICA (LS -L)REPRESENTACIÓN BINARIANOTACIÓN OCTAL
rwxr-xr-x111 101 101755
rw-r–r–110 100 100644
rwx——111 000 000700
r-xr-xr-x101 101 101555

Permisos predeterminados

Además de ser una alternativa a la notación simbólica, la notación octal tiene un caso de uso especial con el comando umask.

Para verificar qué permisos tiene como usuario actual, usa el comando umask para obtener un número de cuatro dígitos que, si se resta de 0777, le otorga los permisos predeterminados para crear un directorio. y, si se resta de 0666, otorga permisos predeterminados para crear un archivo.

Uso: 

DOMINIODESCRIPCIÓN
umaskEncuentre sus permisos predeterminados de usuario y grupo cuando cree un nuevo archivo o directorio

Ejemplos:

SALIDA DE MÁSCARA DE USUARIOPERMISOS DE DIRECTORIO PREDETERMINADOSPERMISOS DE ARCHIVOS PREDETERMINADOS
0002Octal: 777 – 2 = 775 Simbólico: rwxrwxr-xOctal: 666 – 2 = 664 Simbólico: rw-rw-r–
0022Octal: 777 – 22 = 755 Simbólico: rwxr-xr-xOctal: 666 – 22 = 644 Simbólico: rw-r–r–
0314Octal: 777 – 314 = 463 Simbólico: r–rw–wxOctal: 666 – 314 = 352 Simbólico: -wxr-x-w-

Cambio de propiedad

Antes de cambiar la propiedad de cualquier archivo o directorio, necesitas saber cómo tu computadora identifica usuarios y grupos. Dos comandos útiles son id y groups.

Uso:

DOMINIODESCRIPCIÓN
idEncuentre su ID de usuario (uid) y su ID de grupo (gid)
groupsEncuentre el grupo al que pertenece su usuario

Ejemplo:

ID SALIDATDESCRIPCIÓN
uid=501(teacher) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts)Su ID de usuario (uid) es 501. Su ID de grupo (gid) es 20..y , Tu usuario pertenece a tres grupos: staffeveryone localaccounts
GROUPS PRODUCCIÓNDESCRIPCIÓN
staff everyone localaccountsTu usuario pertenece a tres grupos: staff, everyone y localaccounts.

Superusuario

La mayoría de las distribuciones de Linux contienen un programa que te permite acceder a la terminal como superusuario (o usuario root). Este programa ayuda a los usuarios experimentados a realizar tareas de administración del sistema.

Las dos formas de invocar este programa son los comandos su (abreviatura de usuario sustituto) para abrir un shell raíz dedicado y sudo ejecutar comandos. En ambos casos, deberá ingresar la contraseña de superusuario para continuar con la tarea que desea realizar.

Las distribuciones modernas no establecen la contraseña de superusuario, por lo que en esa situación, usa el comando sudo -i para ingresar al shell raíz.

El símbolo del shell cambia de $ a # en el shell raíz. Es un recordatorio de que un gran poder conlleva una gran responsabilidad. Para salir del shell raíz, utiliza el comando exit.

COMANDO (INCLUYE SÍMBOLO DE SHELL)SÍMBOLO) DESCRIPCIÓN DEL COMANDOMENSAJE DE SALIDA Y SÍMBOLO DE SHELL (NUEVO)
$ suInvocar shell de superusuarioPassword:  #
$ sudo some_commandInvocar privilegios de superusuario al ejecutarsome_commandPassword: $
$ sudo -iInvocar shell de superusuario si su está deshabilitadoPassword: #

Utilizá estos comandos de superusuario con cuidado.

Cambiar la propiedad del archivo

Si tiene privilegios de superusuario, puede cambiar el propietario (usuario) de un archivo o directorio utilizando el comando chown . Si conoces el uid del nuevo propietario, también puede reemplazar user2 a continuación con el uid correspondiente.

DOMINIODESCRIPCIÓN
sudo chown user2 carlos.txtTransferir la propiedad del usuario de carlos.txt a user2
sudo chown 102 carlos.txtTransferir la propiedad del usuario de carlos.txt al usuario con uid=102

Cambiar la propiedad del grupo

Si sos el propietario de un archivo o directorio, podes cambiar la propiedad del grupo de un archivo o directorio usando el  comando chgrp.

DOMINIODESCRIPCIÓN
chgrp group2 carlos.txtTransferir la propiedad del archivo/directorio carlos.txt al grupo group2
chgrp 2 carlos.txtTransferir la propiedad del archivo/directorio carlos.txt al grupo con gid=2
sudo chown user2:group2 carlos.txt(Se requieren privilegios de superusuario) Cambie la propiedad del usuario y del grupo simultáneamente a user2 y group2 respectivamente

Cambiar permisos

Establecer permisos de archivos en Linux es una tarea fundamental para administrar el acceso a archivos y directorios. Los permisos de archivos adecuados garantizan que solo los usuarios autorizados puedan leer, escribir o ejecutar archivos, lo que mejora la seguridad y la funcionalidad de su sistema.

Puede modificar los permisos de archivo para cada clase (usuario/grupo/otros) mediante el comando chmod . El formato básico para eliminar o agregar permisos para cualquier clase es:

chmod [ clase ][operador][permiso] nombre_archivo  
chmod [ugoa][+o-][rwx] nombre_archivo  

dónde

La clase está representada por los indicadores – u, g, o y a tales que u para el usuario, g para el grupo, o para el otro y a para todas las clases.

El operador (+ o -) se utiliza para agregar o quitar el permiso.

El permiso está representado por los indicadores r, w, x para permitir el acceso para leer, modificar o ejecutar el script respectivamente.

Ejemplo de cambio de permisos

Modifiquemos los permisos del archivo carlos.txt que se detallan a continuación:

Por ejemplo , si desea otorgar permiso de “ejecución” al mundo (“otros”) para el archivo “carlos.txt”, comenzará escribiendo: chmod o, ahora deberá escribir un ‘+’ para indicar que está “agregando” permiso. Luego escribirías una ‘x’ para indicar que estás agregando permiso de “ejecución” y por último, especifique qué archivo está modificando.  

chmod o+x carlos.txt

También puedes cambiar varios permisos a la vez. Por ejemplo, si, ademas quieres dar permisos de escritura a los grupos, debes escribir: 

chmod o+x g+w carlos.txt

Eliminar permisos

Elimine el permiso de escritura y ejecución para otra clase.

Y así puedes modificar cualquier permiso para cualquier clase si encuentras alguna necesidad.

Cambiar varios permisos a la vez

También puedes cambiar varios permisos a la vez. Por ejemplo, si quieres quitarles todos los permisos a todos, debes escribir: 

chmod ugo-rwx file2.txt

El código anterior revoca todos los permisos de lectura(r), escritura(w) y ejecución(x) de todos los usuarios(u), grupos(g) y otros(o) para el archivo file2.txt, lo que da como resultado esto. 

Otro ejemplo puede ser este: 

chmod ug+rw,ox abc.mp4

asigna permiso de lectura(r) y ejecución(x) tanto al usuario(u) como al grupo(g) y agrega permiso de lectura a otros para el archivo abc.c. Puede haber numerosas combinaciones de permisos de archivo que puede invocar, revocar y asignar. Puede probar algunas en su sistema Linux . 

Utilizando la tabla de notaciones octales en lugar de ‘r’, ‘w’ y ‘x’. Cada dígito de la notación octal se puede utilizar para cualquiera de los grupos ‘u’, ‘g’ u ‘o’. 

Ejemplo en diferentes tipos de notaciones

Entonces, el siguiente trabajo es el mismo. 

chmod ugo+rwx [nombre_archivo]
chmod 777 [nombre_archivo]

Ambos proporcionan permiso completo de lectura, escritura y ejecución (código=7) a todo el grupo. 

Lo mismo ocurre con este caso. 

chmod u=r,g=wx,o=rx [nombre_archivo]
chmod 435 [nombre_archivo]

Ambos códigos otorgan permiso de lectura (código=4) al usuario, escritura y ejecución (código=3) para el grupo y lectura y ejecución (código=5) para los demás. 

Y aún así… 

chmod 775 [nombre_archivo]
chmod ug+rwx,o=rx [nombre_archivo]

Ambos comandos otorgan todos los permisos (código=7) al usuario y al grupo, lectura y ejecución (código=5) para los demás. 

El comando chmod tiene más opciones que puedes explorar

 chmod --help

También  te recomendamos consultar las páginas man para este comando:

 man chmod

Cambiar la propiedad y el grupo en Linux

En caso de que desee cambiar únicamente el propietario del grupo, utilice el comando

chgrp nombre_grupo nombre_archivo

‘ chgrp’ significa cambio de grupo.

Consejo

  • El archivo /etc/group contiene todos los grupos definidos en el sistema
  • Puede utilizar el comando “grupos” para encontrar todos los grupos de los que es miembro.
  • Puede utilizar el comando newgrp para trabajar como miembro de un grupo distinto a su grupo predeterminado
  • No puede haber dos grupos que posean el mismo archivo.
  • En Linux no existen grupos anidados. Un grupo no puede ser un subgrupo de otro.
  • x- Ejecutar un directorio significa tener permitido “ingresar” a un directorio y obtener posible acceso a subdirectorios.
  • Hay otros permisos que puedes configurar en Archivos y Directorios que se tratarán en un tutorial avanzado.

Puntos clave del artículo con resúmenes

1. Abrir archivos en Linux

  • cat: Muestra todo el contenido del archivo.
  • less: Permite navegar por el archivo de manera paginada y buscar texto (/cadena).
  • more: Similar a less, pero con menos funcionalidades. Usa Enter para avanzar línea por línea y Espacio para avanzar página.

2. Visualización de partes específicas

  • head: Muestra las primeras líneas (por defecto 10). Ejemplo: head -n 5 archivo.txt muestra las primeras 5 líneas.
  • tail: Muestra las últimas líneas. Útil para logs. Ejemplo: tail -f archivo.log monitorea actualizaciones en tiempo real.

3. Visualización numerada

  • nl: Similar a cat, pero añade números de línea al contenido. Ejemplo: nl archivo.txt.

4. Permisos y propiedad de archivos

  • Tipos de permisos:
    • r: Leer.
    • w: Escribir.
    • x: Ejecutar.
  • Cambiar permisos con chmod:
    • Notación simbólica: chmod u+r archivo.txt otorga permiso de lectura al usuario.
    • Notación octal: chmod 644 archivo.txt establece permisos de lectura y escritura para el usuario, solo lectura para otros.
  • Cambiar propietario con chown: sudo chown user archivo.txt.
  • Cambiar grupo con chgrp: chgrp grupo archivo.txt.

5. Navegación y búsqueda en archivos grandes

  • less y navegación avanzada:
    • Ctrl + f: Avanza una página.
    • Ctrl + b: Retrocede una página.
    • /cadena: Busca una palabra.
    • n: Encuentra la siguiente coincidencia.

6. Monitoreo de archivos

  • tail -f: Muestra nuevas líneas agregadas a un archivo en tiempo real. Ideal para supervisar logs.

7. Gestión de múltiples archivos

  • Usar less o tail para abrir varios archivos. Cambiar entre ellos con comandos como :n (siguiente archivo) y :p (archivo anterior).

8. Seguridad y permisos predeterminados

  • umask: Determina permisos predeterminados al crear archivos. Ejemplo: umask 022 asigna permisos 755 a directorios y 644 a archivos.
  • Errores comunes: Intentar modificar o ejecutar archivos sin los permisos adecuados genera errores como «Permiso denegado».

Conclusión

Este artículo proporciona una guía completa para abrir, visualizar y manejar archivos en Linux. Desde comandos básicos hasta configuraciones avanzadas de permisos y monitoreo, estas herramientas son esenciales para usuarios y administradores que buscan optimizar su interacción con el sistema.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas sobre el artículo:

  1. ¿Qué comando se utiliza para abrir un archivo de texto y visualizarlo en formato de paginación?
  2. ¿Cómo puedes buscar una palabra específica dentro de un archivo abierto con el comando less?
  3. Explica la diferencia entre los comandos cat, less y more.
  4. ¿Qué hace el comando head con un archivo y cuál es su comportamiento predeterminado?
  5. ¿Cómo puedes usar el comando tail para monitorear en tiempo real los cambios en un archivo?
  6. ¿Qué comando te permite mostrar el contenido de un archivo en orden inverso, y cuál es su sintaxis básica?
  7. ¿Qué significa el permiso -rwxr-xr-- en un archivo?
  8. ¿Cómo puedes cambiar los permisos de un archivo para que todos los usuarios puedan leer, escribir y ejecutar?
  9. ¿Qué diferencia hay entre los comandos chown y chgrp?
  10. Explica cómo se utilizan las notaciones simbólicas y octales para cambiar permisos en Linux.

Ejercicios sobre el contenido:

  1. Abre un archivo llamado documento.txt usando el comando less y busca la palabra «Linux».
  2. Muestra las primeras 5 líneas del archivo log.txt usando el comando head.
  3. Visualiza las últimas 10 líneas del archivo log.txt usando el comando tail.
  4. Cambia los permisos de un archivo llamado script.sh para que todos los usuarios puedan ejecutarlo, pero solo el propietario pueda escribirlo.
  5. Usa el comando chmod para dar permisos de lectura y escritura a un grupo en el archivo datos.txt.
  6. Cambia el propietario del archivo reporte.pdf a un usuario llamado admin utilizando chown.
  7. Monitorea en tiempo real un archivo de registro llamado system.log con el comando tail.
  8. Crea un archivo llamado programa.sh, cambia sus permisos para que solo tú puedas leerlo y ejecutarlo, y muestra los permisos finales.
  9. Utiliza el comando tac para mostrar un archivo llamado notas.txt en orden inverso.
  10. Configura el archivo config.cfg con permisos octales 640 y verifica los cambios con ls -l.

Respuestas a las preguntas:

  1. El comando para abrir un archivo en formato de paginación es less.
    Ejemplo: less archivo.txt.
  2. Para buscar una palabra específica con less, escribe /palabra y presiona Enter. Puedes navegar por las coincidencias con n y N.
    • cat: Muestra todo el contenido de un archivo sin pausas.
    • less: Permite navegar por el archivo una página a la vez, incluyendo funciones de búsqueda.
    • more: Similar a less, pero con menos funciones de navegación.
  3. El comando head muestra las primeras líneas de un archivo. Por defecto, muestra las primeras 10 líneas.
    Ejemplo: head archivo.txt.
  4. Usando el comando tail con la opción -f, puedes monitorear en tiempo real los cambios en un archivo.
    Ejemplo: tail -f archivo.log.
  5. El comando que muestra el contenido de un archivo en orden inverso es tac.
    Sintaxis: tac archivo.txt.
  6. El permiso -rwxr-xr-- significa:
    • El propietario tiene permisos de lectura, escritura y ejecución.
    • El grupo tiene permisos de lectura y ejecución.
    • Otros usuarios solo tienen permiso de lectura.
  7. Usa el comando chmod 777 archivo para dar permisos de lectura, escritura y ejecución a todos los usuarios.
    • chown: Cambia el propietario de un archivo o directorio.
    • chgrp: Cambia el grupo asociado a un archivo o directorio.
    • Notación simbólica: Usa letras y operadores para definir permisos. Ejemplo: chmod u+r archivo.
    • Notación octal: Representa permisos como números de tres dígitos. Ejemplo: chmod 755 archivo.

Respuestas a los ejercicios:

  1. Abrir archivo con less y buscar palabra: less documento.txt Dentro de less, escribe: /Linux
  2. Mostrar primeras 5 líneas con head: head -n 5 log.txt
  3. Visualizar últimas 10 líneas con tail: tail log.txt
  4. Cambiar permisos de escritura y ejecución: chmod 751 script.sh
  5. Dar permisos de lectura y escritura a un grupo: chmod g+rw datos.txt
  6. Cambiar propietario con chown: sudo chown admin reporte.pdf
  7. Monitorear archivo en tiempo real con tail: tail -f system.log
  8. Crear archivo y configurar permisos: touch programa.sh chmod 500 programa.sh ls -l programa.sh
  9. Mostrar archivo en orden inverso con tac: tac notas.txt
  10. Configurar permisos octales y verificar cambios: chmod 640 config.cfg ls -l config.cfg

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!