GNU/Linux >> Tutoriales Linux >  >> Linux

Eliminar y agregar permisos usando notación numérica en la misma línea

Tomando nota del título de su pregunta:

Eliminar y agregar permisos usando notación numérica en la misma línea

Con chmod de GNU coreutils, que probablemente tenga en un sistema Linux, podría usar

$ chmod -020,+004 test.txt

Para hacer eso. Funciona de la manera obvia:dígito medio para el grupo, 2 es para escribir; y último dígito para "otros", y 4 para leer.

Ser capaz de usar + o - con un modo numérico es una extensión GNU, p. el chmod basado en BSD en mi Mac da un error para +004 :

$ chmod +004 test.txt
chmod: Invalid file mode: +004

Por lo tanto, sería más simple, más corto, más portátil y probablemente más legible usar solo la forma simbólica:

$ chmod g-w,o+r test.txt

EDITAR:Al ver la respuesta de ilkkachu, me hizo probar esto, y la sintaxis que describe funciona, pero la página de manual en mi sistema (que había verificado) dice

puede ser una representación simbólica de los cambios que se van a realizar o un número octal que representa el patrón de bits para los bits del nuevo modo

que fue lo que me hizo escribir la respuesta original (abajo). Supongo que es un nuevo cambio y que se olvidaron de actualizar la página del manual.

Respuesta original a continuación:

El título de sus preguntas menciona "notación numérica", si con eso quiere decir especificar modos como números octales, la respuesta es que no puede especificar cambios con eso, solo el nuevo modo de los archivos.


Como dice la segunda línea de la página man:

chmod g-w,o+r file

$ man chmod

CHMOD(1)                         User Commands             CHMOD(1)

NAME
       chmod - change file mode bits

SYNOPSIS
       chmod [OPTION]... MODE[,MODE]... FILE...

o la primera línea de chmod --help

Usage: chmod [OPTION]... MODE[,MODE]... FILE...

Linux
  1. ¿Leer y escribir en el mismo archivo en Linux sin sobrescribirlo?

  2. Salida a Stdout y al mismo tiempo Grep en un archivo?

  3. Linux:¿descomprimir y desarchivar el archivo .tar.gz usando Cat, Tar y Gzip en una línea de comando?

  4. Crear archivos usando la línea de comando en Linux

  5. ¿Cómo inserto texto en la primera línea de un archivo usando sed?

Uso del archivo de configuración SSH

Cómo extraer el archivo tar.gz en Linux usando la línea de comandos

Cómo borrar de forma segura un disco y un archivo usando el comando shred de Linux

Cómo descargar archivos en Debian usando curl y wget en la línea de comandos

Agregar una línea en el archivo de hosts, obtener permiso denegado al usar sudo - Mac

Obtener el valor numérico de chmod para un archivo