# définir privilèges d'accès en applescript



## ffq (18 Décembre 2008)

Bonjour,

L'organisation pour laquelle je bosse possède un serveur Xserve avec point d'accès pour les utilisateurs.

Nous avons créer une arborescence pour le classement des documents numériques sur ce serveur.

j'ai créer un applescript pour créer un dossier sur le serveur mais je bloque sur la définition des privilèges d'accès des dossier créés par cet applescript. Je voudrais que les dossiers créer possède la propriété d'accès suivante pour tous (everyone); read/write peut importe le propriétaire ou le groupe

En gros mon applescript dit ceci;

telle application "Finder" to create new folder to destination with properties {name:"blabla"(ici je voudrais définir les droits d'accès pour le nouveau dossier)}

ou toute autre solution qu'on me proposerait.

Merci,


André


----------



## zacromatafalgar (18 Décembre 2008)

Salut,

Je n'ai jamais modifié les permissions mais ce devrait être comme ceci (pour un droplet) :


```
on open (these_files)
	try
		tell application "Finder"
			repeat with this_file in these_files
				-- read only / read write / write only / none
				set owner privileges of this_file to read write
				set group privileges of this_file to read write
				set everyones privileges of this_file to read write
			end repeat
		end tell
	on error the_error
		display dialog the_error buttons {"OK"} default button 1 with icon 0
	end try
end open
```
Ne pourrais-tu d'abord créer le dossier puis modifier les droits avec chmod (man chmod dans le terminal) ?


----------



## ceslinstinct (18 Décembre 2008)

zacromatafalgar a dit:


> Salut,
> 
> Ne pourrais-tu d'abord créer le dossier puis modifier les droits avec chmod (man chmod dans le terminal) ?


Bonsoir

Moi j'utilise ce code pour donner toutes les autorisations a un fichier ou dossier.

Mot de passe de la session obligatoire (sécurité si une seule personne le connaît).
Tu peut oter *with administrator privileges* si ça doit être accessible a tout le monde


```
try
	tell application "Finder" to set chemin to the selection as string
	
-- Modification des autorisations
	do shell script "/bin/chmod  ugo=" & "rwx " & (quoted form of POSIX path of chemin) with administrator privileges
	tell application "Finder" to update chemin -- Pour être sur que c'est bien pris en compte
on error
	display dialog "Pas de sélection" -- Alerte
end try
```

Ce code donne toutes les autorisations et ne fait que ça.

Sélectionner le fichier ou dossier avant d'utiliser ce code.

A adapter au script si cela convient, c'est une version de test.

*Attention* l'espace après *rwx* est obligatoire.
@+


----------



## tatouille (19 Décembre 2008)

c'est un partage samba/sftp /whatever ? utilise un mask 
pour deployer ton arbo su le usersambaouautre sh monbourneshell.sh

vraiment faire ca en applescript c est vraiment vouloir glander et perdre du temps

exemple

```
root=./root

mkdir -p $root

install_folders()
{
    
    for dir in $1 ; do 
    
        # root
        mkdir -p $root/{bin,boot,dev,etc,home,lib,mnt,proc,root,sbin,tmp,usr,var,SELinux};
        
        # root:usr
        mkdir -p $root/usr/{bin,include,lib,libexec,share,local};
        mkdir -p $root/usr/share/{doc,info,man,aclocal};
        mkdir -p  $root/usr/share/man/man{1,3,4,5,6,7,8};
        (cd  $root/usr && ln -sf share/{man,doc,info} . );
        
        # root:nsrs
        mkdir -p $root/nsrs/{private,core};
        mkdir -p $root/nsrs/private/{etc,var}
        mkdir -p $root/home/nsrs
        
        # root:nsrs:local
        mkdir -p $root/nsrs/core/{bin,include,lib,share};
        mkdir -p $root/nsrs/core/share/{doc,info,man,aclocal};
        mkdir -p $root/nsrs/core/share/man/man{1,3,4,5,6,7,8};
        (cd $root/nsrs/core && ln -sf share/{man,doc,info} . );
        
    done
    
}
```



ffq a dit:


> Bonjour,
> 
> L'organisation pour laquelle je bosse possède un serveur Xserve avec point d'accès pour les utilisateurs.
> 
> ...


----------

