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.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Lista de aprendizajes del artículo sobre abrir y manejar archivos en Linux
- Formas de abrir archivos en Linux:
- Usar comandos básicos como
cat
,less
,more
,head
, ytail
para abrir y visualizar archivos.
- Usar comandos básicos como
- Visualización avanzada de contenido:
- Herramientas para mostrar contenido en partes, buscar cadenas, y navegar dentro de archivos grandes (
less
,more
).
- Herramientas para mostrar contenido en partes, buscar cadenas, y navegar dentro de archivos grandes (
- Visualización con numeración:
- Emplear el comando
nl
para mostrar archivos con numeración de líneas.
- Emplear el comando
- Control del contenido mostrado:
- Utilizar opciones avanzadas de
head
ytail
para seleccionar líneas o bytes específicos.
- Utilizar opciones avanzadas de
- Modificación de permisos y propiedad:
- Cambiar permisos y propietarios con comandos como
chmod
,chown
, ychgrp
.
- Cambiar permisos y propietarios con comandos como
- Administración de permisos:
- Usar notación simbólica y octal para otorgar o revocar permisos de lectura, escritura y ejecución.
- Seguimiento de cambios en archivos:
- Monitorear actualizaciones en tiempo real en archivos, como logs del sistema, con
tail -f
.
- Monitorear actualizaciones en tiempo real en archivos, como logs del sistema, con
- Comprensión de permisos y usuarios:
- Identificar permisos y usuarios relacionados con archivos mediante
ls -l
yid
.
- Identificar permisos y usuarios relacionados con archivos mediante
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:
Comandos | Función |
head | Muestra el comienzo de un archivo. |
tail | Muestra la última parte de un archivo. |
cat | Este comando es versátil y multi-trabajador. |
tac | Opuesto de cat. |
more | La línea de comandos muestra el contenido en formato de buscapersonas que puede estar en cualquier otro formato. |
less | La 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:
- Comando
less
para visualizar archivos
El comandoless
permite ver el contenido de un archivo, una página a la vez, sin cargar todo el archivo en memoria. A diferencia decat
omore
,less
facilita la navegación por archivos grandes.
Sintaxis básica:less archivo.txt
Para salir deless
, simplemente presiona la teclaq
.
- 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.
- 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
Presionan
para ir a la siguiente coincidencia oN
para la coincidencia anterior.
- 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.
- Uso de
less
con múltiples archivosless
permite abrir varios archivos al mismo tiempo. Mientras visualizas el primero, puedes cambiar a otros archivos con:e nombre_archivo
,n
para el siguiente archivo yp
para el anterior.
Ejemplo:less archivo1 archivo2
- 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.
- 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
Opciones | Función |
more -num | Limita la línea mostrada por página. |
more -d | Muestra el mensaje del usuario en la esquina derecha. |
more -s | Apriete las líneas en blanco. |
more +/nombre de cadena | Ayuda a encontrar la cadena. |
more +num | Se 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:
- Comando
more
para visualizar archivos en Linux
El comandomore
permite visualizar el contenido de un archivo, una pantalla a la vez, similar aless
. A diferencia decat
,more
pausa la salida para facilitar la lectura de archivos grandes.
Sintaxis:more archivo.txt
- 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
- 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
- Diferencias entre
more
ycat
Mientras quecat
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. - Comando
nl
para mostrar archivos con números de línea
El comandonl
es similar acat
, 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
- Búsqueda con
nl
Al igual quecat
, puedes usarnl
para ver archivos en un formato numerado, pero no incluye funciones de búsqueda comoless
omore
.
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.
- Propiedad
- 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:
- Archivos ordinarios que contienen datos, texto, imágenes, instrucciones de programa.
- Archivos especiales que dan acceso a dispositivos de hardware.
- 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:
- Archivo regular (-)
- Directorio (d)
- Enlace (l)
- Expediente especial (c)
- Zócalo(s)
- Tubería con nombre (p)
- 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.
DOMINIO | DESCRIPCIÓN |
ls -l carlos.txr | Verificar permisos del archivo carlos.sh |
ls -ld hacker | Verificar 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:
ALCANCE | SÍMBOLO | DESCRIPCIÓN |
Usuario | u | El propietario del archivo o directorio |
Grupo | g | El grupo de usuarios que pueden acceder al archivo o directorio. |
Otro | o | Otros usuarios (mundo) |
Todo | a | Todos los usuarios |
Permisos de archivos
TIPO DE PERMISO | SÍMBOLO | SI UN ARCHIVO TIENE ESTE PERMISO, PUEDE: | SI UN DIRECTORIO TIENE ESTE PERMISO, PUEDE: |
Leer | r | Abrir y ver el contenido del archivo (cat, head, tail) | Leer el contenido del directorio (ls, du) |
Escribir | w | Editar, 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) |
Ejecutar | x | Ejecutar el archivo | Ingrese el directorio (cd); sin x, los permisos r y w del directorio son inútiles |
Ninguno | – | Hacer nada | Hacer nada |
Comandos relacionados con permisos
DOMINIO | DESCRIPCIÓN |
chmod permission carlos.txt | Cambiar 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.txt | Otorga permisos de ejecución a todos los usuarios para carlos.txt usar notación simbólica. |
chmod 777 carlos.txt | Otorga permisos de lectura, escritura y ejecución a todos los usuarios para carlos.txt usar notación octal. |
chown user2 carlos.txt | Cambiar el propietario de carlos.txt a user2. |
chgrp group2 carlos.txt | Cambiar el grupo al que carlos.txt pertenece group2. |
umask | Obté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 -i | Invocar privilegios de superusuario. |
id | Encuentre su identificación de usuario y su identificación de grupo. |
groups | Encuentra 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ÉTODO | FORMATO DE PERMISO | EJEMPLOS | APLICACIÓN SIN CHMOD |
Notación simbólica | Una 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 octal | número octal de tres dígitos que va del 000 al 777 | 774 640 | Computació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.
Operador | Descripció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ÓLICA | CAMBIO 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 OCTAL | PERMISO(S) CONCEDIDO(S) | SIMBÓLICO |
0 | Ninguno | [u/g/o]-rwx |
1 | Sólo permiso de ejecución | [u/g/o]=x |
2 | Sólo permiso de escritura | [u/g/o]=w |
3 | Permisos de escritura y ejecución únicamente: 2 + 1 = 3 | [u/g/o]=wx |
4 | Sólo permiso de lectura | [u/g/o]=r |
5 | Permisos de lectura y ejecución únicamente: 4 + 1 = 5 | [u/g/o]=rx |
6 | Permisos de lectura y escritura únicamente: 4 + 2 = 6 | [u/g/o]=rw |
7 | Todos 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 OCTAL | CAMBIO 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 BINARIA | NOTACIÓN OCTAL |
rwxr-xr-x | 111 101 101 | 755 |
rw-r–r– | 110 100 100 | 644 |
rwx—— | 111 000 000 | 700 |
r-xr-xr-x | 101 101 101 | 555 |
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:
DOMINIO | DESCRIPCIÓN |
umask | Encuentre sus permisos predeterminados de usuario y grupo cuando cree un nuevo archivo o directorio |
Ejemplos:
SALIDA DE MÁSCARA DE USUARIO | PERMISOS DE DIRECTORIO PREDETERMINADOS | PERMISOS DE ARCHIVOS PREDETERMINADOS |
0002 | Octal: 777 – 2 = 775 Simbólico: rwxrwxr-x | Octal: 666 – 2 = 664 Simbólico: rw-rw-r– |
0022 | Octal: 777 – 22 = 755 Simbólico: rwxr-xr-x | Octal: 666 – 22 = 644 Simbólico: rw-r–r– |
0314 | Octal: 777 – 314 = 463 Simbólico: r–rw–wx | Octal: 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:
DOMINIO | DESCRIPCIÓN |
id | Encuentre su ID de usuario (uid) y su ID de grupo (gid) |
groups | Encuentre el grupo al que pertenece su usuario |
Ejemplo:
ID SALIDAT | DESCRIPCIÓ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ÓN | DESCRIPCIÓN |
staff everyone localaccounts | Tu 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 COMANDO | MENSAJE DE SALIDA Y SÍMBOLO DE SHELL (NUEVO) |
$ su | Invocar shell de superusuario | Password: # |
$ sudo some_command | Invocar privilegios de superusuario al ejecutarsome_command | Password: $ |
$ sudo -i | Invocar shell de superusuario si su está deshabilitado | Password: # |
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.
DOMINIO | DESCRIPCIÓN |
sudo chown user2 carlos.txt | Transferir la propiedad del usuario de carlos.txt a user2 |
sudo chown 102 carlos.txt | Transferir 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.
DOMINIO | DESCRIPCIÓN |
chgrp group2 carlos.txt | Transferir la propiedad del archivo/directorio carlos.txt al grupo group2 |
chgrp 2 carlos.txt | Transferir 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 aless
, pero con menos funcionalidades. UsaEnter
para avanzar línea por línea yEspacio
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 acat
, 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.
- Notación simbólica:
- 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
otail
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:
- ¿Qué comando se utiliza para abrir un archivo de texto y visualizarlo en formato de paginación?
- ¿Cómo puedes buscar una palabra específica dentro de un archivo abierto con el comando
less
? - Explica la diferencia entre los comandos
cat
,less
ymore
. - ¿Qué hace el comando
head
con un archivo y cuál es su comportamiento predeterminado? - ¿Cómo puedes usar el comando
tail
para monitorear en tiempo real los cambios en un archivo? - ¿Qué comando te permite mostrar el contenido de un archivo en orden inverso, y cuál es su sintaxis básica?
- ¿Qué significa el permiso
-rwxr-xr--
en un archivo? - ¿Cómo puedes cambiar los permisos de un archivo para que todos los usuarios puedan leer, escribir y ejecutar?
- ¿Qué diferencia hay entre los comandos
chown
ychgrp
? - Explica cómo se utilizan las notaciones simbólicas y octales para cambiar permisos en Linux.
Ejercicios sobre el contenido:
- Abre un archivo llamado
documento.txt
usando el comandoless
y busca la palabra «Linux». - Muestra las primeras 5 líneas del archivo
log.txt
usando el comandohead
. - Visualiza las últimas 10 líneas del archivo
log.txt
usando el comandotail
. - Cambia los permisos de un archivo llamado
script.sh
para que todos los usuarios puedan ejecutarlo, pero solo el propietario pueda escribirlo. - Usa el comando
chmod
para dar permisos de lectura y escritura a un grupo en el archivodatos.txt
. - Cambia el propietario del archivo
reporte.pdf
a un usuario llamadoadmin
utilizandochown
. - Monitorea en tiempo real un archivo de registro llamado
system.log
con el comandotail
. - Crea un archivo llamado
programa.sh
, cambia sus permisos para que solo tú puedas leerlo y ejecutarlo, y muestra los permisos finales. - Utiliza el comando
tac
para mostrar un archivo llamadonotas.txt
en orden inverso. - Configura el archivo
config.cfg
con permisos octales640
y verifica los cambios conls -l
.
Respuestas a las preguntas:
- El comando para abrir un archivo en formato de paginación es
less
.
Ejemplo:less archivo.txt
. - Para buscar una palabra específica con
less
, escribe/palabra
y presionaEnter
. Puedes navegar por las coincidencias conn
yN
.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 aless
, pero con menos funciones de navegación.
- El comando
head
muestra las primeras líneas de un archivo. Por defecto, muestra las primeras 10 líneas.
Ejemplo:head archivo.txt
. - Usando el comando
tail
con la opción-f
, puedes monitorear en tiempo real los cambios en un archivo.
Ejemplo:tail -f archivo.log
. - El comando que muestra el contenido de un archivo en orden inverso es
tac
.
Sintaxis:tac archivo.txt
. - 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.
- 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:
- Abrir archivo con
less
y buscar palabra:less documento.txt
Dentro deless
, escribe:/Linux
- Mostrar primeras 5 líneas con
head
:head -n 5 log.txt
- Visualizar últimas 10 líneas con
tail
:tail log.txt
- Cambiar permisos de escritura y ejecución:
chmod 751 script.sh
- Dar permisos de lectura y escritura a un grupo:
chmod g+rw datos.txt
- Cambiar propietario con
chown
:sudo chown admin reporte.pdf
- Monitorear archivo en tiempo real con
tail
:tail -f system.log
- Crear archivo y configurar permisos:
touch programa.sh chmod 500 programa.sh ls -l programa.sh
- Mostrar archivo en orden inverso con
tac
:tac notas.txt
- 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…
- Cómo conseguir trabajo de hacker en 2024
- Trabaja remoto e internacionalmente como Hacker en 2024
- Se necesitan más Hackers – Hechos y estadísticas de 2024
- Se Necesitan más Hackers – La escasez de habilidades en ciberseguridad está empeorando
- El salario de un hacker – Cuanto se gana como Pentesters/ Infosec
- Las empresas te estan buscando para hacerle frente a los ciberataques
- Cómo convertirse en analista de ciberseguridad
- Inicia en hacking y ciberseguridad como analista SOC
- DevOps vs DevSecOps para Hackers
- DevOps vs DevSecOps para Empresas
¿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
- Cómo Iniciarse en Hacking y Ciberseguridad en 2024
- Hacker de 0 a 100 desde las bases hasta conseguir empleo
- Curso de Redes para Hackers
- Curso Gratis de Programación
- Curso Gratis Linux – Capitulo 1 – Introducción a Linux
- Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios
- Guía de Hacking y Pentesting capitulo 1: Introducción al Pentesting
- Como iniciarse en TRY HACK ME – Complete Beginner #1
- OSINT #1 Más de 200 Search Tools
- Curso Gratis de Java para Hackers
- Hardware para Hackers – Los mejores 40 Dispositivos de Hacking
- Guía de Flipper Zero – Qué es y para qué sirve
- SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG
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!!!