Créer une dropbox qui gère le partage et permissions

Les utilisateurs qui ont accès à tes dossiers n'ont pas de compte ouvert dans ton OS ? = ils n'ont pas d'identité référencée dans l'OS ?

- est-ce que tu souhaites simplement qu'ils puissent avoir un accès en lecture et écriture à tous les contenus des dossiers partagés - peu importe l'utilisateur propriétaire de ces données ? - si oui : est-ce que restaurer de manière récurrente les autorisations de ces objets à 777 = valeur octale des permissions de lecture / écriture / exécution de l'entrée au répertoire pour l'utiisateur lauranne (toi de façon récurrente) > le groupe primaire staff (de tous les ayants-comptes dans l'OS) > le groupe secondaire everyone (de tous les accédants quels qu'ils soient) --> ne suffit pas ?​
 
Les utilisateurs qui ont accès à tes dossiers n'ont pas de compte ouvert dans ton OS ? = ils n'ont pas d'identité référencée dans l'OS ?

- est-ce que tu souhaites simplement qu'ils puissent avoir un accès en lecture et écriture à tous les contenus des dossiers partagés - peu importe l'utilisateur propriétaire de ces données ? - si oui : est-ce que restaurer de manière récurrente les autorisations de ces objets à 777 = valeur octale des permissions de lecture / écriture / exécution de l'entrée au répertoire pour l'utiisateur lauranne (toi de façon récurrente) > le groupe primaire staff (de tous les ayants-comptes dans l'OS) > le groupe secondaire everyone (de tous les accédants quels qu'ils soient) --> ne suffit pas ?​
Capture d’écran 2022-03-03 à 15.20.06.png
Oui les utilisateurs ont des compte sur l'OS mais en partage uniquement comme PJ ci-dessus.
il se connecte via un autre mac sur le réseau donc je pense pas qu'ils n'ont pas de compte ouvert ?

Oui => peux importe le propriétaire des données, les utilisateurs doivent avoir accès ( en fonction des droits de chacun évidement )

quand je fait un clic droit sur " appliquer les autorisations aux éléments inclus " sur le dossier partagé
=> les utilisateurs apparaissent dans tout les sous dossiers ( quand je fais clic droit : lire les informations d'un sous dossier il sont bien apparue)

alors qu'avec la commande ci dessous, les utilisateurs n'apparaisse pas
Bloc de code:
chown -R lauranne:staff /Users/Shared/libre_espace

sur l'ensemble des dossier paratgé, j'ai supprimé le groupe staff et accès interdit au groupe tous.
 
La commande chown (change_owner) manipule les accédants à un objet (utilisateur propriétaire et/ou groupe principal). C'est la commande chmod (change_mode) qui > admis les accédants à un objet > agit sur leurs permissions d'accès > voire instaure des autorisations d'accès supplémentaires (ACL) pour d'autres utilisateurs. Quant aux utilisateurs limités au partage > ils ont bien des comptes enregistrés dans l'OS mais ils ne peuvent pas ouvrir une session ni modifier les réglages de l'ordinateur.

- passe la commande :​
Bloc de code:
diskutil listUsers / | grep -v '.*[\^\_\].*'
  • qui liste les identités d'utilisateurs à noms pleins (sans underscore initial _ de processus utilisateurs de l'OS) > en affichant en regard : nom court / nom complet

Poste le retour => que je me rende compte de l'état des lieux.

Par ailleurs > choisis un objet partagé à titre d'exemple (dossier ou fichier) que j'appelle ici brol. Passe la commande :
Bloc de code:
ls -le [path_to]brol
  • tu peux saisir ls -le > sauter un espace > faire un glisser-déposer de l'objet dans le terminal --> ce qui va inscrire automatiquement l'adresse à l'objet et son intitulé en terminaison
  • la commande affiche les autorisations POSIX (basiques) en 1ère ligne > puis les autorisations d'ACL (supplémentaires) en-dessous (s'il en existe) pour l'objet brol

Poste le retour concernant ton objet exemplaire => que je me rende compte.
 
Bloc de code:
UID       Short Name                      Long Name
------------------------------------------------------------------------
506       stock                           stock
508       antoine                         antoine
505       benedicte                       bénédicte
504       steve                           steve
-2        nobody                          Unprivileged User
502       julien                          Julien
201       Guest                           Utilisateur invité
503       nathalie                        nathalie
509       location                        location
501       serveur                         Serveur
0         root                            System Administrator
1         daemon                          System Services
507       jeremy                          jérémy

Bloc de code:
 0: user:benedicte allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: user:julien allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 2: user:jeremy allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 
je souhaite actualisé les droits des dossiers partagé au utilisateurs défini.

je ne veux pas rajouter ou enlever des utilisateurs, uniquement actualisé :

=> comme la fonction ci dessous : " appliquer les autorisations aux éléments inclus". sur 15 dossier partagé


Capture d’écran 2022-03-05 à 08.54.21.png


merci pour ton aide :)
 
Whouahaha... Tu as une foule d'utilisateurs... J'ai besoin encore d'un seul renseignement. Passe la commande :
Bloc de code:
id benedicte
  • (tu peux remplacer benedicte = nom court par n'importe quel autre nom court d'un de tes utilisateurs - sauf jeremy si c'est toi et root > daemon > Guest = utilisateurs de type Système) la commande affiche les affililations de l'utilisateur (dont ses affiliations de groupes de l'OS)

Poste le retour. Que je voie si tel utilisateur limité au partage a quand même des privilèges de groupe dans l'OS.

----------

Il y a bien des ACL sur l'objet exemplaire en faveur de benedicte > julien > jeremy. Dans le fichier script programmatique > il est possible d'instaurer de façon récursive et récurrente toutes les autorisations d'ACL que tu veux pour tous les utilsateurs que tu veux.
 
Bloc de code:
uid=505(benedicte) gid=20(staff) groups=20(staff),733(com.apple.sharepoint.group.33),739(com.apple.sharepoint.group.39),736(com.apple.sharepoint.group.36),734(com.apple.sharepoint.group.34),12(everyone),61(localaccounts),723(com.apple.sharepoint.group.23),738(com.apple.sharepoint.group.38),737(com.apple.sharepoint.group.37),710(com.apple.sharepoint.group.10),732(com.apple.sharepoint.group.32),720(com.apple.sharepoint.group.20),701(com.apple.sharepoint.group.1),742(com.apple.sharepoint.group.42),717(com.apple.sharepoint.group.17),707(com.apple.sharepoint.group.7),724(com.apple.sharepoint.group.24),729(com.apple.sharepoint.group.29),709(com.apple.sharepoint.group.9),706(com.apple.sharepoint.group.6),716(com.apple.sharepoint.group.16),715(com.apple.sharepoint.group.15),718(com.apple.sharepoint.group.18),727(com.apple.sharepoint.group.27),703(com.apple.sharepoint.group.3),722(com.apple.sharepoint.group.22),741(com.apple.sharepoint.group.41),725(com.apple.sharepoint.group.25),726(com.apple.sharepoint.group.26),100(_lpoperator),704(com.apple.sharepoint.group.4),740(com.apple.sharepoint.group.40),721(com.apple.sharepoint.group.21),730(com.apple.sharepoint.group.30),705(com.apple.sharepoint.group.5),731(com.apple.sharepoint.group.31),711(com.apple.sharepoint.group.11),728(com.apple.sharepoint.group.28),719(com.apple.sharepoint.group.19),713(com.apple.sharepoint.group.13),714(com.apple.sharepoint.group.14)

"> il est possible d'instaurer de façon récursive et récurrente toutes les autorisations d'ACL que tu veux pour tous les utilisateurs que tu veux." => je suis pas certain d'avoir compris , ça signifie quoi ??
 
benedicte faisant partie du groupe staff (des ayant-comptes dans l'OS) > il suffit que le groupe staff ait des permissions de lecture / écriture / entrée aux répertoires (7 en valeur octale) --> pour que benedicte qui en fait partie puisse lire et écrire à tous les objets nantis de ces autorisations de staff. Et il doit en aller ainsi de tous tes autres utilisateurs.

- conséquence : une commande récursive chmod -R 777 [user]:staff sur le dossier libre_espace suffit pour que tous les membres de staff (tous tes utilisateurs) aient les permissions d'accès attendues. Toi tu ne verras pas graphiquement si tu ouvres une fenêtre d'informations du Finder tel ou tel utilisateur avec tel ou tel droit. Mais eux auront libre accès aux objets du dossier libre_espace. Est-ce que ça ne te suffit pas ?​

Question : tous tes dossiers partagés sont-ils compris dans le répertoire commun libre_espace ?

----------

Tout objet de l'OS est associé à une liste invisible dite d'ACL (Access_Control_List). Dans cette liste ACL > il peut y avoir autant d'ACE (Access_Control_Entry) que tu veux. Chaque entrée ajoute à l'objet un utilisateur ou un groupe particulier avec telle ou telle permission ou restriction. Il s'agit d'autorisations supplémentaires aux autorisations primaires de l'objet.

- dans ton exemple :​
Bloc de code:
 0: user:benedicte allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: user:julien allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 2: user:jeremy allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
  • tu as 3 ACE identiques (pour benedicte > julien > jeremy) ajoutant des permissions de lecture / écriture / attachement etc.

Mais je le redis : si benedicte > julien > jeremy sont membres du groupe staff autorisé en lecture / écriture à l'objet --> ils n'ont pas besoin d'autorisations d'ACL supplémentaires.
 
Dernière édition par un modérateur:
sur ce dossier partagé ou seulement benedicte, julien, jeremy ont accès, est-ce que si j'ajoute staff les autres utilisateurs auront accès ?? pour moi oui... c'est pour ça que j'ai supprimé le groupe staff des dossiers partagé et donnée les autorisations à chaque utilisateurs..

c'est pour ça que je comprend pas pourquoi tu veux que j'ajoute staff au dossier... ??

----------

tout les dossiers partagé sont dans
Bloc de code:
/Users/serveur/Documents

du coup est-ce que dans mon fichier maj-droits.sh je peux faire ceci :

Bloc de code:
#!/bin/bash
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/depot
chmod -R 777 /Users/serveur/Documents/depot
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/livre
chmod -R 777 /Users/serveur/Documents/livre
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/musique
chmod -R 777 /Users/serveur/Documents/musique

est-ce possible de supprimer dans le code : /usr/sbin/ ? comme tu ma déjà indiqué ( mais dans le tuto il est présent donc ?? )
autrement pour info j'ai d'autre dossier dans /Documents qui ne sont pas des dossiers partagé ,

est-ce un problème d'être dans le répertoire document plutôt que shared ?
 
Dernière édition:
serveur : c'est ton identité d'utilisateur admin 501 ? - et tous les objets partagés sont dans le sous-dossier Documents de son dossier de compte serveur ?

- alors tes 2 commandes doivent faire l'affaire. Vérifie avec tes utilisateurs s'ils accèdent bien à tes Documents.​
 
serveur : c'est ton identité d'utilisateur admin 501 ?
OUI
et tous les objets partagés sont dans le sous-dossier Documents de son dossier de compte serveur ?

OUI :)

du coup est-ce que dans mon fichier maj-droits.sh je peux faire ceci :


Bloc de code:
#!/bin/bash
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/depot
chmod -R 777 /Users/serveur/Documents/depot
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/livre
chmod -R 777 /Users/serveur/Documents/livre
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/musique
chmod -R 777 /Users/serveur/Documents/musique


-------------

sur ce dossier partagé ou seulement benedicte, julien, jeremy ont accès, est-ce que si j'ajoute staff les autres utilisateurs auront accès ?? pour moi oui... c'est pour ça que j'ai supprimé le groupe staff des dossiers partagé et donnée les autorisations à chaque utilisateurs..

c'est pour ça que je comprend pas pourquoi tu veux que j'ajoute staff au dossier... ??
 
Si tu inscris staff en groupe d'accès principal aux sous-dossiers depot > livre > musique (contenus dans le dossier Documents de ton dossier de compte serveur) > avec des permissions 7 pour staff (4=lecture + 2=écriture + 1=exécution de l'accès au répertoire) récursives pour tous les contenus --> alors tous les membres du groupe staff (= tous tes utilisateurs) auront accès à ces dossiers et à ces contenus.

- tu n'avais pas déclaré que tu voulais un accès réservé à 3 utilisateurs seulement (benedicte > jeremy > julien) à l'exclusion des autres.​

Passe une commande :
Bloc de code:
ls ~/Doc*
  • qui liste les objets de 1er rang de ton dossier Documents

Poste le retour --> que je me rende compte de la distribution de sous-dossiers que tu veux partager. Par ailleurs > et en rapport à cette liste des sous-dossiers de Documents --> précise : quels utilisateurs doivent pouvoir accéder à quoi (tous à tel ou pas tous à tel autre).
 
si je créer des groupes utilisateurs : autant que de dossiers que j'ai à partager
je donner les droits utilisateurs de chaque dossiers à un groupe et plus à un utilisateurs
puis j'utilise la commande


Bloc de code:
/usr/sbin/chown -R lauranne:"nom du groupe" /Users/Shared/libre_espace


est-ce que c'est bon ?

sinon est-ce que je peux faire ceci ? plusieurs fichiers ?

Bloc de code:
#!/bin/bash
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/depot
chmod -R 777 /Users/serveur/Documents/depot
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/livre
chmod -R 777 /Users/serveur/Documents/livre
/usr/sbin/chown -R serveur:staff /Users/serveur/Documents/musique
chmod -R 777 /Users/serveur/Documents/musique
 
Je n'ai pas vu lauranne listé(e) dans les utilisateurs de l'OS : de qui s'agit-il ? - et qu'y a-t-il dans le sous-dossier libre_espace du dossier Partagé ? Je pose la question > car tu semblais créer des dossiers de partage (depot > livre > musique) dans le sous-dossier Documents de ton dossier de compte serveur - pas dans libre_espace.

Voici la liste des utilisateurs personnels que tu avais postée :
Bloc de code:
stock                           
antoine                   
benedicte                       
steve                        
nathalie                      
location                       
serveur                   
jeremy
  • a priori ils sont tous membres par défaut du groupe staff et ont accès à tous les objets auxquels le groupe staff a accès. Est-ce que tu cherches à les répartir dans des groupes secondaires que tu crées ? - si oui : pourquoi ?

En résumé : j'ai du mal à me représenter exactement ce que tu veux faire.
 
les dossiers partagé sont bien dans documents ( libre_espace dans Shared était l'exemple du début de ce tuto en 2014 )
au finale ça ne change rien ?

le nom des membres : peut importe de jeremy, nathalie, lauranne ... car je vais créer de nouveau membre et attribuer des autorisations d'accès au dossiers en fonctions de tel ou tel dossiers partagé.
exemple :
/Users/serveur/Documents/livre => 3 utilisateurs
/Users/serveur/Documents/depot => 5 utilisateurs
/Users/serveur/Documents/musique => 4 utilisateurs

au finale ça ne change rien le nom des utilisateurs?

la commande :
Bloc de code:
chown -R serveur:staff /Users/serveur/Documents/livre
ne fonctionne pas dans mon cas , puisqu'elle donne l'accès à tout les utilisateurs ( staff )
J'ai SUPPRIMER l'Accès du groupe Staff à tout les dossiers partagé puisque je veux donnée des accès individuel.

chaque dossier à des utilisateurs différent..


je me pose la question si je créer un groupe d'utilisateur nommé livre: je met à l'intérieur 3 utilisateurs
j'autorise le partage au dossier /Users/serveur/Documents/livre uniquement au groupe livre

est-ce que la commande suivante fonctionne
Bloc de code:
chown -R serveur:livre /Users/serveur/Documents/livre

autrement comment faire pour "actualiser les droits d'utilisateur" qui ont accès au dossier livre sans rajouter d'autres utilisateurs qui eux n'ont pas le droit d'avoir accès à livre
 
Tu peux effectivement créer des groupes personnalisés qui auraient le même intitulé que les dossiers à partager avec les membres de ces groupes. Donc un groupe livre pour l'accès spécifique au dossier livre > groupe depot pour le dossier depot > groupe musique pour le dossier musique. Et tu invites dans ces groupes uniquement les utilisateurs de ton choix. Cela étant > les 3 commandes :
Bloc de code:
chown -R serveur:livre /Users/serveur/Documents/livre
chown -R serveur:depot /Users/serveur/Documents/depot
chown -R serveur:musique /Users/serveur/Documents/musique
  • restreindront les accès respectifs aux membres seuls de chaque groupe. Si tu prends soin par ailleurs à ce que le groupe secondaire (non affiché par défaut) qui est toujours everyone (tout un chacun) --> n'ait pas de permissions d'accès aux sous-dossiers > car les membres de staff (tous les utilisateurs) sont aussi membres automatiquement de everyone. Pour cela > des commandes :
Bloc de code:
sudo chmod -R 770 /Users/serveur/Documents/livre
sudo chmod -R 770 /Users/serveur/Documents/depot
sudo chmod -R 770 /Users/serveur/Documents/musique
  • attribuent 0 permissions au groupe secondaire everyone > mais 7 à serveur (utilisateur) et 7 au groupe principal personnalisé dans chaque cas qui a été établi par la triplette des commandes chown.

Tu n'as qu'à dire si cette solution fonctionne à ta convenance.

Note : 777 en valeur octale dans une commande chmod se lit ainsi : le 1er 7 = permissions de l'user > le 7 = permissions du groupe principal > le 7 = permissions du groupe secondaire everyone. 7 étant la somme de : 4=permission de lecture + 2=permission d'écriture + 1=permission d'exécution de l'entrée au répertoire. Si tu passes des commandes chmod avec 770 en valeur octale --> tu modifies à 0 à la fin les seules permissions du groupe secondaire = everyone.
 
je vais essayer ça
effectivement sur les dossiers partagé, j'ai supprimer l'accès à everyone ( accès interdit )

si j'ai bien compris le e 7 = permissions du groupe principal => va correspondre au groupe que je vais créer ? exemple livre ou musique
 
Exact. Le 2è 7 (= permissions de lecture + écriture + exécution) correspondra au groupe que tu auras créé (livre ou musique...) > si tu passes au préalable une commande chown sur le dossier avec serveur:livre ou serveur:musique comme attribution d'accès (serveur sera alors l'utilisateur du dossier et livre ou musique son groupe principal - ce qui éjecte le staff par défaut de tout droit d'accès de groupe). L'option récursive -R étend ces propriétés à tous les objets contenus dans le dossier. Idem pour les permissions d'une commande chmod si tu la flanques de l'option récursive -R.
 
les 2 commande chown -R serveur:staff et chmod -R 770 retourne "Operation not permitted" sur les fichiers ajouter par les autre utilisateurs que serveur.

quand l'utilisateur serveur ajoute un fichier ça fonctionne
quand julien ajoute un fichier ça ne marche plus.

est-ce que ça ne vient pas du fait que le répertoire est document ?

y a t il une solution ?

:)