Dossier caché

stanstood

Membre confirmé
27 Juillet 2007
14
0
Est-il possible de créer ou de modifier un dossier pour qu'il soit caché comme dans windows.. Ou bien qu'on ne puisse l'ouvrir que par un mot de passe?
 
Bonjour

Pour cacher un dossier, il suffit que son nom commence par un point.

Pour interdire son accès à d'autres utilisateurs (logins différents), il suffit de régler les droits en conséquence.

Pour interdire son accès à des personnes utilisant la même session, le mieux est d'utiliser une image disque (.dmg) protégée par cryptage (fabriquée dans Utilitaire de disque). Seule la connaissance du mot de passe permettra l'ouverture et le montage de cette dernière sur le bureau.
 
je déconseille le coup du dossier avec un "."
Risqué ( et parfaitement trouvable par un autre utilisateur)

le plus simple c'est le dmg avec mot de passe
( et on rentre le mot de passe pour l'ouvrir)
--
une précision importante
cacher un fichier sur une session n'est pas dans la philosophie OSX
car la philosophie OSX c'est
chaque session étant un espace privé, sur une session tous ceux qui y accedent ont le droit d'y accéder et d'en voir le contenu.

La facon standard OSX de " cacher " quelque chose c'est de créer un autre compte utilisateur avec mot de passe
chacun son espace et volià
 
Si tu veux vraiment cacher un dossier, j'ai fait un petit script…

Il te suffit de remplacer les chemins sans oublier le point avant le nom du dossier représenté par la variable "thePathH".

Bloc de code:
on run
	set thePathH to "/Users/zacro/Desktop/.dossierTest/"
	set thePath to "/Users/zacro/Desktop/dossierTest/"
	set theFolder to ((POSIX file thePath) as string)
	tell application "Finder"
		set FolderOk to exists folder theFolder
	end tell
	if FolderOk then
		set butRet to theDlg("masquer")
		if butRet = "oui" then
			do shell script "mv " & thePath & " " & thePathH
		else
			return
		end if
	else
		set butRet to theDlg("afficher")
		if butRet = "oui" then
			do shell script "mv " & thePathH & " " & thePath
		else
			return
		end if
	end if
end run

on theDlg(theWord)
	set butRet to button returned of (display dialog "Voulez-vous " & theWord & " Dossier_important" buttons {"Non", "Oui"} default button {"Oui"})
	return butRet
end theDlg