Cygwin

De Cliss XXI
Sauter à la navigation Sauter à la recherche

Cygwin est un environnement de type unix pour windows.


Preparation

Certain antivirus cassent des paquet avec des faux positif sur les bibliotheque de crypto comme cyghogweed.

Pour verifier les dependances d'un paquet:

cygcheck <paquet>

Installation initiale

choisir quelques paquets incontournables:

* ssh / sshd
* rsync
* python / python-simplejson
* wget
* emacs

Installation SSH

faire un ssh-host-config

Installer gestionnaire de paquet

* wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
* chmod +x apt-cyg
* mv apt-cyg /usr/local/bin/
* exemple: apt-cyg install bc

Configuration

* creer un utilisateur "root" avec les droits administrateur
 * depuis windows ...
 * depuis cygwin ?
  * net user <username> <password> /add
  * net localgroup Administrators <username> /add
 * ajouter cet utilisateur dans le fichier passwd et group (il est sans doute necessaire de se connecter en tant que root pour que ce soit effectif):
  * mkpasswd -l > /etc/passwd
  * mkgroup -l > /etc/groups
* cacher certains utilisateur (root, cyg_server) au login
 * reg add 'HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList' /v root /t REG_DWORD /d 0
 * reg add 'HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList' /v cyg_server /t REG_DWORD /d 0
 * reg query 'HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList'
* login par clef ssh
 * installer les clef dans .ssh/authorized_keys de root
 * tester le login avec les clefs
 * editer /etc/sshd_config pour interdire le login par mot de passe
 * relancer le serveur sshd (a faire en une seule ligne!):
  * cygrunsrv -E sshd ; cygrunsrv -S sshd

Maintenance

Liste des services

* sc
* cygrunsrv

La base de registre

* regedit (export/import)
 * regedit /e <fichier> [<chemin>]
 * regedit /s <fichier>
* reg
 * reg query <chemin>
 * reg add <chemin_existant>/<nouveau_chemin> /v <valeur> /t <type_donnee> /d <donnee>

les partages windows

* net /?