
ArchシステムでVNCトンネリングを可能にするために、Windows 7システムにOpenSSHをインストールしました。ただし、/usr/sbin/sshd -D
W7コンピュータで実行するとエラーが発生します。/var/empty must be owned by root and not group or world-writable.
これは次の出力ですls -All /var
。
$ ls -All /var
total 0
drwxr-xr-x+ 1 {my_usrnm} None 0 Jul 15 21:39 cache
drw-------+ 1 cyg_server Administrators 0 Jul 15 21:43 empty
drwxr-xr-x+ 1 {my_usrnm} None 0 Jul 15 21:39 lib
drwxrwxrwt+ 1 {my_usrnm} None 0 Jul 15 21:45 log
drwxrwxrwt+ 1 {my_usrnm} None 0 Jul 15 23:36 run
drwxrwxrwt+ 1 {my_usrnm} None 0 Jul 15 21:39 tmp
一部の権限を変更しようとしましたが、OpenSSHをssh-host-config
10回以上再起動して再インストールしましたが、何も解決しませんでした。
このエラーをどのように解決できますか?ありがとうございます!
答え1
ディレクトリの所有者と権限が正しいです。構成中に PrivilegeSeparation オプションを使用します。
悪魔をサービスとして始める
cygrunsrv -S sshd
機能システムのディレクトリ権限の例
$ icacls $(cygpath -w /var/empty)
E:\cygwin64\var\empty NULL SID:(DENY)(Rc,S,REA,X,DC)
MATZERI\cyg_server:(F)
BUILTIN\Administrators:(RX)
NT AUTHORITY\SYSTEM:(RX)
BUILTIN\Administrators:(RX)
Everyone:(RX)
CREATOR OWNER:(OI)(CI)(IO)(F)
CREATOR GROUP:(OI)(CI)(IO)(RX)
Everyone:(OI)(CI)(IO)(RX)
Successfully processed 1 files; Failed processing 0 files
cygwin モードでは、次のように報告されます。
$ getfacl /var/empty
# file: /var/empty
# owner: cyg_server
# group: Administrators
user::rwx
group::r-x
group:SYSTEM:r-x
group:Administrators:r-x
mask:r-x
other:r-x
default:user::rwx
default:group::r-x
default:other:r-x
これは、誤った追加のACL権限がある場合にsetfacl -b /var/empty/
便利です。