60 votes

Windows CHMOD 600

J'essaie de me connecter à Amazon EC2 en utilisant OpenSSH sous Windows mais je dois définir les autorisations de mon fichier clé.

Quel est l'équivalent Windows de CHMOD 600 ?

J'ai fait de nombreuses recherches et je n'ai trouvé que des blogspam.

EDIT : Windows 7, utilisant DOS.

0 votes

C'est en lecture seule pour un utilisateur spécifique, je crois. Je ne pense pas que cela importe si l'utilisateur peut écrire dans le fichier.

1 votes

Mon calcul dit rw pour le propriétaire, tout le reste désactivé.

0 votes

Vous voulez sûrement dire chmod plutôt que CHMOD aussi !

6voto

Ralfeus Points 345

J'ai eu le même problème. La solution, qui a fonctionné, a été de régler le mode de compatibilité de ssh.exe sur Windows XP SP3.

0 votes

Malheureusement, cela fait apparaître l'UAC à chaque fois que vous exécutez ssh et l'ouvre dans un nouveau shell de commande (du moins sous Windows 8).

5voto

Codemaker Points 639

Chmod ne fonctionne pas sous Windows. Essayez la méthode suivante pour restreindre l'accès

  • Cliquez avec le bouton droit de la souris sur le fichier > propriétés > sécurité > avancé > désactiver l'héritage > "Convertir les permissions héritées en permission explicite sur cet objet".
  • Cliquez sur "allow | everyone | Full Control" > edit > 'select a principal' > tapez votre nom d'utilisateur > 'check names' > sélectionnez votre nom d'utilisateur > ok > ok > ok (ok jusqu'à ce que toutes les fenêtres soient fermées).

4voto

B.Mr.W. Points 8215

Je préfère Cygwin sur mastic et vous pouvez simplement exécuter la commande chmod dans cygwin pour changer la permission de la clé PEM à 400, puis vous êtes prêt à partir.

myuser@myuser-HP ~
$ ssh -i /cygdrive/c/Users/myuser/Downloads/mykey.pem ec2-user@xx.xx.xx.xx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0550 for '/cygdrive/c/Users/myuser/Downloads/mykey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/cygdrive/c/Users/myuser/Downloads/mykey.pem": bad permissions
Permission denied (publickey).

myuser@myuser-HP ~
$ chmod
chmod: missing operand
Try 'chmod --help' for more information.

myuser@myuser-HP ~
$ chmod 400 /cygdrive/c/Users/myuser/Downloads/mykey.pem

myuser@myuser-HP ~
$ ssh -i /cygdrive/c/Users/myuser/Downloads/meykey.pem ec2-user@xx.xx.xx.xx

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/
[ec2-user@ip-xxx ~]$ ohyeah I am in!

3voto

Florian Feldhaus Points 786

Aujourd'hui, l'un des moyens recommandés sous Windows est d'utiliser PowerShell et la fonction Get-Acl et Set-Acl Cmdlets.

Voici un exemple qui permet de s'assurer que seul l'utilisateur actuel a le droit d'accéder à un dossier et à tous les fichiers qu'il contient - de manière similaire à ce qui est recommandé pour l'outil de gestion des droits d'accès. .ssh sous Unix/Linux/OS X :

# get current ACL of directory
$Acl = Get-Acl -Path $Directory

# remove inheritance ($true) and remove all existing rules ($false)
$Acl.SetAccessRuleProtection($true,$false)

# create new access rule for
# current user
# with FullControl permission
# enable inheritance for folders and files
# enable it for the specified folder as well
# allow these conditions 
$AcessRule = [System.Security.AccessControl.FileSystemAccessRule]::new(
    $env:USERNAME,
    "FullControl",
    ([System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit),
    [System.Security.AccessControl.PropagationFlags]::None,
    [System.Security.AccessControl.AccessControlType]::Allow)

# add access rule to empty ACL
$Acl.AddAccessRule($AcessRule)

# activate ACL on folder
Set-Acl -Path $Directory -AclObject $Acl

Pour plus de détails, voir

3voto

GeniyX Points 21

En tant qu'analogue de chmod sous Windows, vous pouvez utiliser la fonction icacls commandement.

Équivalent de chmod 600 <filename> dans Windows sera :

# Add explicit R+W permissions for current user.
icacls <filename> /grant %username%:rw
# Disable inheritance from folders
icacls <filename> /inheritance:d
# Remove default groups (Authenticated Users, System, Administrators, Users)
icacls <filename> /remove *S-1-5-11 *S-1-5-18 *S-1-5-32-544 *S-1-5-32-545

Pour vérifier les permissions actuelles : icacls <filename>

Remettre toutes les permissions par défaut : icacls <filename> /reset

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X