1 votes

Comment gérer l'accès des utilisateurs aux dossiers partagés à partir de la ligne de commande ?

Utilisation de la sharing ou dscl commandes Je n'arrive pas à trouver comment ajouter des utilisateurs associés à des partages. Le compte local-admin actuel a accès à tous les partages, mais j'aimerais ajouter un autre compte utilisateur pour qu'il puisse accéder à certains partages AFP.

Bizarrement, je n'arrive même pas à trouver comment dresser la liste des personnes qui ont actuellement accès à chacun des SharePoints AFP.

Je cherche donc une solution en ligne de commande pour les deux questions suivantes :

1) comment lister les utilisateurs actuels associés à un sharepoint particulier ? 2) comment ajouter un utilisateur à un sharepoint ?

4voto

Jonathan Sampson Points 121800

L'accès de l'utilisateur aux points de partage dépendra des autorisations qui sont définies sur ce point de partage. Vous pouvez utiliser la commande 'ls' pour obtenir cette information en utilisant le Terminal... Les produits Mac plus récents (10.4+) utiliseront des ACL pour contrôler l'accès à ces dossiers. Vous pouvez obtenir des informations sur les POSIX et les ACL appliquées aux dossiers en utilisant cette commande :

ls -ale /Path/To/Folder

Cette commande affichera le contenu du répertoire en mode liste. Notez que vous verrez les permissions POSIX (anciennement UNIX) sur le côté gauche de chaque ligne. Les permissions peuvent être déchiffrées en examinant la section "Permissions définies" du document cette page . Vous verrez probablement un résultat similaire à celui qui suit :

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

Vous pouvez voir que les ACL sont listées avec leurs index (ordre d'évaluation 0-n) sur les répertoires/fichiers qui ont des ACL appliquées. Vous pouvez également constater que certains fichiers ne sont pas associés à des ACL (les fichiers auxquels des ACL ont été appliquées affichent un "+" à côté du nom du fichier lorsqu'ils sont listés dans le Terminal). Les ACL et les permissions POSIX sont évaluées lorsque les utilisateurs tentent de se connecter à un point de partage sur le serveur. Si les autorisations POSIX ou les ACL sont en conflit, vous pouvez observer un comportement quelque peu étrange/indéfini.

Pour la plupart, le contrôle de l'accès aux sharepoints devrait être fait par "groupe". Je recommande de configurer un groupe sur la machine, d'ajouter les utilisateurs qui doivent avoir accès à ce point de partage à ce groupe, et d'appliquer une ACL (qui héritera) à ce point de partage afin que les futurs fichiers/dossiers créés dans ce partage aient les mêmes permissions. Voici un exemple de configuration de cet héritage pour un groupe appelé "Comptabilité" sur un seul dossier nommé "Données" :

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

Notez qu'il peut également être judicieux de coordonner les permissions des groupes POSIX avec les ACLs qui sont définies pour assurer un accès sécurisé à ces dossiers :

chmod -R admin:accounting Data

Il peut être judicieux d'interdire aux autres utilisateurs l'accès à ce partage (pour une sécurité plus stricte) en utilisant les permissions POSIX. Le "0" dans ce mode de permissions octal spécifie qu'il n'y a pas de permissions de lecture/écriture/exécution pour les autres utilisateurs (c'est-à-dire pas l'utilisateur admin ou le groupe accounting) :

chmod -R 770 Data

Après avoir configuré cette ACL sur le dossier, vous pouvez simplement ajouter les futurs utilisateurs au groupe "Accounting", ce qui devrait leur permettre d'accéder au partage. Pour ajouter un utilisateur à un groupe depuis la ligne de commande, vous pouvez utiliser dseditgroup. Voici un exemple de confirmation de l'appartenance ou non de l'utilisateur au groupe :

dseditgroup -o checkmember -m newuser accounting

Si l'utilisateur ne fait pas partie du groupe, vous pouvez l'y ajouter :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X