Cambiar grupo de un fichero o directorio – Comando CHGRP

El comando chgrp sirve para modificar el grupo (group) de un fichero o directorio. Está instalado en todas las distribuciones GNU/Linux, dentro del paquete coreutils.

Puedes consultar los grupos usando el comando:

cat /etc/group | cut -d ‘:’ -f1/

Sintaxis de chgrp

sudo chgrp {{opciones}} {{grupo}} {{fichero_o_carpeta}}

La sintaxis de chgrp es sencilla, tras el comando chgrp se escriben los modificaciones (opcionales), a continuación el nombre del grupo y para finalizar el nombre del fichero o carpeta.

Opciones de chgrp

-c, –changes Igual que la opción “verbose” pero solo si hay cambios
-f, –silent, –quiet Omite la mayoría de los mensajes de error
-v, –verbose Muestra el resultado de cada fichero procesado
–dereference Afecta a la referencia del enlace simbólico, en lugar del enlace simbólico en si (opción por defecto).
-h, –no-dereference Afecta al enlace simbólico, en lugar de la referencia a la que apunta.
–no-preserve-root No trata “/” de manera espacil (por defecto)
–preserve-root Falla al intentar operar recursivamente sobre “/”
–reference=RFILE use RFILE’s group rather than specifying a GROUP value
-R, –recursive Se ejecuta sobre ficheros y directorios recursivamente
-H Si es un enlace simbólico a un directorio, entra en el
-L Atraviesa todos los enlaces simbólicos a directorios que encuentre
-P No atravesar enlaces simbólicos (por defecto)
–help Muestra la ayuda
–version Muestra la versión y licencia

Cambiar el grupo de un fichero

sudo chgrp {{grupo}} {{fichero}}

sudo chgrp comerciales ventas.odt

*El fichero ventas pertenece ahora el grupo comerciales

Cambiar el grupo recursivamente

sudo chgrp -R {{grupo}} {{carpeta}}

sudo chgrp -R soporte /mnt/shared/software

*Todo el contenido de la carpeta /mnt/shared/software pertece ahora al grupo soporte

Cambiar el grupo a un fichero

sudo chgrp sistemas foto.jpg

*Estando dentro de la carpeta donde se encuentra el fichero “foto.jpg“, cambia el grupo a sistemas.

sudo chgrp comerciales /home/paco/documento.odt

*Independientemente del directorio actual, cambia el dueño de “documento.odt” a comerciales.

sudo chgrp admins “/home/juan/Música/Barón Rojo – Tierra de nadie.ogg”

*Independientemente del directorio actual, cambia el dueño del audio (que contiene espacios en el nombre) a admins.

 

sudo chgrp consultores /home/juan/Documentos -Rv

 *Cambia el grupo de la carpeta y todo su contenido de forma recursiva (-R), mostrando los detalles de cada fichero procesado (-v)

sudo chgrp -RHc grupo carpeta/

 *Cambia el grupo recursivamente atravesando enlaces a carpetas y mostrando los cambios.

sudo find . -name “*.txt” -exec sh -c ‘chgrp -v aula3 “$0″‘ {} \;

*Busca todos los ficheros con extensión txt y les cambia el grupo a “aula3” mostrando los detalles de cada operación realizada
Anuncios
Distribución de los permisos

Gestión de permisos en Linux con chmod

Introducción

En GNU/Linux todos los ficheros y directorios tiene un usuario y un grupo (a menos que lo cambies los del creador) y una serie de permisos asignados.

Existen 3 tipos de permisos:
– Lectura (R)
– Escritura (W)
– Ejecución (X)
*La letra que está entre paréntesis es la identifica al permiso

Y cada tipo de permiso se asigna a:
Usuario: Dueño del fichero
Grupo: Grupo al que pertenece el fichero
Otro: Otros usuarios que no pertenecen al mismo grupo
* La letra en negrita identifica el permiso

Sigue leyendo

Introducción al bash scripting

¿Qué es un script?

Un script un fichero plano que alberga un conjunto de instrucciones (comandos) que se ejecutan secuencialmente.

¿Para qué sirve un script?

Los scripts sirven principalmente para automatizar tareas, por ejemplo, un script puede realizar la copia de seguridad y a continuación enviar un email con el porcentaje de uso del disco duro.

¿Como crear un script?

Como ya he dicho antes, un script es tan solo un fichero de texto plano con la particuliaridad de que debe tener una extensión .sh. Puedes crear uno desde consola, la interfaz gráfica o desde un editor como Gedit.

touch helloworld.sh

El primer script – Hola mundo

El primer script va a ser el clásico “Hola mundo”. En el fichero helloworld.sh he añadido las siguientes líneas:

#!/bin/bash
echo “Hola mundo”;

La primera línea indica el shell que va a usar el script (/bin/bash), la segunda línea imprime el texto que está entre comillas.

¿Como le doy permisos?

Para poder ejecutar un script es necesario concederle permisos de ejecución. Hay dos modos de hacerlo:

– Desde el gestor de ficheros, entrando en las propiedades del fichero
permisos ejecución caja

– Usando la consola de comandos

chmod u+x

¿Cómo ejecuto un script?

Aunque es posible ejecutar un script haciendo doble sobre el, no es recomendable porque el script se ejecuta y a continuación se cierra, lo que impide saber si se ha ejecutado correctamente o no.

Desde el terminal es posible ejecutar el script con cualquier de estos comandos:

./helloworld.sh
sh helloworld.sh

 

Y así termina la introducción al script en GNU/Linux, próximamente la segunda parte: parámetros y condicionales.