Linux 클라이언트에서 Samba 공유에 쓰는 데 문제가 있습니다(Windows 클라이언트는 잘 읽고 씁니다). Linux 클라이언트에서 실행되는 ls -la에 따르면 모든 권한이 있어야 합니다.
james@Q35-ICH9:~$ ls -la /mnt/
total 8
drwxr-xr-x 3 root root 4096 Feb 25 09:38 .
drwxr-xr-x 24 root root 4096 Feb 25 04:39 ..
drwxrwxrwx 61 james james 0 Feb 26 05:39 cloudshare
james@Q35-ICH9:~$ getfacl /mnt/cloudshare/
getfacl: Removing leading '/' from absolute path names
# file: mnt/cloudshare/
# owner: james
# group: james
user::rwx
group::rwx
other::rwx
하지만:
james@Q35-ICH9:~$ touch /mnt/cloudshare/test
touch: cannot touch '/mnt/cloudshare/test': Permission denied
하지만 sudo를 사용하면 다음을 만질 수 있습니다.
james@Q35-ICH9:~$ sudo touch /mnt/cloudshare/test
사용자는 상위 폴더에 대한 전체 액세스 권한도 갖습니다.
james@Q35-ICH9:~$ ls -la /mnt/
total 8
drwxrwxrwx 3 james james 4096 Feb 25 09:38 .
drwxr-xr-x 24 root root 4096 Feb 25 04:39 ..
drwxrwxrwx 61 james james 0 Feb 26 07:42 cloudshare
"james"가 (내가 아는 한) 전체 권한을 가져야 함에도 불구하고 클라우드 공유에 쓰려면 루트가 필요한 이유가 무엇인지 혼란스럽습니다.
답변1
설치 옵션에는 username=neon
해당 사용자 이름을 사용하여 공유에 대한 연결이 설정되었음을 나타내는 이 포함됩니다.
james
로컬 사용자가 Samba 서버 사용자와 관련이 있거나 서버 사용자와 관련이 있다고 neon
가정 할 이유가 없습니다 . james
다른 수단을 통해 관계가 형성되었나요?
SMB 프로토콜은 항상 사용자 이름에 도메인 정보를 전달하며, 다른 도메인이 지정되지 않은 경우 일반적으로 로컬 호스트 이름이 대신 사용됩니다.
따라서 "james"가 소유한 것으로 보이는 파일은 실제로는 "[이메일 보호됨]”, 반드시 “james@Q35-ICH9”와 관련이 있는 것은 아닙니다.
"james@Q35-ICH9"가 현재 Samba 서버의 유효한 사용자에 매핑되어 있지 않지만 "root@Q35-ICH9"는 매핑되어 있는 경우 이는 현재 발생한 문제를 설명할 수 있습니다.
또한 마운트 옵션에서 vers=1.0
더 이상 사용되지 않으며 WannaCry에 취약한 SMB/CIFS 1.0 프로토콜을 여전히 사용하고 있음을 알 수 있습니다. Samba 서버와 Windows 클라이언트가 최신 상태라면 둘 다 더 높은 프로토콜 버전을 지원해야 합니다. 여기에 보고된 버전 번호는 CIFS 마운트 모듈이 더 높은 프로토콜 버전도 지원한다는 것을 나타냅니다. 그러나 이전 Linux 배포판을 사용하는 경우 자동으로 협상되지 않을 수 있습니다.
또는 어느 시점에서 의도적으로 프로토콜 버전을 1.0으로 강제 설정했을 수도 있습니다. 이 적용이 여전히 필요한지 확인하고 가능하다면 더 나은 성능과 보안을 제공하는 최신 프로토콜 버전으로 이동하세요.