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>

notes particuliere si l'intallation est faite a distance via VNC

  • changer les parametres de veille des machines pour eviter de perdre betement la main (creer un profil secteur/toujours allume si besoin)
  • creer un compte "root" avec les droits administrateurs et basculer dessus (ca limite les interference a cause de malware ou autres programmes se lancant au demarrage sans y etre invite).
  • si besoin commencer par faire du nettoyage (c'est une partie longue et difficile a faire en VNC)
  • telecharger et installer cygwin

- attention au fichier de clef ssh de machine qui arrivent de temps en temps en 660 (rw-rw----) sshd n'aime pas et ne demarre pas. changer en 600 (rw-------).

Note: en VNC il arrive que certains caracteres ne passent pas (par exemple l'arobase @ ce qui embetant pour configurer une messagerie). Dans ce cas la, on sort sa table ascii (decimale) et on peut taper le caractere avec ALT et le pave numerique. Pour l'arobase, dont le code ascii est 64 ca sera donc ALT + 6 4 (6 et 4 sur le pave numerique). Le type de client VNC influe beaucoup dans ce cas la.

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 (avec reg)
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'
  • cacher certains utilisateur (root, cyg_server) au login (avec regtools)
regtool add '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts'
regtool add '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList'
regtool -d set '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList\root' 0
regtool -d set '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList\cyg_server' 0
regtool -p list '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList'
regtool get '\HKLM\software\microsoft\windows nt\currentversion\winlogon\SpecialAccounts\UserList\root'


  • 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 /?