cygwin에서 sshd 실행: "/var/empty는 루트가 소유해야 합니다..."

cygwin에서 sshd 실행: "/var/empty는 루트가 소유해야 합니다..."

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/유용할 수 있습니다 .

관련 정보