[sshd]

ssh-host-config /var/empty目录的拥有者必须是sshd进程的拥有者, 而且权限必须是700; 如果sshd进程的拥有者不是SYSTEM, 则只有这个拥有者可以通过ssh登录系统, 因为sshd需要执行seteuid, 非系统账户执行seteuid将自己有效id设为其他用户时会被拒绝。 如果是在 Win7下面需要建立一个独立的用户,这时CYGWIN终端需要以管理员权限运行,否则用户设置失败,无法安装sshd服务。

[svnserve]

cygrunsrv -I svnserve -d "CYGWIN svnserve" --chdir /data/svnroot --path /usr/bin/svnserve \
	  --args "--foreground --daemon --root=/data/svnroot --listen-port=3690" \
	  --neverexits --type auto -o 

如果发现svnserve.exe无法监听在相应端口, 需要添加额外参数(–args中): –listen-host=0.0.0.0 (或监听在特定的ip或主机名上).

[passwd]

如果在cygwin中发现自己所在的组变成了”mkpaswd”, 这说明/etc/passwd或者/etc/group需要重建了, 运行:

mkpasswd -l >/etc/passwd; mkgroup -l >/etc/group

[httpd]

启动httpd服务时可能会报告”Bad system call”错误, 这是由于apache2需要cygserver, 运行: cygserver-config 而且环境变量 $CYGWIN 中包含server, 参见 [The CYGWIN environment variable].

[init]

配置启动 systemv 的 init 服务,管理员启动cygwin,并运行:

init-config 

然后查看 /etc/inittab 和 /etc/rc.d/rc 两个文件,根据需要编辑,首先是 /etc/inittab:

# id:runlevels:action:process
id:3:initdefault:
rc::bootwait:/etc/rc
l0:0:wait:/etc/rc.d/rc 0
l3:3:wait:/etc/rc.d/rc 3
#S0:2345:respawn:/sbin/agetty -L -T vt100 -n ttyS0 9600 ttyS0

接下来是 /etc/rc.d/rc:

……

阅读全文