[Linux]: explicación detallada del principio operativo y los permisos de los comandos de Shell

Tabla de contenido

1. Principio de operación del comando Shell

1.Concha        

2. ¿Por qué Linux no permite a los usuarios utilizar el kernel directamente?

2. Concepto

3. Gestión de permisos de Linux

1. Clasificación del usuario del acceso a archivos.

2. Tipos de archivos y permisos de acceso 

(1) tipo de archivo 

(2)Derechos de acceso

3. Cómo expresar permisos

(1) Representación de personajes 

(2) notación octal 

4. Configuración de permisos

(1) chmod cambia los permisos de acceso a archivos

(2) chown cambia el propietario del archivo

(3) chgrp modifica el grupo al que pertenece un archivo o directorio

(4) umask para ver o modificar la máscara del archivo

(5) Permisos de directorio 

(6) poco pegajoso


1. Principio de operación del comando Shell

1.Concha        

        Linux, como sistema operativo, se llama "kernel", y los usuarios generales no pueden usar el kernel directamente, sino que se comunican con el kernel a través del programa shell "Shell" del "kernel".

        Por lo tanto, en un sentido amplio, distribución de Linux = kernel de Linux + shell, y en sentido estricto, distribución de Linux = kernel de Linux.

Shell, como programa de shell, está envuelto en la capa externa del kernel de Linux y es un programa de aplicación que proporciona tratamientos relevantes al sistema operativo a través de una serie de comandos de Linux para proporcionar una interfaz humana. Conecta a los usuarios y el kernel de Linux, permitiendo a los usuarios utilizar el kernel de Linux de manera más eficiente, segura y a bajo costo: esta es la esencia de Shell. bash es un tipo de Shell.

Proceso de ejecución del comando Shell:

Shell tiene dos funciones:

(1) Pase el comando de solicitud y deje que el sistema operativo ejecute el comando

(2) Proteger el núcleo 

2. ¿Por qué Linux no permite a los usuarios utilizar el kernel directamente?

 En comparación con la GUI de Windows, los usuarios no operan directamente el kernel de Windows cuando operan Windows, sino que hacen clic en la interfaz gráfica para completar las operaciones del usuario (por ejemplo, para ingresar a la unidad D, el usuario generalmente ingresa a la unidad D haciendo doble clic en el letra de unidad D).

El shell tiene la misma función para Linux, principalmente analiza las instrucciones del usuario y analiza las instrucciones para el kernel de Linux. Los resultados de los comentarios se ejecutan a través del kernel y se analizan para el usuario a través del shell.

2. Concepto de permiso de Linux

Los permisos especifican si una persona específica puede hacer algo. Los permisos de Linux pueden especificar quién puede realizar qué operaciones en un archivo o directorio. Hay dos tipos de usuarios en Linux: superusuarios y usuarios normales. El símbolo del sistema del superusuario es "#" y el símbolo del sistema del usuario normal es "$".

Superusuario : puede hacer cualquier cosa bajo el sistema Linux sin restricciones. El símbolo del sistema del superusuario es "#"

Usuarios comunes : hacen cosas limitadas en Linux. El símbolo del sistema para usuarios normales es "$"

Los dos tipos de usuarios pueden alternar entre sí:

También puede usar Ctrl + D para cambiar al usuario root bajo un usuario normal. Después de cambiar a root, se puede actualizar la identidad del usuario y ejecutar los comandos correspondientes.

3. Gestión de permisos de Linux

1. Clasificación del usuario del acceso a archivos.

Los usuarios se dividen en 3 categorías: 

(1) Usuario propietario del archivo---u

(2) Grupo---g al que pertenece el archivo

(3) Otros---o

2. Tipos de archivos y permisos de acceso 

(1) tipo de archivo 

 ​​​​​​​En Linux, el sufijo del archivo no se usa como una forma de distinguir los tipos de archivos, pero el primero en la lista detallada de archivos se usa para identificar la distinción:

Como se muestra arriba, los tipos de archivos incluyen - y D. Los tipos de archivos en Linux se dividen en las siguientes categorías:

d:文件夹
-:普通文件(包括文本、各种静态库、可执行程序、源程序)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

(2)Derechos de acceso

Linux tiene tres tipos de derechos de acceso a archivos:

r: leer, para archivos, tiene permiso para leer el contenido del archivo; para directorios, tiene permiso para explorar la información del directorio.

w: escribir, para archivos, tiene permiso para modificar el contenido del archivo; para directorios, tiene permiso para eliminar archivos en el directorio móvil.

x: ejecutar, para archivos, tiene permiso para ejecutar el archivo; para directorios, tiene permiso para ingresar al directorio

3. Cómo expresar permisos

Los permisos se pueden expresar en caracteres o en formato octal. 

(1) Representación de personajes 

Linux significa ilustrar
r-- solo lectura
-w- Sólo grabable
--X Sólo ejecutable
rw- Legible y grabable
-wx grabable y ejecutable
RX Legible y ejecutable
rwx Legible, escribible y ejecutable
--- Sin autorización

Para cada archivo, hay tres tipos de usuarios y cada usuario tiene tres permisos: 

(2) notación octal 

Símbolos de permiso (lectura-escritura-ejecución) octal binario
r-- 4 100
-w- 2 010
--X 1 001
rw- 6 110
-wx 5 101
RX 3 011
rwx 7 111
--- 0 000

4. Configuración de permisos

Root no está sujeto a ninguna restricción de permisos y los permisos solo están limitados a usuarios comunes. 

(1) chmod cambia los permisos de acceso a archivos

 Sólo el propietario del archivo y el root pueden establecer permisos de acceso a archivos:

chmod 【参数】 权限 文件名

Opciones: 

R -> 递归修改目录文件的权限

 ①Símbolo de usuario +/-/=carácter de autoridad

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

Por ejemplo, modifique los permisos de acceso de IP.log y agregue permisos ejecutables al usuario: 

②Tres dígitos octales

Por ejemplo, cambie los permisos de IP.log a no legibles, no escribibles y ejecutables (1) del propietario, la matriz no se puede leer, no se puede escribir ni ejecutar (1), y otros no se pueden leer, no se pueden leer ni ejecutar. escribir y ejecutable (0):

 ​​​​​​​

Aunque el usuario delia no puede leer IP.log, root puede leer IP.log, esto se debe a que root no está sujeto a ninguna restricción de permisos:

Si necesita ingresar a un directorio con CD, debe tener permisos X. Si no tiene permisos X, puede verificar el nombre del archivo con ls, pero no puede ingresar con CD.

(2) chown cambia el propietario del archivo

Cambiar propietario del archivo:

chown 【参数】 用户名 文件名

Opciones:

-R 递归修改目录的拥有者

  Por ejemplo, para cambiar el propietario del archivo IP2.log al usuario Gino, se debe modificar con permisos de root, puedes cambiar a root:

Luego modifique el propietario del archivo:

(3) chgrp modifica el grupo al que pertenece un archivo o directorio

Modificar el grupo al que pertenece un archivo o directorio:

chgrp 【参数】 用户组名 文件名

 Opciones:

-R  递归修改文件或目录的所属组

También necesitas permisos de root para modificarlo, por ejemplo, cambia el grupo del archivo IP2.log a Gino: 

Si desea modificar el propietario y el grupo al mismo tiempo, aún necesita tener permisos de root:

chown 拥有者:所属组 文件名

 Por ejemplo, si desea cambiar el propietario y el grupo de IP2.log a root, puede cambiarlo así: 

(4) umask para ver o modificar la máscara del archivo

Cuando crea un nuevo archivo, los permisos de acceso deben ser 777, pero descubre que los permisos del directorio recién creado son 755:

Esto se debe a que al crear un archivo o directorio, también se ve afectado por umask. Suponiendo que el permiso predeterminado es máscara, los permisos del archivo realmente creado son máscara y ~ umask.

Ver máscara de archivo:

umask

Se encuentra que la umask del sistema es 0022:

Solo necesita preocuparse por los últimos tres dígitos. Los permisos del archivo realmente creado son máscara y ~umask. Cualquier bit que sea 1 en umask debe eliminarse del permiso inicial:

 Modificar máscara de archivo:

umask 八进制

Cambie la máscara del archivo de 022 a 333 y descubra que los permisos del nuevo directorio creado también corresponden a 333: 

 Pero si cierra sesión, vuelve a iniciar sesión y crea un nuevo directorio, encontrará que la máscara modificada no es válida y vuelve a ser 022.

 

 Esto se debe a que la configuración de la máscara solo es efectiva durante este inicio de sesión y dejará de ser válida cuando cierre la sesión.

(5) Permisos de directorio 

Permisos de lectura: si el directorio no tiene permisos de lectura, no puede usar comandos como ls para ver el contenido de los archivos en el directorio.
②Permisos de escritura : si el directorio no tiene permisos de escritura, no se pueden crear archivos en el directorio ni eliminar archivos en el directorio.
③Permisos ejecutables : si el directorio no tiene permisos ejecutables, no puede ingresar al directorio,
entonces hay un problema. Siempre que el usuario tenga permisos de escritura para el directorio , el usuario puede eliminar archivos en el directorio , independientemente de si el usuario tiene permisos de escritura para el archivo. ¿No es esto una contradicción?

(6) poco pegajoso

 En el directorio raíz de root, hay una carpeta tmp. Los archivos temporales se almacenan en esta carpeta. Antes de que el usuario guarde el archivo, los archivos se almacenan en la carpeta tmp. Esta carpeta almacena los archivos temporales del usuario. Puede ver que hay a t a sus permisos:

 

Los permisos de esta carpeta son rwx para el propietario y el grupo al que pertenece, y los permisos para otras son rwt. ¿Cuál es el atributo de esta t? ¿Cuál es la diferencia entre r, w y x?

Veamos primero el siguiente ejemplo. El usuario root creó una carpeta test en el directorio raíz y creó 2 archivos test1 y test2 en esta carpeta. Luego, el usuario root cambió al usuario delia. En este momento, se descubrió que delia En realidad, podría eliminar archivos en la prueba:

 

¿Cómo se puede tolerar esto? ¿Cómo pueden otros eliminar casualmente los archivos que creé? El directorio de prueba tiene permisos w y x en otros. Una vez que tiene permisos w, otros pueden crear archivos y eliminar archivos en él. Pero, ¿qué debo hacer si no quiero que otros usuarios eliminen los archivos creados por un usuario?

En este escenario, el bit adhesivo es necesario. Cuando el bit adhesivo se establece en un directorio, incluso si el usuario tiene permisos de escritura en el directorio, los archivos de otros usuarios en el directorio no se pueden eliminar. Sólo el propietario del archivo y el El usuario root puede eliminar los archivos. Esto logra el propósito de que cada usuario pueda leer, escribir, modificar y eliminar archivos en el directorio, pero no puede eliminar los archivos de otros usuarios a voluntad.

Configure la parte adhesiva:

Se descubrió que una vez configurado el bit adhesivo, otros usuarios no pueden eliminar los archivos creados por este usuario. 

Por lo tanto, cuando un directorio está configurado en el "bit fijo" (chmod +t), los archivos en el directorio solo pueden ser
eliminados por (1) el superadministrador
(2) el propietario del directorio
(3) el propietario del archivo borrar

Supongo que te gusta

Origin blog.csdn.net/gx714433461/article/details/127222316
Recomendado
Clasificación