cygwinでsshdを実行する: "/var/emptyはrootが所有する必要があります..."

cygwinでsshdを実行する:

ArchシステムでVNCトンネリングを可能にするために、Windows 7システムにOpenSSHをインストールしました。ただし、/usr/sbin/sshd -DW7コンピュータで実行するとエラーが発生します。/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-config10回以上再起動して再インストールしましたが、何も解決しませんでした。

このエラーをどのように解決できますか?ありがとうございます!

ベストアンサー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/便利です。

おすすめ記事