1 votos

¿Cómo gestionar el acceso de los usuarios a las carpetas compartidas desde la línea de comandos?

Utilizando el sharing o dscl comandos no puedo averiguar cómo agregar los usuarios asociados a las acciones. La cuenta actual de administrador local tiene acceso a todos los recursos compartidos, pero me gustaría añadir a una cuenta de usuario diferente la capacidad de acceder a algunos de los recursos compartidos AFP.

Extrañamente, ni siquiera puedo averiguar cómo enumerar quién tiene actualmente acceso a cada uno de los SharePoints de AFP.

Por lo tanto, la búsqueda de la solución de línea de comandos a las dos preguntas siguientes:

1) ¿cómo listar los usuarios actuales asociados a un determinado sharepoint? 2) ¿cómo añadir un usuario a un sharepoint?

4voto

Jonathan Sampson Puntos 121800

El acceso de los usuarios a los puntos compartidos dependerá de los permisos que se hayan establecido en ese punto compartido. Puede utilizar el comando 'ls' para obtener esa información utilizando el Terminal... Los productos Mac más recientes (10.4+) utilizarán ACLs para controlar el acceso a esas carpetas. Puede obtener información tanto de POSIX como de las ACLs aplicadas a las carpetas utilizando este comando:

ls -ale /Path/To/Folder

Ese comando listará el contenido del directorio en vista de lista. Observe que verá los permisos POSIX (UNIX heredado) en la parte izquierda de cada fila. Los permisos se pueden descifrar examinando la sección "Permisos definidos" de esta página . Es probable que vea una salida similar a la siguiente:

allyourbasearebelongtous:folder eddie$ ls -ale
total 0
drwxrwxrwx    4 eddie  staff   136 Oct 10 12:17 .
drwxr-xr-x@ 101 eddie  staff  3434 Oct 10 12:16 ..
-rw-rw-rw-    1 eddie  staff     0 Oct 10 12:16 testfile
-rw-rw-rw-+   1 eddie  staff     0 Oct 10 12:17 testfile_acl
 0: group:staff inherited allow read,write,execute,delete,append,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown
 1: group:everyone inherited allow read,write,execute,append,readattr,writeattr,readextattr,writeextattr,readsecurity

Puede ver que las ACLs aparecen con sus índices (orden de evaluación 0-n) en los directorios/archivos que tienen ACLs aplicadas. También puede ver que algunos archivos no muestran ACLs asociadas a ellos (los archivos que tienen ACLs aplicadas muestran un "+" junto al nombre del archivo cuando se listan en el Terminal). Tanto las ACL como los permisos POSIX se evalúan cuando los usuarios intentan conectarse a un punto compartido en el servidor. Si el POSIX o las ACLs entran en conflicto, puede ver un comportamiento algo extraño/inexistente.

En su mayor parte, el control de acceso a los puntos compartidos debe hacerse por "grupo". Recomiendo configurar un grupo en la máquina, añadir a ese grupo los usuarios que deben tener acceso a ese punto compartido y aplicar una ACL (que heredará) a ese punto compartido para que los futuros archivos/carpetas creados en ese punto compartido tengan los mismos permisos establecidos. A continuación se muestra un ejemplo de configuración de esa herencia para un grupo llamado "Contabilidad" en una única carpeta llamada "Datos":

chmod -R +ai "Accounting allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,directory_inherit,file_inherit" Data

Tenga en cuenta que también puede ser prudente coordinar los permisos de grupo POSIX con las ACL que se establecen para garantizar el acceso seguro a esas carpetas:

chmod -R admin:accounting Data

Puede ser una buena idea no permitir el acceso de otros usuarios a este recurso compartido (para una seguridad más estricta) utilizando permisos POSIX. El "0" en este modo de permisos octales especifica que no hay permisos de lectura/escritura/ejecución para otros usuarios (es decir, no el usuario administrador o el grupo de contabilidad):

chmod -R 770 Data

Una vez que hayas configurado esa ACL en la carpeta, puedes simplemente añadir futuros usuarios al grupo "Contabilidad", lo que debería permitirles el acceso al recurso compartido. Para añadir un usuario a un grupo desde la línea de comandos, puede utilizar dseditgroup. Aquí hay un ejemplo para confirmar si el usuario es o no miembro del grupo:

dseditgroup -o checkmember -m newuser accounting

Si el usuario no forma parte del grupo, puede añadirlo a él:

sudo dseditgroup -o edit -a newuser -t user accounting

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X