Samba 공유를 통해 액세스할 수 있는 네트워크 드라이브가 있습니다. Windows 10 및 Ubuntu mate의 공유 드라이브에서 파일을 생성, 편집, 읽기/쓰기하고 싶습니다.
Linux에서 파일을 생성하면 Windows에서 편집할 수 없다는 것을 알았습니다. 또한 Windows(NTFS)에서 공유 드라이브(ext4)로 많은 수의 파일을 동기화하면 해당 파일을 볼 수는 있지만 Ubuntu에서 편집할 수는 없습니다. 제가 사용하는 명령어는...
sudo rsync -rltzhHvn --info=progress2 "/media/ubuntu-mate/DATA/Personal Stuff" "/media/ubuntu-mate/4TB1/DataShare/Personal-Stuff"
저는 Linux 권한과 Samba에 대해 조금 알고 있으므로 이것이 제가 사용을 고려하고 있는 솔루션입니다...
- 루트 액세스 없이 Ubuntu 사용자 계정(ubuntu-user)을 만듭니다. sudo는 꼭 필요한 드문 경우에만 사용하세요.
- Ubuntu에서 생성된 파일에는 -->와 같은 소유자/그룹이 있습니다.
ubuntu-user:ubuntu-user
- 예를 들어 Samba 공유를 구성하겠습니다.
force user = ubuntu-user create mask = 0666 directory mask = 0777
- 이제 Windows에서는 Ubuntu에서 생성된 파일을 편집/삭제할 수 있을 뿐만 아니라 Ubuntu에서 편집/삭제할 수 있는 파일도 생성할 수 있습니다.
이 작업을 올바르게 수행하고 있습니까? 아니면 더 좋은 방법이 있습니까?
예를 들어 파일이 일부 시스템 프로세스나 Ubuntu의 루트에 의해 생성된 경우 Windows의 공유를 통해 해당 파일을 읽고 쓰고 편집할 수 없다면 어떻게 될까요? 이 경우 Samba 공유를 다음으로 변경할 수 있다는 것을 알고 있습니다.
force user = root create mask = 0666 directory mask = 0777
나는 이것이 작동할 것이라고 생각했지만 이제 Windows에서 생성된 모든 파일은 Linux에서 편집할 수 없습니다 ubuntu-user
. Samba 공유에 대한 루트 액세스 권한이 있는 Linux 사용자 계정을 만들 수 있는데 force user = root
, 이 방법이 더 쉬울 수 있지만 권장되지는 않습니다.
건배.
답변1
이것은 내 권한이지만 삼바유저와 삼바그룹을 생성하는 것이 좋습니다. 필수 사용자 및 필수 그룹은 파일 권한 생성을 담당합니다.
path = /path/to/file
force user = sambauser
force group = smbagroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
public = yes
writable = yes
참고: 제가 설정한 방법은 개인 네트워크용입니다. 파일을 공유할 수 있지만 수정할 수는 없고 누구나 파일을 수정할 수 있는 권한을 갖고 싶다면 더 제한적인 권한이 있는 별도의 폴더를 사용하는 것이 좋습니다.
이것이 도움이 되기를 바랍니다. Jason C.