El usuario, el grupo y los permisos del punto de montaje cambiaron después de montar el disco duro

El usuario, el grupo y los permisos del punto de montaje cambiaron después de montar el disco duro

Estoy montando un disco duro en mi caja de Ubuntu en /media/newhdd, queantesEl montaje tiene los siguientes permisos:

drwxr-xr-x  2 root team 4096 Jan 19 17:26 newhdd
drwxr-x---+ 2 root root 4096 May 14  2020 oem

Ya había cambiado el grupo al teamgrupo.Despuésmontando, sin embargo, lo que veo es:

drwx------  4 29999 29999 4096 Jan 19 19:48 newhdd
drwxr-x---+ 2 root  root  4096 May 14  2020 oem

¿Qué significan esos números? ¿Y por qué han cambiado los permisos?

Información: estoy montando con sudo mount /dev/sda /media/newhdd.

Respuesta1

No, los permisos no se cambian. Su asignación de UID/GID local no coincide con la del sistema donde se establecieron los permisos, y simplemente su sistema los muestra de manera diferente. Pero los permisos en el disco siguen siendo correctos; si movió el almacenamiento al sistema donde se configuraron, los mostrará según lo previsto.


Cada sistema tiene su propio conjunto de ID. En general, se asignan según sea necesario y cuando sea necesario. Por ejemplo, cuando crea un grupo, un sistema le asigna un GID y almacena la asignación /etc/group(de forma predeterminada). De manera similar, cuando crea un usuario, el sistema le asigna un UID y almacena la asignación en /etc/passwd.

Las cuentas del sistema no son muy diferentes. Existen diferencias entre distribuciones; por ejemplo, algunas distribuciones pueden "asignar estáticamente" algunos UID y GID para determinadas aplicaciones; esas asignaciones no se almacenan cuando se instala el sistema, pero cuando instala un software que necesita su propia cuenta, el instalador crea cuentas para ellas con UID/GID predefinido. Otras distribuciones (Gentoo) ni siquiera hacen eso; Los UID y GID se asignan nuevamente en la primera instalación del software, si es necesario.

Hay algunas configuraciones que definen grupos, de los cuales se toman estos UID y GID para asignarlos. Esas líneas /etc/adduser.confson una de ellas, pero hay otras; por ejemplo, mi sistema no tiene /etc/adduser.conf, pero tengo /etc/default/useradd. Puede anular eso al crear la cuenta proporcionando ID concretos, como este: useradd -u 1100 -G users newusercreará un usuario con UID 1100, independientemente de los rangos configurados.

Entonces, los nombres que corresponden a los UID/GID casi siempre difieren de un sistema a otro. Depende en gran medida de la historia del sistema: qué distribución es; el software está instalado y en qué orden; qué usuarios se crean y en qué orden, etc. La única verdad que podemos decir sobre "cualquier" sistema Linux es que el usuario rootsiempre tiene UID 0y el grupo rootsiempre tiene GID 0.

Por ejemplo, si instalo dos Ubuntu idénticos y luego creo en un usuario "alice" primero, puede tener UID 1000, luego "bob", que probablemente tenga UID 1001; en otro sistema creo "bob` primero que obtendrá 1000 y "alice" en segundo lugar, ella recibe 1001.

Por otro lado, los sistemas de archivos no almacenan nombres de usuarios ni de grupos; almacenan números, UID y GID. Ampliando el ejemplo anterior, si creo un archivo en el primer sistema y hago que su propietario sea "alice", su UID 1000 se escribirá en los metadatos del sistema de archivos. Si muevo un medio de almacenamiento a la segunda máquina y accedo a ese archivo, "bob" aparecerá como su propietario, porque el archivo tiene UID 1000 en los metadatos, y en la segunda máquina ese UID corresponde a "bob".

¿Qué pasa si no hay ningún UID asignado? No se preocupe, el sistema operativo en sí no se preocupa por los nombres, solo usa ID y los nombres solo se traducen según el espacio de usuario. Las herramientas del espacio de usuario generalmente solo muestran identificaciones "digitales" cuando no hay ninguna asignación para ellas en /etc/passwdy /etc/group.

Los sistemas Windows no son muy diferentes. Tiene un único "dominio de numeración" de ID, llamado RID, del que se toman los identificadores de seguridad tanto de usuario como de grupo (Linux cuenta los UID y los GID por separado). El primer usuario local suele tener un RID de 500. Los RID combinados con un "dominio de numeración" dan SID, que se escriben en los metadatos del sistema de archivos. Las asignaciones se almacenan en la base de datos SAM.


Esto lleva a un problema muy importante: ¿cómo administrar centralmente un conjunto de computadoras, para que el almacenamiento sea transferible, etc.? Hay varias soluciones para eso. Una, con diferencia la más utilizada, es tener un sistema central que gestione las asignaciones, y todos los sistemas unidos consulten las asignaciones desde él. En los sistemas locales, esos ID asignados a menudo se asignan a algún "dominio de ID". Por ejemplo, MS Active Directory siempre tiene un controlador de dominio con función FSMO activa RID master; este es exactamente un sistema que gestiona las asignaciones en el dominio. (Si lo piensas más, obtendráspor quéesta función se convirtió en FSMO, una función de "operación maestra única"). Por lo tanto, los permisos de los archivos propiedad del dominio se representarán correctamente en todos los sistemas del dominio, incluso si los medios se mueven entre computadoras. Pero si los medios se mueven fuera del dominio, surgirán todos los efectos descritos del mapeo roto. El sistema Linux también puede usar la asignación central, hay NIS o incluso el controlador MS AD puede asignar UID/GID para sistemas Linux unidos a un dominio AD.

Respuesta2

Parece que se trata de un UID generado dinámicamente y se elige el límite superior para dichos identificadores entre /etc/adduser.conf:

# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically
# allocated user accounts/groups.
FIRST_UID=1000
LAST_UID=29999

información relacionada