La manière la plus simple de faire cela est d'utiliser le Terminal. Pour ce faire, vous devez avoir un accès sudo, ce que je suppose que vous connaissez, du moins conceptuellement, puisque vous avez mentionné Linux.
TL;DR: find . \! -perm 666 -type f -exec sudo chmod 666 {} \;
est une commande en une seule ligne qui fera l'affaire, en supposant que vous l'exécutez depuis le dossier exact que vous souhaitez, par exemple, $HOME/Desktop/files_are_in_this_folder
. S'il ne s'agit que d'un seul fichier, cependant, vous pouvez simplement exécuter sudo chmod 666 /chemin/vers/le/fichier
.
Laissez-moi vous expliquer, du mieux que je peux, ce qui se passe.
find(1)
est un utilitaire de recherche extrêmement puissant, bien plus que whereis
. La raison pour laquelle il est si puissant est qu'il offre de nombreuses options différentes; pour un exemple plus simple, essayez find $HOME -size +100M
; cela trouvera tous les fichiers, de manière récursive, de plus de 100 Mo et vous affichera une liste d'entre eux. Voici la sortie de la mienne :
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385@rails-4.0/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/Documents/2013-02-10.wav
/Users/jayands/Documents/2013-02-17.wav
/Users/jayands/Documents/2013-02-24.wav
/Users/jayands/Documents/2013-03-03.wav
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data0.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data1.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data2.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data4.sdb
/Users/jayands/Library/Caches/com.apple.Safari/Cache.db
/Users/jayands/Music/iTunes/iTunes Media/Podcasts/Bronyville/93 Bronyville Episode 093 – Friendship Gives You Wings!.mp3
Comme vous pouvez le voir, il trouvera tout, même des choses que vous ne voulez pas modifier. S'ils ont une convention de nommage spécifique, par exemple, *.wav
, vous pouvez spécifier la commande find pour rechercher par nom également. find . -name '*.wav'
J'ai dit tout cela pour vous familiariser avec la partie plus facile de find
; ce qui suit est la partie qui tend à embrouiller les gens. find
a des directives que vous pouvez lui faire exécuter sur ce qu'il trouve. -print
est tellement commun qu'il est celui par défaut et n'a généralement pas besoin d'être spécifié. -print0
, cependant, est un peu plus intéressant : il fait principalement la même chose que -print
, mais le 0 est un caractère NUL remplaçant les sauts de ligne ; cela facilite le passage à xargs
. Cependant, ce qui nous intéresse est la directive -exec
, qui vous permet d'exécuter la plupart des commandes shell simples sur chaque fichier, ce qui nous amène à {}
et \;
. Le \;
est pour échapper à un point-virgule pour la terminaison de la commande exec et les accolades viennent de awk
, si je me souviens bien. Elles sont remplacées par ce qui est trouvé.
chmod
existe toujours depuis l'époque Unix ; en fait, bon nombre des commandes que vous pouvez exécuter dans Linux dans xterm
ont un analogue dans le terminal Mac. chmod 666
vous donnera un accès en lecture-écriture pour tout le monde ; cependant, si vous ne vous en souvenez pas, essayez chmod a=rw
. Les deux commandes signifient : "prenez le fichier que je vais vous dire et définissez les autorisations sur un accès en lecture-écriture pour tout le monde".
Aussi, puisque vous collaborez, vous voudrez peut-être envisager d'exécuter un serveur git
privé, Perforce (p4
) ou Mercurial (hg
), car ces systèmes de gestion gèrent également les autorisations des fichiers.
Plus d'informations
find
man find
depuis le Terminal
- Ce tutoriel
chmod
man chmod
sudo
man sudo
git
: Depuis la page d'accueil de git
Si vous avez besoin d'aide supplémentaire, n'hésitez pas à demander.
Oh, avant que j'oublie : sudo
demande votre mot de passe administrateur pour cette machine.
0 votes
Comment faites-vous la copie ? En utilisant le Finder ? Initiez-vous la copie à partir du client ?
0 votes
@Huygens : question mise à jour avec des détails
0 votes
Vos clients Mac utilisent-ils des identifiants d'utilisateur émis et gérés par le serveur Mac OS?
0 votes
Avez-vous vérifié les autorisations du fichier au bureau ?
0 votes
@Huygens: Je le ferai dans 4 heures (je n'étais pas au bureau).
0 votes
@Global nomad : Je suis presque sûr que les identifiants ne sont pas gérés par le serveur. Comment puis-je le savoir ?
2 votes
Il s'agit d'un problème connu dans OS X 10.5, consultez ma réponse ci-dessous.
1 votes
Supposition brute : ce problème peut peut-être être corrigé en configurant une sorte de umask pour le partage AFP (je ne sais pas comment faire cela).
1 votes
@BertrandSCHITS - Pas probable. Moi et des milliers d'autres utilisateurs avons rencontré ce problème de manière extensive à l'époque où OS X 10.5 était actuel - c'était un bug sérieux dans le système d'exploitation. 10.5 ne respectait pas correctement les autorisations POSIX, cela avait quelque chose à voir avec le déploiement des ACL dans OS X si je me souviens bien.
0 votes
Hmm, si vous utilisez maintenant la version 10.6.x ou ultérieure sur toutes les machines, y compris (bien sûr) le serveur, je suis perplexe pour le moment. Difficile d'entrer dans les détails du dépannage avec les commentaires de StackExchange comme principal mode de communication. Depuis le répertoire de partage de fichiers sur le serveur, vous pouvez essayer, dans Terminal.app `sudo chmod -R 777 *` ASSUREZ-VOUS que vous êtes dans le répertoire de partage de fichiers lui-même, pas dans l'un des répertoires système. N'essayez pas cela à moins de comprendre comment fonctionne chmod et que vous êtes à l'aise à la ligne de commande.
0 votes
Si je vous comprends correctement, ce qui, en jugant par les autres réponses, me laisse dubitatif, sélectionnez le fichier cmd + i en bas de partage et de permissions, créez-en un nouveau, pour tout le monde, et lisez et écrivez