시작하기 전에, 내가 요청하는 내용은 mount.cifs에 "vers=1.0" 플래그를 추가하면 완벽하게 작동한다는 점을 기억해야 합니다. 그러나 서버에서 OS를 업그레이드(Samba로 업그레이드)한 후에 Version 4.13.17-Ubuntu
는 더 이상 지원되지 않습니다.
또한 여기서는 Windows에 대해서는 다루지 않습니다. 저는 Linux 사용자, 그룹 및 권한 정보만 다루고 있습니다.
smbd를 실행하고 /data 볼륨을 공유하는 Ubuntu 20.04 서버와 mount.cifs를 공유하는 Ubuntu 20.04 클라이언트 설치가 있습니다. 클라이언트에서 ls -l
루트/루트가 소유한 모든 것을 표시합니다.
# mount.cifs //server/data /data -o username=username,password=password
# ls -l /data
total 0
drwxr-xr-x 2 root root 0 Mar 29 14:07 directory-a
drwxr-xr-x 2 root root 0 Feb 13 16:43 directory-b
drwxr-xr-x 2 root root 0 May 17 2012 etc
drwxr-xr-x 2 root root 0 Apr 21 2014 lost+found
drwxr-xr-x 2 root root 0 Feb 13 16:43 shared
내가 원하는 건클라이언트가 서버에서와 동일한 사용자, 그룹 및 권한을 볼 수 있도록 합니다. 예를 들면 다음과 같습니다.
server# ls -l /data
total 0
drwxr-xr-x 2 fred fred 4096 Mar 29 14:07 directory-a
drwxr-xr-x 2 barney barney 4096 Feb 13 16:43 directory-b
drwxr-xr-x 2 wilma wilma 4096 May 17 2012 etc
drwx------ 2 root root 16384 Apr 21 2014 lost+found
drwxrwxr-x 2 fred users 4096 Feb 13 16:43 shared
모든 사용자 및 그룹 계정은 두 시스템 모두에 존재하며 동일한 UID 및 GUI를 갖습니다(위에서 말했듯이 이전에는 모두 잘 작동했습니다). 서버 업그레이드 전에 클라이언트에서 사용된 이전 fstab 항목은 다음과 같습니다.
//server/data /data cifs _netdev,username=username,password=password,noexec,noacl,vers=1.0 0 0
이제 오류가 발생합니다.
# mount /data
mount error(95): Operation not supported
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
"vers=1.0" 플래그를 제거하면 오류가 해결되었지만 결과는 위에 표시된 것과 같습니다(모든 사용자/그룹/권한 정보 손실).
서버의 smb.conf에는 다음이 포함됩니다.
[global]
workgroup = WORKGROUP
server string = Server
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = smbpasswd
obey pam restrictions = no
unix password sync = no
pam password change = no
map to guest = Never
# defaults for shares
guest ok = no
create mask = 0775
directory mask = 0775
case sensitive = yes
map archive = no
[data]
comment = Data
path = /data
writeable = no
browseable = yes
write list = fred
질문
최신 버전의 Samba에서 이전 vers=1.0 동작을 유지하는 방법이 있습니까? 감사해요!
답변1
자, 드디어 찾았습니다. vers=1.0 옵션을 다시 사용할 수 있도록 하려면 이것을 smb.conf에 추가하십시오:
server min protocol = NT1
모호한 버그 보고서에서 발견했습니다. https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1883234
Unix 확장은 더 이상 사용되지 않으며 기본적으로 더 이상 사용되지 않는 SMB1 프로토콜에서만 작동합니다. SMB3에서 지원하기 위해 개발 중입니다.
서버의 smb.conf에서 [global]에 이를 추가하여 SMB1을 다시 활성화할 수 있습니다.
서버 최소 프로토콜 = NT1
위의 설정을 다시 시도하고 다시 보고해 주실 수 있나요?
디렉토리를 나열할 때 새로운 부작용도 있습니다. 이전 버전에서는 사용할 수 없었던 추가 +(더하기 기호)가 권한 필드에 나타납니다. 다음과 같습니다.
# ls -l /data
total 0
drwxr-xr-x+ 2 fred fred 4096 Mar 29 14:07 directory-a
drwxr-xr-x+ 2 barney barney 4096 Feb 13 16:43 directory-b
drwxr-xr-x+ 2 wilma wilma 4096 May 17 2012 etc
drwx------ 2 root root 16384 Apr 21 2014 lost+found
drwxrwxr-x+ 2 fred users 4096 Feb 13 16:43 shared
이에 대한 문서를 찾을 수 없지만 쓰기 권한이 있는 파일 및 디렉터리에 해당하는 것 같습니다.