Directorio de artículos
Hola a todos, mi nombre es Ji Ning.
Este artículo presentará el programa shell de Linux y el contenido de los usuarios de Linux que cambian los permisos de Linux.
Sistemas operativos y shells
Estrictamente hablando, Linux es un sistema operativo, al que llamamos "núcleo", pero los usuarios normales no podemos utilizar el núcleo directamente.
Pero a través del programa "shell" del kernel, que es el llamado shell.
Diagrama de estado del usuario y estado del kernel de Linux
El kernel del sistema operativo y el shell son dos componentes diferentes, pero están estrechamente relacionados.
El kernel del sistema operativo es la parte central del sistema operativo, administra los recursos de hardware y software de la computadora y proporciona servicios básicos del sistema informático, como administración de procesos, administración de memoria, administración de E / S, sistema de archivos, etc. El núcleo del sistema operativo es la piedra angular del sistema operativo y sin él, el sistema operativo no puede ejecutarse correctamente.
Los usuarios utilizan el shell shell para interactuar con el núcleo del sistema operativo主要接口
. Shell puede entenderse como 命令解释器
, que acepta comandos ingresados por el usuario y llama al servicio del kernel correspondiente para su ejecución. Shell proporciona un conjunto de comandos y lenguajes de secuencias de comandos que permiten a los usuarios acceder fácilmente a los servicios del kernel del sistema operativo y operar sistemas de archivos y otros recursos.
En el sistema operativo, Shell sirve como una interfaz interactiva entre los usuarios del sistema y el kernel, pasando las solicitudes e instrucciones de los usuarios a través de la línea de comando o la interfaz gráfica. Después de recibir las instrucciones, el kernel realiza las operaciones correspondientes y devuelve los resultados al Shell. La interacción entre el shell y el kernel se puede lograr mediante llamadas al sistema.
Entonces, para resumir el papel del shell shell:Traduzca los comandos del usuario al kernel para su procesamiento y, al mismo tiempo, traduzca los resultados del procesamiento del kernel al usuario.
shell外壳一定会对用户输入的指令做处理吗?
La respuesta es no. Para considerar la seguridad y facilidad de uso del sistema operativo, los usuarios deben ingresar instrucciones a través del programa shell en lugar de acceder directamente al sistema operativo. Pero cuando el programa shell está procesando instrucciones, para instrucciones riesgosas, el programa shell creará un 子进程
para permitir que el proceso hijo ejecute las instrucciones riesgosas (normalmente 用户自定义的指令
).
La creación de un subproceso puede aislar el proceso de ejecución de instrucciones en un espacio de proceso independiente. De esta manera, incluso si ocurre un error o accidente en la ejecución, no afectará el shell en sí ni a otros. procesos; en segundo lugar, el shell puede Al controlar el estado del proceso y el uso de recursos del proceso hijo, el alcance de la influencia de las instrucciones es limitado, se reducen los riesgos y se garantiza en gran medida la seguridad y estabilidad del sistema.
Instrucciones para matar un proceso:
kill -9 进程编号
Usuarios de Linux
Los usuarios del sistema Linux se dividen en root
usuarios y 非root
usuarios. El usuario root es el superadministrador y tiene la máxima autoridad del sistema; mientras Los usuarios comunes pueden Para hacer la mayoría de las cosas que podemos hacer en nuestro propio sistema, lo que podemos hacer usando el sistema Windows básicamente lo pueden hacer usuarios comunes. Sin embargo, solo el usuario root puede hacer cosas como instalar y eliminar software del sistema, modificar configuraciones del sistema, etc.
Creación y eliminación de usuarios comunes.
En un sistema Linux, solo puede haber un usuario root, pero puede haber varios usuarios comunes y los recursos entre usuarios comunes no se comparten.
创建新用户
xxx es el nombre de usuario que se creará
adduser xxx
为用户设置密码
xxxxx es la contraseña (el terminal no muestra la contraseña ingresada, pero la confirmará dos veces)
passwd xxxxx
删除用户名和密码
userdel xxx
删除用户数据
userdel rm -r xxx
Cambio de usuario
切换为root用户
su - #以root身份再登录一次
su #切换为root身份
Los dos métodos de cambio anteriores requieren que ingrese nuevamente la contraseña de la cuenta raíz.
logout # 退回到普通用户的账号
切换为普通用户
su xxx
No necesita ingresar una contraseña para cambiar la cuenta raíz, pero sí debe ingresar la contraseña para cambiar la cuenta a una cuenta normal.
exit
Salir de la cuenta ordinaria cambiada
Cómo ejecutar un comando con los permisos de la cuenta raíz sin cambiar a la cuenta raíz
sudo 指令
Sin embargo, para usar el comando sudo, debe agregar al usuario normal como root a la lista blanca antes de poder usar sudo.
sudo指令白名单教程
Primero, cambie el usuario a la cuenta raíz y ejecute el siguiente comando en la cuenta raíz
vim /etc/sudoers
Ingrese vim y busque %whell ALL=(ALL) ALL
este comando
Copie este comando y cambie la rueda por el nombre de usuario que desea agregar a la lista blanca.
Después de ingresar al modo de fila inferior, presione w!
para forzar el guardado y q!
para forzar la salida. En el futuro, cuando la cuenta Zyb use el comando sudo, solo necesitará ingresar la contraseña de la cuenta Zyb una vez en un corto período de tiempo.
permisos de linux
Clasificación de permisos de Linux
Atributo condicional central:r
(读)w
(transcripción) x
(执行)
Grupo de colores de ángulo de límite de texto de Linux: 拥有者
, 所属组
, other
文件所有者
: el propietario del archivo es el usuario especificado cuando se creó el archivo, normalmente el usuario que creó el archivo. El propietario del archivo tiene propiedad y acceso total al archivo, incluidas las operaciones de lectura, escritura y eliminación.
文件所属组
: el grupo al que pertenece el archivo especifica el grupo al que pertenece el archivo. Al crear un archivo, el grupo al que pertenece el archivo generalmente se establece en el grupo principal al que pertenece el usuario creador ("crear un grupo"). Los usuarios del grupo al que pertenece el archivo pueden acceder al archivo, pero no tienen propiedad.
文件的other
: Representa a todos los demás usuarios o grupos, es decir, usuarios o grupos que no son el propietario o grupo del archivo.
¿Cómo modificar permisos?
Modificar el propietario y el grupo de un archivo requiere permisos de root o el usuario actual es el propietario original del archivo. Puede utilizar el comando chown
, nuevo usuario y nuevo grupo son el nuevo propietario y el nuevo grupo del archivo.
Cambiar el propietario de un archivo
chown newuser file.txt
Modificar el grupo al que pertenece un archivo
chgrp newgroup file.txt
Modificar el propietario y grupo del archivo al mismo tiempo
chown newuser:newgroup file.txt
Permisos de acceso a archivos
Ingrese ll en la línea de comando para ver los detalles del archivo.
Lo que hay en el cuadro rojo es la información detallada de permisos de la función del archivo.
Modificar permisos de archivos
chomd ugoa +/- rwx 文件名
explicar:u representa el propietario del archivo, usuario, g representa el grupo al que pertenece el archivo, o representa el otro del archivo y a representa el propietario del archivo; + representa agregar un determinado permiso, - representa eliminar un determinado permiso ; r w x representa los atributos de permiso del archivo: leer, escribir, ejecutar, admite el funcionamiento continuo.
Ejemplo 1: Si quiero quitar el permiso de lectura del propietario del archivo test.txt
chomd u-r test.txt
Ejemplo 2: Si quiero quitar el permiso de lectura del propietario del archivo test.c, aumentar el permiso de escritura del grupo al que pertenece y el permiso de lectura de otro, las instrucciones son las siguientes:
chomd u-r,g+w,o+r test.c
Nota: Debe ser el propietario del archivo o directorio o el superusuario (root) para tener permisos de modificación. Para modificar los atributos del archivo, el propietario también debe tener permisos de escritura en los archivos modificados. No importa cuáles sean los permisos, ¡son inútiles en la cuenta raíz!
máscara de permiso
La máscara de archivo puede personalizar los permisos predeterminados cuando se crea un archivo.
En teoría, un archivo de directorio tiene derechos de lectura, escritura y ejecución cuando se crea (se requieren x permisos para ingresar a un archivo), pero a veces no todos los tienen. De la misma manera, un archivo de directorio ordinario El archivo es Cuando se crea, debe tener al menos derechos de lectura y escritura.
El permiso se contará como 1 y la ausencia del permiso se contará como 0
Los permisos del archivo en la imagen de arriba son: 110110100 A nivel principal es comparar el número binario de permisos totales con la máscara de permisos, si hay los mismos bits se eliminarán, y si no los hay, no se eliminarán. estar procesado. También puedes utilizar la siguiente fórmula para calcular: ¿Cómo se calcula esto? Cambiar la máscara de archivo de esta cuenta a 005, crea los archivos test.cc, code.cc y el directorio efootball, puedes ver que los permisos son reducidos respecto a los archivos creados anteriormente. Por ejemplo: Puedes modificar la máscara de archivo de la cuenta actual El comando puede consultar la máscara de archivo de la cuenta actual y la máscara de archivo actual El código es 002 Luego los permisos iniciales del directorio deben ser 777. El permiso real de los archivos normales es 777. ¿Pero por qué no? Esto tiene que ver con las máscaras de permiso. Especifica que los permisos predeterminados de un archivo son los permisos iniciales del archivo: los permisos que aparecen en umask (resta octal) Permisos El orden de izquierda a derecha es lectura, escritura y ejecución. Piense en los tres permisos de cada función del archivo como un número octal, de la siguiente manera 110110100 111111101 110110100
111111101
umask
umask 权限编号
umask 003
最终权限 = 起始权限&(~umask)
Nota: ¡La posibilidad de eliminar un archivo no depende del archivo en sí! Y dependiendo del directorio donde se encuentre el archivo, si el propietario tiene写
permisos. Por supuesto, la cuenta raíz puede hacer lo que quiera.
poco pegajoso
En el directorio de archivos compartido, sin configurar el grupo al que pertenece, podemos agregar uno粘滞位t
a otro en este directorio para reemplazar el último permiso x de otro, y el punto es específico x El significado de esto también impone restricciones especiales a los permisos de este directorio: el directorio tiene el atributo w para otros, pero solo el root o el propietario del archivo tiene derecho a eliminar los archivos en este directorio, y no ¡uno más está permitido!
El bit adhesivo se puede utilizar para agregar permisos especiales a los directorios.