
동일한 네트워크에 Windows Server 2019 시스템과 CentOS 8 시스템이 있습니다. CentOS 서버는 Windows 시스템의 파일을 사용하는 웹앱을 호스팅하고 있습니다.
이 파일을 읽으려면 Windows 측에 Samba 공유를 설정하고 mount -t cifs //myserver/share /media/windows
.
이 방법은 효과가 있었지만 몇 가지 문제가 발견되었습니다. 때로는 이 Samba 공유의 파일에 액세스하려고 할 때 파일이 그대로 남아 있는 경우가 있습니다. 문제가 다시 발생하므로 마운트 해제했다가 다시 마운트해도 도움이 되지 않는 것 같습니다.
Windows 2019와 CentOS 간에 파일을 공유하기 위해 Samba 대신 NFS를 사용해 보기로 결정했습니다. 동일한 폴더를 대신 NFS 공유로 설정한 후 mount -t nfs myserver:/share /media/windows
Samba를 중단시키는 파일에 액세스할 수 있었습니다.
내가 겪고 있는 문제는 CentOS 측에서 NFS 공유에 새 파일을 만들 때 Windows 측에서 권한이 잘못되어 Windows 서버의 사용자가 파일에 액세스할 수 없다는 것입니다.
이것저것 알아보고 NFS 사용자 매핑을 설정해 보려고 했는데 제대로 하지 못한 것 같습니다.
PowerShell을 사용하여 다음을 실행했습니다.
Install-NfsMappingStore -InstanceName "NFSMappingStore" -LdapPort 10389
그리고 보았다:
MYSERVER 서버에 NFSMappingStore라는 ADLDS 인스턴스가 성공적으로 생성되었습니다. 인스턴스는 포트 10389에서 실행 중이고 파티션은 CN=nfs,DC=nfs입니다.
그런 다음 다음을 실행했습니다.
Set-NfsMappingStore -EnableLdapLookup $true -LdapNamingContext "CN=nfs,DC=nfs"
-LdapServer localhost:10389
효과가 있는 것을 확인하고 사용자를 추가하려고 했습니다.
New-NfsMappedIdentity -MappingStore LDAP -Server localhost:10389
-UserIdentifier 980 -GroupIdentifier 1001
-UserName CentOsUser -PrimaryGroup "Domain Users"
이것이 올바르게 작동하는 것 같았으므로 CentOS 측에서 다음을 통해 NFS 공유를 사용자로 마운트했습니다 CentOsUser
.
sudo -u CentOsUser -g CentOsGroup mount -t nfs myserver:/share /media/windows
이것은 효과가 있었고 파일을 만들고 쓸 수 있었습니다. 그러나 Windows 측에서는 (새로 생성된) 파일의 소유자가 S-1-5-88-1-980
실제로 CentOsUser
.
S-1-5-88-2-1001
또한 S-1-5-88-3-420
및 도 참조됩니다 S-1-5-88-4
.
왜 표시되나요 S-1-5-88-1-980
? 내가 사용자 980
에게 매핑된 줄 알았는데 CentOsUser
? 저도 그룹 1001
에 매핑한 줄 알았는데 Domain Users
왜 표시되나요 S-1-5-88-2-1001
?
답변1
나는 같은 문제가 있었고 로그 시간 이후로 어려움을 겪고있었습니다 ...
- 이제 Linux 서버를 AD와 통합했습니다.
- Windows에서 모든 파일 및 디렉터리 수준 권한 관리
- Windows NFS 공유에서 파일에 액세스하는 애플리케이션 사용자는 AD 인증 사용자입니다.
위의 절차는 여전히 나를 위해 작동합니다.
답변2
내가 찾은 가장 좋고 쉬운 해결책은 다음과 같습니다.https://github.com/billziss-gh/sshfs-win, 연결된 서버는 완벽하게 작동하는 네트워크 드라이브로 표시됩니다.
편집: Linux에 NTFS 공유 마운트
mkdir /mnt/win1
mount -t cifs //10.10.1.100/share -o username=myUser,password=myPassword /mnt/win1