Preguntas sobre permisos, específicamente a través de máquinas

2

Tengo un par de discos duros externos y he notado que los permisos en ellos son diferentes, lo que me hace preguntarme cómo funcionan algunas cosas.

En el disco duro que parece normal, tiene los siguientes permisos en la máquina 1 (como se ve en el panel de información):

myuser1 (Me) - Read & Write
staff        - Read & Write
everyone     - Read only

Ahora, cuando lo conecto a mi segunda computadora, el usuario con el que he iniciado sesión todavía tiene permisos de escritura. Al ver los permisos otra vez veo:

myuser2 (Me) - Read & Write
staff        - Read & Write
everyone     - Read only

1) ¿La razón por la que esta segunda computadora tiene permisos R & W, porque myuser2 también es miembro de staff ?

2) Si es así, ¿cómo se determina que el grupo staff en una máquina es lógicamente el mismo que un grupo llamado staff en otra máquina? Es decir. seguridad sabio, ¿cómo es esto seguro?

¿Cómo se hace referencia a los usuarios y grupos en los permisos del archivo, de una manera que es "segura", pero de alguna manera funciona en 2 máquinas completamente separadas? ¿Se hace por nombre? uid? gid (para grupos)? De cualquier manera, ya que estos no son UUID, ¿cómo se puede clasificar como seguro? Uno podría simplemente asegurarse de que un usuario creado tenga el mismo uid que se requiere para ver un archivo que se supone que no deben ver, ¡y tendrán acceso!

    
pregunta Sencha 02.02.2016 - 11:53

2 respuestas

5

Primero algunos comandos importantes para saber:

ls -laO muestra mucho:

drwxrwxr-x+ 19 myuser1  staff   714  2 Feb 10:31 My Passport

ls -elaO incluye ACL:

drwxrwxr-x+ 19 myuser1  staff   714  2 Feb 10:31 My Passport
  0: user:_spotlight inherited allow list,search,file_inherit,directory_inherit

El siguiente comando muestra a todos los miembros de un grupo (el grupo de ejemplo aquí es personal):

members () { dscl . -list /Users | while read user; do printf "$user "; dsmemberutil checkmembership -U "$user" -G "$*"; done | grep "is a member" | cut -d " " -f 1; }; members staff

El siguiente comando muestra el UID, el GID y las membresías del grupo user_name

id user_name

Por favor verifique sus diferentes usuarios / grupos con los últimos dos comandos para obtener una descripción general.

Los permisos estándar en el sistema de archivos se aplican utilizando UID y GID en lugar de nombres. Entonces

drwxrwxr-x+ 19 myuser1  staff   714  2 Feb 10:31 My Passport

debe leerse como (asumiendo que el UID de miusuario1 = 501):

drwxrwxr-x+ 19 UID=501  GID=20   714  2 Feb 10:31 My Passport
 |  |  |
 |  |  |Others (Members of GID=12 (Everyone)?) can read and execute
 |  |Members of GID=20 can read, write and execute
 |UID=501 can read, write and execute (owner)

Al adjuntar Mi pasaporte a otra Mac (Mac2), no se cambiará el UID / GID, se mostrará lo siguiente:

  • En caso de que el UID = 501 y GID = 20 de myuser2 (GID = 20 (staff) sea un grupo estándar en cada Mac y cada usuario (estándar o administrador) creado con las Preferencias del Sistema sea miembro de él)

    drwxrwxr-x+ 19 UID=501  GID=20   714  2 Feb 10:31 My Passport
    

    que se traduce a:

    drwxrwxr-x+ 19 myuser2  staff  714  2 Feb 10:31 My Passport
    

    y myuser2 en Mac2 tiene los mismos derechos que myuser1 en Mac1

  • En caso de que el UID = 502 de myuser2 y el UID = 501 de myuser3 y ambos sean miembros de staff :

    drwxrwxr-x+ 19 myuser3  staff  714  2 Feb 10:31 My Passport
    

    myuser2 como miembro de staff ya no es propietario, pero aún puede rwx.

  • En caso de que el UID = 502 de myuser2 sea miembro del staff y myuser3 con UID = 501 se haya eliminado :

    drwxrwxr-x+ 19 (unknown user)  staff  714  2 Feb 10:31 My Passport
    

    myuser2 como miembro de staff ya no es propietario, pero aún puede rwx.

  • En el caso de que el UID = 503 de myuser2 sea no miembro del staff y se elimine el UID = 501

    drwxrwxr-x+ 19 (unknown user)  staff  714  2 Feb 10:31 My Passport
    

    myuser2 como otros (miembro de todos ?) puede rx.

Entonces, para responder a sus preguntas: la razón por la que myuser2 en Mac2 tiene los mismos derechos que myuser1 en Mac1 son los mismos UID y GID / membresías grupales de ambos en sus respectivos hosts. Staff es un grupo predeterminado en cada Mac.

En su entorno actual (las máquinas individuales / los derechos de administrador de los usuarios principales) que utilizan unidades externas no son "seguras / guardadas", solo se utilizan permisos para determinar el acceso. Y nunca fue destinado a ser.

En una unidad organizativa (el usuario común de una estación de trabajo es no administrador) con una administración de usuarios centralizada (OD, etc.) puede usar puntos de montaje aplicados y grupos especiales se ocupan de unidades externas:

Propietario especial y un nuevo grupo para la unidad / punto de montaje:

drwxrwx--- 19 UID=501  GID=512   714  2 Feb 10:31 My Passport

o

drwxrwx--- 19 UID=501  GID=512   714  2 Feb 10:31 My Passport/share_folder

y todos los usuarios que no son administradores que requieren acceso a la (s) unidad (es) externa (s) son miembros de GID = 512 ("Usuarios de unidad externa")

Aún así, cuando se pierde la unidad externa, cualquiera puede tener acceso a ella. Para hacerlo seguro, debe cifrar el contenido de los discos externos.

    
respondido por el klanomath 02.02.2016 - 16:20
1

Usted está solicitando mucha información sobre el modelo de seguridad de Unix que sospecho que es demasiado para una respuesta aquí.

La pieza de información que está buscando es ID de usuario (UID) e ID de grupo (GID) Este es un valor numérico correspondiente a los nombres de usuario y grupo.

Puedes ver cuáles son por id <username> e.g. en mi computadora

~/D/c/TV $ id mark
uid=502(mark) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),399(com.apple.access_ssh),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing)

Esto muestra que mi ID de usuario es 502, mi grupo principal es staff * 20 (y enumera los otros grupos en los que estoy.

En todas las máquinas, el usuario y el grupo son iguales si tienen el mismo número, que es la respuesta a 2. Usted es correcto. No es tan seguro, pero en una red administrada, los inicios de sesión se controlarán de manera centralizada, por lo que solo los usuarios autorizados conecta de esta manera.

En cuanto a 3) el volumen está montado en un directorio en la computadora cliente y los permisos que se muestran son para ese enlace. Así como un enlace simbólico, la información sobre el nombre que usas para acceder a la otra cosa puede diferir del permiso en la fuente.

Para 4) cada archivo / directorio es propiedad de un usuario y tiene permisos para un grupo y también para todos los usuarios

    
respondido por el Mark 02.02.2016 - 18:55

Lea otras preguntas en las etiquetas