GNU/Linux >> Tutoriales Linux >  >> Linux

Todo lo que necesita saber sobre el comando Chmod de Linux

Si está familiarizado con el sistema de archivos de Linux, sabe que todos los archivos del sistema se almacenan dentro del directorio raíz (/). Linux reserva algunos permisos específicos del sistema de archivos solo para el usuario raíz. La principal diferencia entre el sistema de archivos del sistema operativo basado en Linux y otros sistemas operativos es que Linux se reserva algunos permisos específicos del sistema de archivos. Si no es un usuario raíz, no puede eliminar, mover ni modificar archivos raíz de su sistema. Por ejemplo, si tiene un servidor localhost ejecutándose en su sistema Linux, no puede mover los archivos de configuración del servidor sin el permiso de raíz. Incluso no puede cambiar los ajustes de configuración sin el permiso de root. Para cambiar el estado del sistema de archivos, debe conocer los comandos chmod. El comando chmod le permite leer, escribir y ejecutar archivos en un sistema Linux.

Comando Chmod en Linux

Linux no solo se usa para la confiabilidad y la seguridad; también se utiliza para propósitos multifuncionales. Puede ejecutar servidores, actividades multiusuario y mucho más. El problema llega cuando asigna un usuario a su sistema pero no le da acceso a la raíz. En ocasiones, es posible que ese usuario deba realizar algún trabajo de superusuario para configurar y hacer que el entorno funcione.

Ahí viene la noción del comando chmod para Linux. Como dije antes, Linux no solo se usa para trabajo multitarea o multifuncional; también se utiliza para multiusuario. El comando chmod puede modificar las tareas de lectura, escritura y ejecución con solo una contraseña de root en un sistema Linux.

En toda la publicación, discutiremos las diferencias entre chmod 777, chmod 755 o chmod 600, y más comandos chmod en el sistema Linux.

Si es un usuario entusiasta de Linux, puede seguir este enlace para obtener formaciones más detalladas sobre el comando chmod en Linux. En el siguiente enlace, encontrará una tabla como se muestra en la imagen a continuación. Debe poner el valor del permiso específico. La tabla le mostrará automáticamente qué tipo de permisos están definidos por los comandos específicos.

Conozca el estado de permiso actual de un archivo/directorio en Linux

Ahora, existen métodos para verificar los detalles de permisos de un archivo o directorio en Linux. Puede usar el método GUI o el método CLI para verificar el estado de permiso de un archivo. Aquí, aprenderemos los dos métodos para conocer el estado de permiso actual de un archivo en nuestro sistema.

Método 1:use el método GUI para verificar el estado del permiso

Usar el método de la interfaz gráfica de usuario es el método más fácil para verificar los detalles de un archivo en Linux. Solo necesita seleccionar el archivo y hacer clic derecho en el archivo. En el menú desplegable, encontrará la opción Propiedades. Seleccione la opción Propiedades que abrirá un nuevo cuadro de diálogo.

- -

En el cuadro de diálogo, haga clic en el menú Permiso. Allí encontrará la información detallada sobre el estado de los permisos en el archivo. Puede ver la información del propietario, los registros de acceso, la información del grupo y el contenido de seguridad de ese archivo.

Método 2:método CLI para conocer el estado de permiso de un archivo

Los usuarios avanzados de Linux siempre quieren usar el método CLI para completar cualquier tarea. Bueno, aquí está, puede verificar el estado de lectura, escritura y ejecución de cualquier archivo o directorio desde el shell de su terminal Linux. En este método, usaremos los comandos de lista larga (ls -l) para obtener el estado del permiso.

Puede hacerse una idea observando las siguientes líneas de comandos de terminal que se proporcionan a continuación sobre cómo obtener el estado de permiso de cualquier archivo mediante la interfaz de línea de comandos de terminal.

cd Documents
ls
ls -l sampledata.zip

Aquí puede ver que el resultado de salida comienza con un guión (-), lo que significa que la muestra es un archivo, no un directorio. El símbolo del directorio comienza con d. Entonces, el rw significa el permiso de lectura y escritura de ese archivo.

Para ejecutar una demostración, puede ejecutar las siguientes líneas de comando que se proporcionan a continuación para crear un nuevo archivo y ver los permisos de ese archivo.

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

En la imagen de arriba, puede ver que el permiso está escrito como -rw-rw-r-- 1; aquí el rw El símbolo significa que el archivo tiene permisos de lectura y escritura. Y el signo numérico 1 significa que el usuario tiene permiso para ejecutar el archivo. Las sintaxis de permisos numéricos básicos se explican a continuación.

  • 0 =El usuario tiene permiso para leer, escribir y ejecutar el archivo.
  • 1 =El usuario actual tiene permiso para ejecutar el archivo.
  • 2 =  Usuario el permiso para escribir el archivo.
  • 3 =El usuario tiene permiso para escribir y ejecutar el archivo.
  • 4 =El usuario tiene permiso de solo lectura.

Comprender las sintaxis y el comando chmod en Linux

El comando chmod tiene algunas sintaxis que debe conocer para comprender el resultado del comando. Aquí, incluyo explicaciones de las sintaxis muy básicas del comando Chmod en Linux. En esta etapa, también aprenderemos algunos comandos principales de chmod que quizás necesite usar a diario.

  • u El u sintaxis menciona el usuario que posee el archivo o el directorio.
  • g El g sintaxis menciona el grupo al que pertenece el archivo.
  • o El o sintaxis menciona que el archivo es propiedad de todos los usuarios.
  • a El un sintaxis menciona que el archivo es propiedad de todos los usuarios y grupos.
  • r El r la sintaxis menciona que el archivo tiene permiso de solo lectura.
  • w La w sintaxis menciona que tiene permiso para escribir el archivo.
  • x La x sintaxis menciona que el usuario actual tiene la autoridad para ejecutar el archivo.
  • El sintaxis menciona que el usuario tiene permiso para soltar el archivo.

1. chmod -R 755:Modificar autoridad en un directorio completo

El chmod 755 a menudo se usa como -R 755 en el shell de Linux para modificar el permiso del sistema de archivos. Puede ejecutar los comandos chmod 775 en su terminal de Linux si no puede escribir o eliminar archivos de ningún directorio. El comando chmod -R 775 tiene el poder de cambiar el permiso para un directorio completo en lugar de un solo archivo.

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

En la imagen a continuación, puede ver que la salida de la lista de registro (ls -l) ya ha cambiado el permiso de lectura, escritura y ejecución para el directorio.

2. chmod 777:Permitir permisos para todos los usuarios

Aquí veremos el uso de los comandos chmod 777 en el sistema Linux. Básicamente, todos los comandos chmod están asociados con el sistema de archivos de Linux. Para comprender mejor los comandos chmod, le recomendaré que también conozca la jerarquía del sistema de archivos de Linux.

Sin embargo, los comandos chmod 777 se usan en Linux para escribir y ejecutar el archivo. Los siguientes comandos de terminal pueden ayudarlo a tener una idea básica de cómo funciona el comando chmod 777 en Linux.

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

En la imagen de arriba, puede ver que la salida comienza con dr sintaxis, y tiene el wxr sintaxis junto con él, lo que significa que la ruta de destino es un directorio y tiene permiso de escritura, ejecución y lectura. Al final de la salida, el valor numérico 3 indica que el actual tiene permiso para escribir y ejecutar el directorio.

3. chmod +x :Permiso para ejecutar Archivo/Directorio

Aquí viene el comando chmod más arriesgado para Linux. Si es un novato en el sistema Linux, no recomendaría usar el comando chmod +x en su sistema. Básicamente, el comando chmod+x se usa para ejecutar el archivo o eliminar el proceso. Con poder de superusuario, puede ejecutar el comando chmod+x para destruir todo su sistema.

Aquí hay algunos comandos chmod+x para los sistemas Linux que puede seguir para una mejor comprensión. En el valor de salida, el signo numérico 1 simboliza que el usuario actual tiene permiso para ejecutar el archivo.

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4. chmod 755:permitir que el usuario raíz lea y escriba archivos en Linux

Anteriormente, hemos visto el uso del comando chmod -R 755 para sistemas Linux; pero ahora veremos los usos de chmod 755 en un sistema Linux. La principal diferencia entre el chmod -R 755 y el chmod 755 es que el -R 775 permite a todos los usuarios modificar todo el directorio, mientras que el comando 775 solo permite que el usuario root lea y escriba el sistema de archivos.

Puede seguir los siguientes métodos para ejecutar los comandos chmod 755 en su terminal Linux.

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5. chmod 700:Permitir permiso de lectura, escritura y ejecución para el propietario

Si usted es el propietario de su sistema Linux y aún no puede escribir o ejecutar un archivo específico de su sistema de archivos, eso podría deberse a que no tiene la autorización adecuada para el sistema. ¿Por qué necesitaría obtener permiso para ejecutar archivos desde mi propia PC mientras soy el usuario root?

Bueno, es posible que ya sepa que el sistema de archivos de Linux no funciona como Windows u otros sistemas operativos. Linux quiere asegurarse de que sepa lo que está haciendo. Es por eso que, a pesar de ser el propietario, es posible que deba obtener el permiso chmod 700 para ejecutar un archivo específico desde su sistema Linux.

Puede ver los siguientes comandos de terminal a continuación para comprender cómo funciona el comando chmod 700 en Linux.

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

En la imagen de arriba, puede ver que chmod se ejecuta como un usuario root y no puede ver el resultado de salida de la lista larga (ls-l) sin el privilegio de root.

6. chmod 666:deshabilitar la ejecución para todos los usuarios en Linux

Como administrador de sistemas de Linux, personalmente encontré los comandos chmod 666 muy interesantes. Este comando es muy útil para aquellos que tienen que trabajar de forma remota de un sistema a otro. A veces, los clientes no coinciden con el sistema de archivos. Puede agregar la regla chmod 666 para todos los directorios para que los usuarios ingenuos no puedan coincidir con el sistema de archivos.

Volvamos al punto; en Linux, el chmod 666 deshabilita el permiso de ejecución de archivos o directorios para todos los usuarios. Los comandos chmod 666 solo permiten a los usuarios leer y escribir archivos. Puede ver las líneas de comandos del terminal que se muestran a continuación para tener una mejor idea de cómo funcionan los comandos chmod 666 en un sistema Linux.

sudo chmod -c 666 /path/to/file

7. chmod 644:Permiso de acceso de solo lectura para todos los usuarios

Si es un administrador de sistemas o el propietario de un servidor FTP local, este comando lo ayudará. Puede establecer reglas para que el usuario o los visitantes solo vean y descarguen el archivo. De esta forma, tus archivos estarán seguros y podrás compartirlos entre muchos usuarios.

En Linux, el comando chmod 644 funciona tanto para archivos como para directorios. Puede configurar los comandos chmod 644 en cualquier sistema de archivos, servidor o servidor de reproductor multimedia de Linux como Plex o Emby. Este es un ejemplo de cómo puede ejecutar los comandos chmod 644 en un sistema Linux.

sudo chmod 644 /path/to/file

8. chmod 600:Permitir lectura y escritura, pero no ejecución

Suponga que trabaja para una empresa multinacional para trabajar en un servidor de red de área local para compartir documentos o archivos con su compañero de trabajo. En ese caso, es posible que no desee otorgarles permiso para eliminar ningún archivo de su directorio personal.

Para resolver este problema, los usuarios de Linux pueden usar los comandos chmod 600. El comando chmod 600 permite a los usuarios o clientes leer y escribir el archivo y los directorios. Pero no les permite borrar o ejecutar los directorios. Nadie más que usted puede ejecutar archivos desde su sistema en un sistema protegido con chmod 600.

sudo chmod 600 /path/to/file/

Consejos adicionales:1:use el comando Chmod para instalar paquetes en Linux

Hasta ahora, hemos visto muy pocos comandos chmod básicos para que las distribuciones de Linux accedan o nieguen permisos al sistema de archivos. Pero, ¿sabía que también se usa el comando chmod en el sistema Linux? Sí, en la mayoría de los casos, es posible que deba ejecutar los comandos chmod para instalar un paquete en su sistema Linux.

Después de descargar el archivo del paquete binario de una aplicación, lo instala directamente en su sistema Linux mediante los comandos chmod. Este es un ejemplo de cómo se ven los comandos chmod al instalar paquetes a través del comando chmod en su sistema Linux.

$ chmod +x install.sh
$ sudo ./install.sh

Consejos adicionales:2:use el comando Chmod para manejar los errores de novato en Linux

Como el comando chmod es muy poderoso en Linux, debe manejar este comando con mucho cuidado. Solo porque tiene los privilegios de root, no puede ejecutar el chmod de todos modos en ningún directorio. Ejecutar el comando chmod sin entenderlo puede costarle mucho. Ahora, veremos algunos problemas que pueden ocurrir si ejecuta los comandos chmod sin cuidado en su sistema Linux.

Caso 1: Casualmente ejecuta el comando chmod 655 y no puede hacer trabajos de superusuario

Si ejecuta el chmod 655 en su directorio raíz (/), existe la posibilidad de que ya no tenga acceso de raíz sobre su sistema de archivos Linux. Si ya cometiste ese error, no te preocupes; hay un método para recuperar el permiso de root de su sistema.

Debe obtener un disco USB en vivo o un CD del sistema operativo Linux, luego insertarlo y pasar al modo de sesión en vivo. Luego ejecute el siguiente comando chmod en el shell de su terminal para recuperar sus privilegios de root.

sudo chmod /path/to/root/ 755

Caso 2:Agregar permiso después de eliminar el permiso

De vez en cuando, podría haber un error al denegar el permiso a un directorio en lugar de a otro directorio. En ese caso, es posible que pierda temporalmente el acceso al directorio. Para resolver problemas como este, primero debe reparar el directorio que ejecutó accidentalmente. Puede obedecer la línea de comando que se proporciona a continuación para comprender cómo funciona el comando chmod en Linux.

sudo chmod a-x /directory_that_you_accidentally_dropped

Ahora, ejecute el siguiente comando chmod en su terminal Linux para arreglar el directorio.

sudo chmod a+X /directory_that_you_accidentally_dropped

Caso 3:Denegación de permiso para iniciar sesión en un servidor Linux

Si es administrador de un servidor Linux y ejecuta los comandos chmod 444 en la ruta de administración de su servidor, existe la posibilidad de que ya no pueda acceder a su servidor. En ese caso, debe ejecutar los siguientes comandos chmod 555 en el shell del terminal para resolver el problema.

sudo chmod 555 <directory_path>

Aquí hay un consejo más, si ejecuta los comandos chmod 000 en cualquier directorio, nadie más que el usuario raíz puede leer y escribir ese directorio.

Palabras finales

En Linux, los comandos chmod son muy útiles cuando te quedas atascado con el permiso del sistema de archivos. Como administrador de sistemas de Linux, debe conocer todos los comandos principales de chmod en Linux. En toda la publicación, describí el comando chmod de Linux más utilizado. También he mostrado cómo salvar su sistema de los errores de novato del comando chmod. Si necesita más ayuda con el comando chmod, siempre puede abrir su terminal de Linux y chmod --help .

Si le gusta esta publicación y la encuentra útil, compártala con sus amigos y la comunidad de Linux. También puede mencionar si me he perdido algún comando chmod esencial. También le recomendamos que escriba sus opiniones sobre esta publicación en la sección de comentarios.


Linux
  1. Comando Chmod en Linux (Permisos de archivo)

  2. Todo lo que necesita saber sobre Ubuntu 13.04

  3. Compresión de archivos de Linux:todo lo que necesita saber

  4. Permisos de archivos de Linux:todo lo que necesita saber

  5. 10 comandos básicos de Linux que necesitas saber

Todo lo que necesita saber sobre Black Lab Linux

Todo lo que necesita saber sobre la distribución Linux Mint

Todo lo que necesita saber sobre los inodos en Linux

Todo lo importante que necesita saber sobre Hard Link en Linux

Todo lo importante que necesita saber sobre UID en Linux

Todo lo que necesita saber sobre el directorio /tmp de Linux