Cambiar los permisos de los archivos

Section header image

Cambiar los permisos de los archivos

El comando chmod se utiliza para cambiar los permisos de un archivo o directorio. Sólo el usuario raíz o el usuario propietario del archivo puede cambiar los permisos de un archivo.

Considere esto

¿Por qué el comando se llama chmod en lugar de chperm? Los permisos solían denominarse modos de acceso, por lo que el comando chmod realmente significa cambiar los modos de acceso (change access mode).

Hay dos métodos para cambiar permisos usando el comando chmod: el método simbólico y el método octal. El método simbólico es útil para cambiar un conjunto de permisos a la misma vez. El método octal o numérico requiere conocer el valor octal de cada uno de los permisos y requiere que los tres conjuntos de permisos (usuario, grupo, otros) se especifiquen cada vez. Para simplificar las cosas, solamente trataremos el método simbólico. 

Siga leyendo

 

El método simbólico

chmod [<COJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

Para usar el método simbólico de chmod primero debe indicar qué conjunto de permisos se está cambiando:

chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO
Símbolo Significado
u Usuario: El usuario propietario del archivo.
g Grupo: El grupo propietario del archivo.
o Otros: Cualquier otro que no sea el usuario propietario o un miembro del grupo propietario.
a Todos: Se refiere al usuario, grupo, y todos los demás.

A continuación, especifique un símbolo para la acción:

chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO
Símbolo Significado
+ Añadir permiso, si es necesario
= Especificar el permiso exacto
- Eliminar el permiso, si es necesario

Después del símbolo de acción, especifique uno o más permisos.

chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO
Símbolo Significado
r leer (read)
w escribir (write)
x ejecutar (execute)

Finalmente, añada un espacio y los nombres de ruta para los archivos a los que quiere asignar los permisos.

chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

 

 

SECURE SHELL 6/05/2021

Cómo usted recordara SSH es utilizado para acceder a equipos remotos dentro de una red. Con la finalidad de administrar y gestionar completamente nuestro servidor por medio de un intérprete de comandos o la interfaz gráfica.

Para realizar está práctica utilizaremos el sistema operativo opensuse como servidor y un cliente de windows, ambos sistemas operativos tienen que estar iniciados y dentro de la misma red dónde usted se encuentre en este caso porque estamos usando una maquina virtual.

Cabe mencionar que está distribución tiene preestablecido el servicio solo necesitamos abrir el cortafuegos y desde luego agregar al grupo sshd el usuario que haya decidido usará el servicio. Entonces iniciemos con lo siguiente:

  1. Ejecute la herramienta de yast   y dentro del centro de control de yast del lado izquierdo en el menu seleccione seguridad y usuarios ahora del lado derecho presione el icono cortafuegos, muy bien seleccione de su lado izquierdo servicios autorizados, observe del lado derecho dos interfaces gráficas con un menu desplegable  presione la segunda y seleccione SSH .
  2. Ahora regrese al nuevamente al menu seguridad y usuarios y presione el botón gestionar usuarios observe que del lado derecho se encuentran los usuarios que hemos dado de alta en este caso su nombre deberá seleccionarlo y presionar el botón editar . En los botones superiores presione el que dice detalles como verá hay varios cuadros de texto necesitamos que edite el segundo el cual lleva por nombre Directorio personal y lo direccione al siguiente path  /srv/www/htdocs   porque le daremos acceso a este usuario para que pueda administrar el portal web. Aun no termina ahora del lado derecho en el menu de opción llamado grupos seleccione sshd muy bien solo presione para finalizar el botón de aceptar y se escribirán los datos correspondientes.
  3. Ahora vayamos a nuestro cliente en este caso windows y como ya tiene instalado el programa ejecute CLI como se muestra en la siguiente figura:
  4. Complete los datos que se le piden como lo muestra la siguiente figura

 

Ahora solo presione el botón conectar y listo se realiza la autentificación con la llave pública de sus sistema operativo.

y se le solicitará el pwd del usuario en proceso de inicio de sesión.

Muy bien se dará cuenta que es un usuario que tiene privilegios limitados, pero usted puede modificar esas limitaciones… Hagamos una prueba por favor dar de alta a el usuario Gabriel Flores Hernandez remotamente utilizando la aplicación ssh         

Kleopatra

Kleopatra es una aplicación que vamos a utilizar para cifrar archivos y así poder enviarlos a través del correo electrónico o cualquier otro medio de manera segura. Utiliza un mecanismo de clave asimétrica, en el que cada usuario del sistema criptográfico ha de poseer una pareja de claves:

  • Clave privada: será custodiada por su propietario y no se dará a conocer a ningún otro.
  • Clave pública: será conocida por todos los usuarios.

Esta pareja de claves es complementaria: lo que cifra una sólo lo puede descifrar la otra y viceversa. Estas claves se obtienen mediante métodos matemáticos complicados de forma que por razones de tiempo de cómputo, es imposible conocer una clave a partir de la otra.

Básicamente, el sistema consiste en:

A y B tienen sus pares de claves respectivas: una clave privada que sólo ha de conocer el propietario de la misma y una clave pública que está disponible para todos los usuarios del sistema.

 

Clava asimetrica

A escribe un mensaje a B y quiere que sólo él pueda leerlo. Por esta razón lo cifra con la clave pública de B, accesible a todos los usuarios.
Se produce el envío del mensaje cifrado no siendo necesario el envío de la clave.

Sólo B puede descifrar el mensaje enviado por A ya que sólo él conoce la clave privada correspondiente.

Clava asimetrica

INSTALACIÓN DE KLEOPATRA

Para instalar Kleopatra, debemos acceder a la página https://www.gpg4win.org/, y descargarnos Gpg4win. o bién descarguelo del portal del maestro 

 

Descargar Kleopatra

Al finalizar la descarga, ejecutaremos el programa instalador.

 

Instalar Kleopatra

 

Instalacion de Kleopatra

 

Instalacion Kleopatra

Marcaremos únicamente la casilla “Kleopatra”. Hay que tener en cuenta que “GnuPG” aparece ya marcado por defecto

 

Opciones Instalacion Kleopatra

 

Instalación Kleopatra

 

Instalación Kleopatra

 

Instalación Kleopatra

Al finalizar la instalación, tendremos el icono correspondiente en nuestro Escritorio

 

Icono Kleopatra

CREACIÓN DE CERTIFICADO PERSONAL CON KLEOPATRA

Para crearnos un certificado personal, lo primero que debemos hacer es abrir la aplicación que acabamos de instalar. Después, pulsaremos en el menú “File” y seleccionaremos “New Certificate…”. En el caso de que sea en español se llama “Nuevo par de claves…”

Posteriormente seleccione crear un par de claves personales OpenPGP

Ahora debemos introducir una contraseña para nuestro certificado. Nos pedirá confirmar dicha contraseña.

 

Configuracion Kleopatra

Posteriormente, veremos una ventana en la que se indica que la clave ha sido creada. Al cerrar, ya aparecerán los detalles de nuestro certificado en la ventana de Kleopatra.

Listo a disfrutar de la seguridad… 

Configuración de redes 11/05/2021

Section header image

Configuración de redes

El comando ifconfig significa “configuración de interfaz” (interface configuration) y se utiliza para mostrar información sobre la configuración de red.

ifconfig [OPCIONES] 

Nota

El comando iwconfig es similar al comando ifconfig, pero se refiere a interfaces de redes inalámbricas (wireless).

No todas las configuraciones de red son importantes para este módulo, pero en el siguiente ejemplo es importante tener en cuenta que la dirección IPv4 del dispositivo de red principal eth0 es 192.168.1.2 y que el dispositivo está activo actualmente (UP):

root@localhost:~# ifconfig                                     
eth0      Link encap:Ethernet  HWaddr 02:42:c0:a8:01:02                         
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0        
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                    
          RX packets:59 errors:0 dropped:0 overruns:0 frame:0                   
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0                 
          collisions:0 txqueuelen:1000                                          
          RX bytes:4346 (4.3 KB)  TX bytes:5602 (5.6 KB)                        
                                                                                
lo        Link encap:Local Loopback                                             
          inet addr:127.0.0.1  Mask:255.0.0.0                                   
          UP LOOPBACK RUNNING  MTU:65536  Metric:1                              
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0                    
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0                  
          collisions:0 txqueuelen:1000                                          
          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)           

Piense sobre lo siguiente

El dispositivo lo se conoce como dispositivo de loopback. Es un dispositivo de red especial utilizado por el sistema cuando envía datos basados en red a sí mismo.

El comando ifconfig también se puede utilizar para modificar temporalmente la configuración de red. Normalmente, estos cambios deben ser permanentes, por lo que raramente se usa el comando ifconfig para realizar dichos cambios.

El comando ping se utiliza para verificar la conectividad entre dos equipos. Para hacer esto, envía paquetes a otra máquina a través de la red. Que el remitente reciba una respuesta indica que es posible conectarse a esa máquina.

La información se envía mediante “paquetes”; que es la unidad encapsulada de datos enviada a través de una red. Para que los paquetes encuentren la otra computadora, necesitan una dirección. El comando ping utiliza direcciones IP para identificar un equipo en la red al que desea conectarse.

De forma predeterminada, el comando ping continuará enviando paquetes hasta que se introduzca el comando break (CTL +C) en la consola. Para limitar el número de pings que se envían, utilice la opción -c seguida del número de pings que desea enviar. El siguiente ejemplo muestra un ping limitado a 4 iteraciones usando -c 4.

Si el comando ping funciona, obtendrá un resultado como el siguiente:

root@localhost:~# ping -c 4 192.168.1.2                                       
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.                          
64 bytes from 192.168.1.2: icmp_req=1 ttl=64 time=0.051 ms                    
64 bytes from 192.168.1.2: icmp_req=2 ttl=64 time=0.064 ms                    
64 bytes from 192.168.1.2: icmp_req=3 ttl=64 time=0.050 ms                    
64 bytes from 192.168.1.2: icmp_req=4 ttl=64 time=0.043 ms                    
                                                                              
--- 192.168.1.2 ping statistics ---                                           
4 packets transmitted, 4 received, 0% packet loss, time 2999ms                
rtt min/avg/max/mdev = 0.043/0.052/0.064/0.007 ms                             
root@localhost:~#

Si el comando ping falla, recibirá un mensaje indicando que no se encontró el ordenador de destino o máquina remota (Destination Host Unreachable):

root@localhost:~# ping -c 4 192.168.1.3                                       
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.                            
From 192.168.1.2 icmp_seq=1 Destination Host Unreachable                        
From 192.168.1.2 icmp_seq=2 Destination Host Unreachable                        
From 192.168.1.2 icmp_seq=3 Destination Host Unreachable                        
From 192.168.1.2 icmp_seq=4 Destination Host Unreachable                        
                                                                                
--- 192.168.1.3 ping statistics ---                                             
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3065ms     
pipe 4  
root@localhost:~#

El comando ping puede fallar aunque la máquina remota esté conectada a la red. Esto se debe a que, como medida de seguridad, algunos administradores configuran sus equipos, o incluso redes enteras, para que no respondan a solicitudes ping. El comando ping también funciona con un nombre de host, o con un nombre de dominio como yahoo.com. Usar ésto primero puede ahorrar tiempo, ya que si ese comando ping tiene éxito, indica que hay una resolución de nombre adecuada Y que la dirección IP también funciona correctamente.

Siga leyendo

Salga de la cuenta root mediante el comando exit:

root@localhost:~# exit                                                        
logout

Actualización de contraseñas de usuario 18/05/2021

Section header image

Actualización de contraseñas de usuario

El comando passwd se utiliza para actualizar la contraseña de un usuario. Los usuarios solo pueden cambiar sus propias contraseñas, mientras que el usuario root puede actualizar la contraseña para cualquier usuario.

passwd [OPCIONES] [USUARIO]

Por ejemplo, ya que hemos iniciado sesión como usuario sysadmin, podemos cambiar la contraseña de esa cuenta. Ejecute el comando passwd. Se le pedirá que introduzca la contraseña actual una vez y la contraseña nueva dos veces. Por razones de seguridad, no se muestra ningún resultado mientras se está escribiendo la contraseña. La salida se muestra de la siguiente manera:

sysadmin@localhost:~$ passwd                                                    
Changing password for sysadmin.                                                 
(current) UNIX password: netlab123                                                       
Enter new UNIX password:                                                       
Retype new UNIX password:                                                       
passwd: password updated successfully

Si el usuario desea ver información sobre su contraseña, puede utilizar la opción -S:

sysadmin@localhost:~$ passwd -S sysadmin                                        
sysadmin P 12/20/2017 0 99999 7 -1

Los campos de salida se explican a continuación:

Campo Ejemplo Significado
Nombre del usuario sysadmin El nombre del usuario.
Estado de la contraseña P

P indica que es una contraseña utilizable.

L indica que la contraseña está bloqueada.

NP indica que no hay contraseña.

Fecha de actualización 03/01/2015 La fecha en la que la contraseña fue actualizada por última vez.
Mínimo 0 El número mínimo de días que deben pasar antes de que el usuario pueda cambiar la contraseña actual.
Máximo 99999 El máximo número de días que restan hasta que expire la contraseña.
Aviso 7 El número de días precedentes a la expiración de la contraseña para que el usuario reciba el aviso.
Inactividad -1 El número de días después de la expiración de la contraseña que la cuenta del usuario se mantendrá activa.

Siga leyendo

Cambie a la cuenta root mediante el siguiente comando:

sysadmin@localhost:~$ su root                                                   
Password:                                                                       
root@localhost:~#

Use netlab123 como contraseña.

El usuario root puede cambiar la contraseña de cualquier usuario. Si el usuario root desea cambiar la contraseña de sysadmin, ejecutará el siguiente comando:

root@localhost:~# passwd sysadmin                                               
Enter new UNIX password:                                                        
Retype new UNIX password:                                                       
passwd: password updated successfully

Siga leyendo

Salga de la cuenta root mediante el comando exit:

root@localhost:~# exit                                                        
exit

Listados de archivos

Section header image

Listados de archivos 5

El comando ls se utiliza para enumerar el contenido de un directorio. Ha visto cómo se utiliza en varios ejemplos anteriores. Esta página le ayudará a sentirse más cómodo con su uso.

ls [OPCIONES] [ARCHIVO]

De forma predeterminada, el comando ls usado sin opciones o argumentos mostrará los archivos contenidos en el directorio actual:

sysadmin@localhost:~$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates Videos

Para obtener información detallada sobre los archivos, como el tipo de archivo, los permisos, las propiedades o el sello horario, ejecute una lista larga utilizando la opción -l con el comando ls. En el ejemplo siguiente, se utiliza una lista del directorio /var/log, ya que proporciona una variedad de resultados:

sysadmin@localhost:~$ ls -l /var/log/
total 844                                                                       
-rw-r--r-- 1 root   root  18047 Dec 20  2017 alternatives.log                   
drwxr-x--- 2 root   adm    4096 Dec 20  2017 apache2                            
drwxr-xr-x 1 root   root   4096 Dec 20  2017 apt                                
-rw-r----- 1 syslog adm    1346 Oct  2 22:17 auth.log                           
-rw-r--r-- 1 root   root  47816 Dec  7  2017 bootstrap.log                      
-rw-rw---- 1 root   utmp      0 Dec  7  2017 btmp                               
-rw-r----- 1 syslog adm     547 Oct  2 22:17 cron.log                           
-rw-r----- 1 root   adm   85083 Dec 20  2017 dmesg                              
-rw-r--r-- 1 root   root 325238 Dec 20  2017 dpkg.log                           
-rw-r--r-- 1 root   root  32064 Dec 20  2017 faillog                            
drwxr-xr-x 2 root   root   4096 Dec  7  2017 fsck                               
-rw-r----- 1 syslog adm     106 Oct  2 19:57 kern.log                           
-rw-rw-r-- 1 root   utmp 292584 Oct  2 19:57 lastlog                            
-rw-r----- 1 syslog adm   19573 Oct  2 22:57 syslog                             
drwxr-xr-x 2 root   root   4096 Apr 11  2014 upstart                            
-rw-rw-r-- 1 root   utmp    384 Oct  2 19:57 wtmp 

Cada línea corresponde a un archivo contenido en el directorio. La información sobre cada archivo se puede dividir en campos separados por espacios. Los campos son los siguientes:

  1. Tipo de archivo

    -rw-r--r-- 1 root   root  18047 Dec 20  2017 alternatives.log       
                
    drwxr-x--- 2 root   adm    4096 Dec 20  2017 apache2  
    

    El primer campo contiene en realidad diez caracteres. El primer carácter indica el tipo de archivo y los nueve siguientes especifican permisos. Los tipos de archivo son:

    Símbolo Tipo de archivo Descripción
    d directorio Un archivo usado para contener otros archivos.
    - archivo ordinario Incluye archivos leíbles, imágenes, archivos binarios, y archivos comprimidos.
    l enlaces simbólicos Apunta a otro archivo.
    s socket Permite la comunicación entre procesos.
    p tubería (pipe) Permite la comunicación entre procesos.
    b archivo bloque Usado para comunicaciones con el equipo (hardware).
    c archivo carácter Usado para comunicaciones con el equipo (hardware).

    El primer archivo alternatives.log es un archivo normal -, mientras que el segundo archivo apache2 es un directorio d.

  2. Permisos

    drwxr-xr-x 2 root   root   4096 Apr 11  2014 upstart

    Los permisos indican cómo determinados usuarios pueden acceder a un archivo. Siga leyendo para obtener más información sobre los permisos.

  3. Número de enlaces directos

    -rw-r----- 1 syslog adm    1346 Oct  2 22:17 auth.log

    Este número indica cuántos enlaces directos apuntan a este archivo. Los enlaces directos están fuera del alcance de este módulo, pero están cubiertos en el curso NDG Linux Essentials.

  4. Propietario del archivo

    -rw-r----- 1 syslog adm     106 Oct  2 19:57 kern.log

    El usuario syslog posee este archivo. Cada vez que se crea un archivo, la propiedad se asigna automáticamente al usuario que lo creó.

  5. Grupo propietario del archivo

    -rw-rw-r-- 1 root   utmp 292584 Oct  2 19:57 lastlog

    Indica qué grupo posee este archivo.

  6. Tamaño del archivo

    -rw-r----- 1 syslog adm   19573 Oct  2 22:57 syslog

    Los directorios y archivos más grandes pueden mostrarse en kilobytes ya que mostrar su tamaño en bytes resultaría en un número demasiado grande. Por lo tanto, en el caso de un directorio, este número podría ser un múltiplo del tamaño de bloque utilizado por el sistema de archivos. El tamaño de bloque es el tamaño de una serie de datos almacenados en el sistema de archivos.

  7. Sello horario o de tiempo

    drwxr-xr-x 2 root   root   4096 Dec  7  2017 fsck

    Indica la fecha y hora en que el contenido del archivo se modificó por última vez.

  8. Nombre del archivo

    -rw-r--r-- 1 root   root  47816 Dec  7  2017 bootstrap.log

    El campo final contiene el nombre del archivo o directorio.

  9. A tener en cuenta

    En el caso de enlaces simbólicos, un archivo que apunta a otro archivo, el nombre del enlace se mostrará junto a una flecha y el nombre de la ruta del archivo original.

    lrwxrwxrwx. 1 root root 22 Nov 6 2012 /etc/grub.conf -> ../boot/grub/grub.conf

    Los enlaces simbólicos están fuera del alcance de este módulo, pero están cubiertos en el curso NDG Linux Essentials.

Ordenar archivos

Por defecto, el resultado del comando ls está ordenado alfabéticamente según el nombre del archivo. Pero también se puede ordenar usando otros método.

Siga leyendo

Las opciones en los siguientes ejemplos se combinarán con la opción -l para mostrar los detalles relevantes de cada archivo. Preste atención a los campos correspondientes a la opción de búsqueda.

La opción -t ordenará los archivos por su sello de tiempo (timestamp):

sysadmin@localhost:~$ ls -lt /var/log                                           
total 844                                                                       
-rw-r----- 1 syslog adm   19573 Oct  2 22:57 syslog                             
-rw-r----- 1 syslog adm    1346 Oct  2 22:17 auth.log                           
-rw-r----- 1 syslog adm     547 Oct  2 22:17 cron.log                           
-rw-rw-r-- 1 root   utmp 292584 Oct  2 19:57 lastlog                            
-rw-rw-r-- 1 root   utmp    384 Oct  2 19:57 wtmp                               
-rw-r----- 1 syslog adm     106 Oct  2 19:57 kern.log                           
-rw-r--r-- 1 root   root  18047 Dec 20  2017 alternatives.log                   
-rw-r--r-- 1 root   root  32064 Dec 20  2017 faillog                            
-rw-r----- 1 root   adm   85083 Dec 20  2017 dmesg                              
-rw-r--r-- 1 root   root 325238 Dec 20  2017 dpkg.log                           
drwxr-x--- 2 root   adm    4096 Dec 20  2017 apache2                            
drwxr-xr-x 1 root   root   4096 Dec 20  2017 apt                                
-rw-r--r-- 1 root   root  47816 Dec  7  2017 bootstrap.log                      
drwxr-xr-x 2 root   root   4096 Dec  7  2017 fsck                               
-rw-rw---- 1 root   utmp      0 Dec  7  2017 btmp                               
drwxr-xr-x 2 root   root   4096 Apr 11  2014 upstart              

La opción -S (size) ordenará los archivos por tamaño de archivo:

sysadmin@localhost:~$ ls -l -S /var/log                                         
total 844                                                                       
-rw-r--r-- 1 root   root 325238 Dec 20  2017 dpkg.log                           
-rw-rw-r-- 1 root   utmp 292584 Oct  2 19:57 lastlog                            
-rw-r----- 1 root   adm   85083 Dec 20  2017 dmesg                              
-rw-r--r-- 1 root   root  47816 Dec  7  2017 bootstrap.log                      
-rw-r--r-- 1 root   root  32064 Dec 20  2017 faillog                            
-rw-r----- 1 syslog adm   19573 Oct  2 22:57 syslog                             
-rw-r--r-- 1 root   root  18047 Dec 20  2017 alternatives.log                   
drwxr-x--- 2 root   adm    4096 Dec 20  2017 apache2                            
drwxr-xr-x 1 root   root   4096 Dec 20  2017 apt                                
drwxr-xr-x 2 root   root   4096 Dec  7  2017 fsck                               
drwxr-xr-x 2 root   root   4096 Apr 11  2014 upstart                            
-rw-r----- 1 syslog adm    1346 Oct  2 22:17 auth.log                           
-rw-r----- 1 syslog adm     547 Oct  2 22:17 cron.log                           
-rw-rw-r-- 1 root   utmp    384 Oct  2 19:57 wtmp                               
-rw-r----- 1 syslog adm     106 Oct  2 19:57 kern.log                           
-rw-rw---- 1 root   utmp      0 Dec  7  2017 btmp

La opción -r (reverse) invertirá el orden de cualquier tipo de ordenación. Observe la diferencia cuando se agrega al ejemplo anterior:

sysadmin@localhost:~$ ls -lSr /var/log
total 844                                                                       
-rw-rw---- 1 root   utmp      0 Dec  7  2017 btmp                               
-rw-r----- 1 syslog adm     106 Oct  2 19:57 kern.log                           
-rw-rw-r-- 1 root   utmp    384 Oct  2 19:57 wtmp                               
-rw-r----- 1 syslog adm     654 Oct  2 23:17 cron.log                           
-rw-r----- 1 syslog adm    1669 Oct  2 23:17 auth.log                           
drwxr-xr-x 2 root   root   4096 Apr 11  2014 upstart                            
drwxr-xr-x 2 root   root   4096 Dec  7  2017 fsck                               
drwxr-xr-x 1 root   root   4096 Dec 20  2017 apt                                
drwxr-x--- 2 root   adm    4096 Dec 20  2017 apache2                            
-rw-r--r-- 1 root   root  18047 Dec 20  2017 alternatives.log                   
-rw-r----- 1 syslog adm   19680 Oct  2 23:17 syslog                             
-rw-r--r-- 1 root   root  32064 Dec 20  2017 faillog                            
-rw-r--r-- 1 root   root  47816 Dec  7  2017 bootstrap.log                      
-rw-r----- 1 root   adm   85083 Dec 20  2017 dmesg                              
-rw-rw-r-- 1 root   utmp 292584 Oct  2 19:57 lastlog                            
-rw-r--r-- 1 root   root 325238 Dec 20  2017 dpkg.log        

Los números en el campo del tamaño de archivo cambian de descendente a ascendente.

Utilizando solo la opción -r con la lista de los archivos en orden alfabético inverso:

sysadmin@localhost:~$ ls -r /var/log                                            
wtmp     lastlog   faillog   cron.log       auth.log  alternatives.log
upstart  kern.log  dpkg.log  btmp           apt
syslog   fsck      dmesg     bootstrap.log  apache2
Did you know you can find Linux in: Facebook, Amazon, Google, McDonald's, NASA, BMW, Tesla, Wikipedia, United States Postal Service, Tesla.

Eliminar archivos

Section header image

Eliminar archivos 13

El comando rm (remove) se utiliza para eliminar archivos y directorios. Es importante tener en cuenta que los archivos y directorios eliminados no aparecen en una “papelera” como ocurre con los sistemas operativos orientados a escritorio. Cuando un archivo se elimina con el comando rm, generalmente siempre desaparece de manera permanente.

rm [OPCIONES] ARCHIVO

Siga leyendo

Utilice el siguiente comando para cambiar al directorio Documents:

sysadmin@localhost:~$ cd ~/Documents

Sin ninguna opción, el comando rm normalmente se utiliza para eliminar archivos ordinarios:

sysadmin@localhost:~/Documents$ rm linux.txt
sysadmin@localhost:~/Documents$ ls linux.txt
ls: cannot access linux.txt: No such file or directory

El comando rm ignorará los directorios que se le pida eliminar. Para eliminar un directorio, utilice una opción recursiva, por ejemplo, las opciones -r o -R. Tenga cuidado ya que estas opciones son “recursivas”, y eliminarán todos los archivos y todos los subdirectorio:

sysadmin@localhost:~/Documents$ rm Work
rm: cannot remove 'Work': Is a directory
sysadmin@localhost:~/Documents$ rm -r Work
sysadmin@localhost:~/Documents$ ls Work                                         
ls: cannot access Work: No such file or directory

Advertencia

El comando rm elimina los archivos de forma permanente. Para repetir los ejemplos anteriores, restablezca el terminal usando el botón de reinicio.

A tener el cuenta

Los permisos pueden afectar a los comandos de administración de archivos, como el comando rm.

Para eliminar un archivo dentro de un directorio, el usuario debe tener permiso de escritura y ejecución en ese directorio. Normalmente, los usuarios ordinarios solo tienen este tipo de permiso en su directorio principal y subdirectorios correspondientes.

Mover archivos

Section header image

Mover archivos 12

El comando mv se utiliza para mover un archivo de una ubicación en el sistema de archivos a otra.

mv ORIGEN DESTINO

El comando mv requiere dos argumentos como mínimo. El primer argumento es la fuente u origen, la ruta al archivo que va a ser movido. El segundo argumento es el destino, la ruta al lugar donde se moverá el archivo. Generalmente, los archivos que se van a mover se denominan origen, y el lugar donde se van a colocar se denomina destino.

Siga leyendo

Utilice el siguiente comando para cambiar al directorio Documents:

sysadmin@localhost:~$ cd ~/Documents

Para mover el archivo people.csv al directorio Work, utilice el nombre del archivo como origen y el nombre del directorio como destino:

sysadmin@localhost:~/Documents$ mv people.csv Work

Si un archivo se mueve de un directorio a otro sin especificar un nuevo nombre para el archivo, éste conservará su nombre original. El movimiento anterior se puede confirmar mediante el comando ls en el directorio Work:

sysadmin@localhost:~/Documents$ ls Work                                         
people.csv

El comando mv puede utilizarse para mover varios archivos, siempre y cuando el argumento final proporcionado al comando sea el destino. Por ejemplo, para mover tres archivos al directorio School:

sysadmin@localhost:~/Documents$ mv numbers.txt letters.txt alpha.txt School        
sysadmin@localhost:~/Documents$ ls School                                       
Art  Engineering  Math  alpha.txt  letters.txt  numbers.txt 

Mover un archivo dentro del mismo directorio es una forma eficaz de cambiarlo de nombre. Por ejemplo, en el ejemplo siguiente, el archivo animals.txt recibe un nuevo nombre zoo.txt:

mv animals.txt zoo.txt
sysadmin@localhost:~/Documents$ ls                                              
School           alpha-second.txt  hello.sh      newhome.txt  red.txt           
Work             alpha-third.txt   hidden.txt    os.csv                         
adjectives.txt   animals.txt       linux.txt     passwd                         
alpha-first.txt  food.txt          longfile.txt  profile.txt 
sysadmin@localhost:~/Documents$ mv animals.txt zoo.txt                          
sysadmin@localhost:~/Documents$ ls                                              
School           alpha-second.txt  hidden.txt    os.csv       zoo.txt           
Work             alpha-third.txt   linux.txt     passwd                         
adjectives.txt   food.txt          longfile.txt  profile.txt                    
alpha-first.txt  hello.sh          newhome.txt   red.txt   

A tener en cuenta

Los permisos pueden afectar comandos de administración de archivos, incluyendo el comando mv. Mover un archivo requiere tener permisos de escritura y ejecución tanto en los directorios de origen como de destino.

Penguins in Space! Nasa Uses Linux. International Space Station runs on Linux. Curiosity the Mars Rover. We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable.

«¡Pingüinos en el espacio! NASA utiliza Linux. La Estación Espacial Internacional funciona con Linux. “Migramos funciones esenciales de Windows a Linux porque necesitábamos un sistema operativo más estable y fiable.” Keith Chuvala, manager de Operaciones Informáticas Espaciales de NASA. Curiosity, el Rover en Marte.»

 
 

Copiar archivos

Section header image

Copiar archivos 11.1

El comando dd se utiliza para copiar archivos o particiones enteras al nivel de bits.

dd [OPCIONES] OPERANDO

Este comando tiene varias características útiles, entre las que se incluyen:

  • Se puede usar para clonar o eliminar (wipe) discos o particiones enteras.
  • Se puede usar para copiar datos no procesados (raw) a dispositivos extraíbles como dispositivos USB o CD ROMS.
  • Se puede usar para realizar una copia de reserva (backup) y restituir el MBR (Master Boot Record).
  • Se puede usar para crear un archivo de un tamaño específico lleno de ceros binarios, el cual puede utilizarse como archivo de intercambio (swap file) (memoria virtual).

Examinemos el siguiente ejemplo. El comando dd creará un archivo denominado /tmp/swapex con 50 bloques de ceros de un megabyte de tamaño:

Siga leyendo

Utilice el siguiente comando cd para volver al directorio principal:

sysadmin@localhost:~/Documents$ cd ~
sysadmin@localhost:~$ dd if=/dev/zero of=/tmp/swapex bs=1M count=50 
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.825745 s, 635 MB/s

El comando dd utiliza argumentos especiales para especificar cómo funcionará. A continuación se muestran algunos de los argumentos más utilizados:

Argumento Descripción
if

Archivo de entrada (Input File): El archivo de entrada que se va a leer.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

El ejemplo lee el archivo /dev/zero, un archivo especial que contiene un número ilimitado de ceros.

of

Archivo de salida (Output File): El archivo de salida que se va a escribir.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50
bs

Tamaño de bloque (Block Size): El tamaño de bloque que se va a utilizar. De forma predeterminada, el valor se presenta en bytes. Utilice los sufijos siguientes para especificar otras unidades: KMG y T para kilobytes, megabytes, gigabytes y terabytes respectivamente.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

En el ejemplo se utiliza un tamaño de bloque de un megabyte.

count

Recuento: El número de bloques que se van a leer desde el archivo de entrada.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

En este ejemplo se leen 50 bloques.

A tener en cuenta

No es necesario especificar el tamaño de bloque ni el recuento al copiar dispositivos enteros. Por ejemplo, para clonar de un disco duro (/dev/sda) a otro (/dev/sdb) ejecute el siguiente comando:

dd if=/dev/sda of=/dev/sdb