2010-12-08 20 views
1

Je veux changer la liste de contrôle d'accès d'un fichier et définir "autorisations complètes" à un utilisateur spécial.Comment changer le fichier ACL dans Windows, si je ne connais que le SID?

Je sais que le cacls-commande cacls . /e /t /p Everyone:f

Mais cela ne fonctionne que si le système d'exploitation est l'anglais. Pour les systèmes allemands, il doit être cacls . /e /t /p Jeder:f.

Je connais le well-known SIDs de l'utilisateur "tout le monde" (S-1-1-0), mais il semble que je ne puisse pas les utiliser avec cacls.

J'ai essayé cacls . /e /t /p S-1-1-0:f.

Existe-t-il un moyen d'utiliser les outils de ligne de commande Windows pour ce travail? Je ne suis pas autorisé à regrouper des logiciels ou d'autres outils de ligne de commande pour ce travail avec mon logiciel.

La solution doit être appelée à partir d'un processus Java, mais cela ne devrait pas poser de problème.

+1

Les cacls ne peuvent pas fonctionner avec les SID. Si vous l'appelez depuis Java, pourquoi ne pas convertir le SID en Utilisateur dans votre programme avant d'appeler cacls? – Luke

Répondre

0

je trouve une solution. J'utilise une bibliothèque du fournisseur de mon outil de création d'installation.

modifier:

Solution problème:

L'installation-outil de création Install4j a une méthode getUserLogin(String sid) son returnValue est quelque chose comme: WORKSTATION1\User1

J'utilisé cacls pour modifier l'ACL.

+0

Que diriez-vous de nous dire quelle est la solution afin que ce poste a une certaine valeur. Sinon, nous pourrions tout aussi bien le fermer et le supprimer. –

1

Cela pourrait être la version spécifique de Windows, mais regardez

whoami /groups 

et analyser le résultat. Sous Windows 7, ce

whoami /groups | find "S-1-1-0" 

ressemble à ceci pour moi

C:\>whoami /groups | find "S-1-1-0" 
Everyone         Well-known group S-1-1-0 
        Mandatory group, Enabled by default, Enabled group 

Il y a une API Win32 ensemble pour obtenir à ce sujet. Voici une solution à l'aide que de C#

http://www.ms-news.net/f2438/setpermission-everyone-c-4997971.html