GNU/Linux >> Tutoriales Linux >  >> Linux

Un chico de Windows en un mundo Linux:usuarios y permisos de archivo

Si ha administrado Windows durante algún tiempo, probablemente tenga experiencia con la administración de cuentas de usuario, el sistema de archivos NTFS y la configuración de permisos. Si es así, ¡prepárese para un mundo diferente con los permisos de archivos de Linux! En Linux, el sistema de archivos es un animal diferente que debe aprender para ser un administrador de Linux competente.

¡Esta es la Parte II de nuestra serie de cuatro partes sobre el aprendizaje de Linux desde la perspectiva de un administrador de Windows! Asegúrese de leer la Parte I si aún no lo ha hecho.

Trabajando con el Sistema de Archivos

Primero veamos cómo Linux almacena y administra archivos a través del sistema de archivos.

Nota:Todos los ejemplos usarán OpenSUSE Linux.

No más letras de unidad

A diferencia de Windows, las unidades extraíbles y otros dispositivos no obtiene automáticamente una letra de unidad y se abre al reiniciar. En Windows, cada unidad se monta como una letra de unidad:C:\ , D:\ , etc. ¿Cómo funcionan las letras de unidad en Linux? ¡No hay ninguno!

En Linux, hay una carpeta llamada raíz carpeta. Esta carpeta se encuentra en la raíz del sistema de archivos o simplemente / . La barra inclinada es la primera barra inclinada antes de que provengan todos los demás archivos del sistema. Esta barra diagonal es amable de como la base C:\ , aunque solo si las otras letras de unidad solo existía como una subcarpeta de C:\ .

La carpeta raíz es donde se encuentran los archivos centrales del sistema. Todo lo demás, incluidos otros dispositivos, es una subcarpeta de esta carpeta central.

Linux difumina la línea entre carpetas y sistemas de archivos. El directorio de Linux /home es la raíz de todos los "perfiles" de los usuarios similar a C:\Users carpeta en Windows. En este caso, /inicio es un directorio. Sin embargo, los "directorios" en Linux no tienen que ser realmente directorios. También pueden ser particiones de almacenamiento o incluso un disco duro separado por completo. Este concepto es análogo a los puntos de montaje de Windows.

Puede obtener más información sobre las carpetas raíz en este artículo.

Usuarios y carpetas de inicio

Si está utilizando OpenSUSE, es posible que observe un Inicio carpeta en su escritorio como se muestra a continuación. Esta carpeta es la versión de Linux de C:\users\ carpeta o “perfil”. La carpeta de "usuarios" de Linux se encuentra en /home en su disco de instalación por defecto.

En el siguiente ejemplo, el usuario se llama homelab con un "perfil" ubicado en /home/homelab.

En Linux (y Windows), la carpeta de inicio (o perfil de usuario en Windows) tiene una notación abreviada de tilde ( ~). Si ves algo como "~/Documents/blah.txt , en realidad se refiere a tu /home//Documents/blah.txt archivo.

Las mayúsculas lo son todo en Linux

Todo en Linux distingue entre mayúsculas y minúsculas. Este concepto es completamente opuesto a Windows, donde casi nada distingue entre mayúsculas y minúsculas.

Por ejemplo, si tiene un directorio llamado /home/homelab, un directorio completamente diferente se puede llamar /home/Homelab. Este concepto también se extiende a los comandos. Ejecutando cd /home/homelab es diferente de CD /home/homelab (que debería fallar).

Como usuario de Windows, este concepto se tropezarte en algún momento. ¡Ten mucho cuidado con tu capitalización! Puede ver un ejemplo de dos carpetas separadas a continuación. La única diferencia entre los dos es el uso de mayúsculas:en un entorno Windows, esto no es posible.

Cuentas de usuario

Al igual que Windows, Linux tiene el concepto de cuentas de usuario pero se comportan de manera un poco diferente. Primero comience pensando en las cuentas de usuario de Linux en términos de sus cuentas de usuario de Windows familiares.

Windows tiene algunas cuentas de usuario integradas, como Administrador , la cuenta SYSTEM oculta, Invitado , etc. Windows también tiene varios grupos de seguridad integrados como Administradores , Invitados , etc.

Puede ver todos los usuarios y grupos de Windows a través de la MMC de usuarios y grupos locales ejecutando lusrmgr.msc Complemento MMC.

SID de Windows

Para identificar de forma única a los usuarios y grupos, Windows se refiere a los usuarios y grupos por algo llamado SID. En Windows, puede encontrar el SID de cada usuario y grupo ejecutando un par de comandos de PowerShell a continuación.

Get-LocalUser | select name, sid
Get-LocalGroup | select name,sid

Cada SID de grupo de Windows es el mismo en todas las computadoras con Windows. El usuario incorporado SID s para Windows son únicos. Ese SID de administrador que ve en la captura de pantalla anterior debe ser diferente en cada computadora con Windows. Cualquier usuario o grupo futuro creado en Windows será único. Observe debajo de la prueba grupo. Si creara una prueba grupo en su computadora con Windows, el SID sería diferente.

ID de usuario de Linux

Por otro lado, Linux maneja a los usuarios y grupos de manera similar solo que esta vez Linux no usa SID sino ID de usuario (UID) e ID de grupo (GID). Además, a diferencia de Windows, los usuarios y grupos son exclusivos de la computadora, pero no únicos en todos. ordenadores. Esto significa que su UID en la computadora A podría ser exactamente el mismo UID en la computadora B, incluso si no es el mismo usuario.

Tanto los UID como los GID siguen una convención numérica simple; cada UID y GUID comienzan en 0 y se incrementan en uno, desde 1 a 999 para las cuentas del sistema interno y más de 1000 para las cuentas de usuario personalizadas.

El usuario raíz incorporado siempre tiene un UID de 0 y un GID de 0. Además, al igual que la cuenta SYSTEM oculta de Windows, esta cuenta raíz es generalmente (dependiendo de la distribución de Linux) impidió iniciar sesión.

El usuario root integrado es similar a las cuentas integradas de Windows SYSTEM y Administrator, todo en uno. Incluso si está trabajando como administrador en Windows, todavía hay algunas medidas de seguridad integradas para evitar que destruya Windows por completo.

El usuario root, por otro lado, es una autoridad absoluta. Si ingresa deliberadamente al usuario raíz (puede hacerlo en la línea de comando usando el comando sudo su ) e intente eliminar todo su sistema operativo, root lo hará felizmente hasta que el sistema muera.

Supongamos que ha creado un usuario llamado homelab . El UID para homelab luego podría ser referenciado por 1000 o por homelab . El usuario se convertirá automáticamente en miembro del grupo interno usuarios al que puede hacer referencia con el ID de grupo de 100. Puede encontrar una lista de estas asignaciones ejecutando getent passwd comando como se ve a continuación:

También puede encontrar la misma información que arriba para grupos con el getent group comando.

Permisos de archivo de Linux

En un mundo de Windows, los permisos del sistema de archivos no son divertidos. Establecer y administrar permisos en NTFS a veces puede convertirse en una pesadilla con ACE, ACL, herencia, propagación, etc. Afortunadamente, en el sistema de archivos de Linux, los permisos son mucho más simples.

En Linux, tiene tres tipos de derechos que puede asignar a un archivo:lectura, escritura y ejecución con tres categorías de acceso:propietario, grupo, otros.

  • propietario es el usuario propietario del archivo/carpeta. Cada archivo o carpeta tiene un propietario designado.
  • grupo es el grupo propietario del archivo/carpeta. Este no tiene que ser el mismo grupo al que pertenece el propietario. Cada archivo o carpeta solo puede pertenecer a un grupo.
  • otros son... bueno... otros. Son personas que no forman parte del grupo propietario o no son el propietario designado.

Puede permitir o denegar todas las opciones para cada categoría. Como ejemplo:puede proporcionar opciones de lectura, escritura y ejecución para el propietario y opciones de lectura/ejecución para el grupo y otros. Puedes verlo en la siguiente captura de pantalla. Esto significa que cualquiera además el usuario propietario de la carpeta no puede modificarla.

Al igual que el explorador de Windows, en Ubuntu, puede ver esta información haciendo lo siguiente:

  1. Abra su carpeta de inicio en su escritorio.
  2. Navegue hasta el archivo/carpeta en cuestión.
  3. Haga clic derecho en el archivo/carpeta y haga clic en Propiedades .
  4. Haga clic en Permisos pestaña.
  5. Haga clic en Permisos avanzados .

Una vez que esté en Permisos avanzados cuadro, puede ver gráficamente todos los permisos asignados a ese archivo o carpeta.

A continuación se muestran los Permisos avanzados tabla representa.

Propiedad del archivo

Al igual que Windows, cada archivo y carpeta tiene un propietario. En Windows, puede tomar posesión de un archivo en la GUI o a través de takeown dominio. En Linux, toma posesión ejecutando chown : en la línea de comando.

Al igual que Windows, generalmente necesita permiso administrativo para cambiar la propiedad de los archivos usando sudo. sudo es el equivalente en Linux del Control de cuentas de usuario (UAC) de Windows. En lugar de abrir una ventana de línea de comando administrativa, antepone sudo a los comandos para que se ejecute como administrador.

Vamos a crear una carpeta que sea solo propiedad de root para demostrar algunos de estos conceptos.

  1. Abra su carpeta de inicio y vaya a Documentos
  2. Abra un símbolo del sistema con clic derecho —> Acciones —> Abrir terminal aquí y ejecuta lo siguiente:
sudo mkdir owned-by-root
sudo chmod 700 owned-by-root

Esta carpeta solo tiene permisos de lectura/escritura/ejecución para el propietario. Debido a que creó la carpeta con derechos de administrador, ese propietario es actualmente root.

También cambió los permisos para que solo el propietario tiene acceso. El grupo propietario y otros usuarios no pueden acceder a esta carpeta en absoluto. De hecho, notará que la carpeta tiene un gran candado que indica que no tiene acceso.

A continuación puede ver cómo tomar posesión de esta carpeta.

  1. Abre otra terminal en esa misma carpeta (o usa la que ya tenías)
  2. Ejecutar sudo chown homelab:users ./owned-by-root

Ahora que tiene la propiedad, también puede cambiar los permisos del archivo dentro de la GUI del explorador usando la ventana de propiedades.

Usted (por lo general) solo desea cambiar la propiedad, no los permisos de archivo. Linux es bastante bueno para saber qué permisos se supone que tienen las cosas por defecto. Realmente puedes estropear las cosas "chmoding" sin saber las implicaciones.

Notación numérica para permisos de archivo

Si ha hecho alguna Solución de problemas de Linux, es posible que haya visto a personas en línea explicar los permisos de archivos usando un esquema numérico. Puede verlo resaltado en la siguiente captura de pantalla:

Linux usa una notación abreviada para este sistema de acceso usando números, como 0600 . El primer número es para algunas propiedades especiales que puede agregar, que las personas generalmente pasar por alto. De hecho, la mayoría de las personas solo usan tres dígitos para la notación e ignoran el cuarto inicial.

Para obtener más información sobre la notación numérica para los permisos de archivo, consulte este artículo.

Resumen

¡Eso es todo para la Parte II de nuestra serie de publicaciones de blog A Windows Guy in a Linux World! ¡Asegúrate de mantener el impulso con la Parte III!


Linux
  1. Cómo configurar el servidor SAMBA y transferir archivos entre Linux y Windows

  2. Interoperabilidad de Windows y Linux:una mirada a Samba

  3. Consejos y trucos de Linux .htaccess

  4. Conceptos de permisos de archivos de Linux

  5. Tabla de permisos para un archivo/directorio y tipos de usuarios del sistema de archivos

Permisos y propiedad de archivos de Linux explicados con ejemplos

Comprender los permisos de archivos de Linux

Un chico de Windows en un mundo Linux:VS Code y SSH remoto

Un tipo de Windows en un mundo Linux:configurar el comando SSH en Linux

Un tipo de Windows en un mundo Linux:YaST y el escritorio

Cómo convertir un archivo .pem a un archivo .ppk en Windows y Linux