Samba 서버를 통해 NAS 공유의 파일/폴더 속성을 변경할 수 없습니다.

Samba 서버를 통해 NAS 공유의 파일/폴더 속성을 변경할 수 없습니다.

내 상황:

  • 클라이언트(Windows 10) -> 서버(Debian 10 / Samba 버전 4.9.5-Debian) -> NAS(Lenovo ix2)

  • 클라이언트(Windows 10)에서는 문제 없이 파일과 폴더를 생성, 이름 바꾸기, 삭제, 변경할 수 있지만 DOS/Windows 파일 속성 정보(읽기-쓰기, 숨김, 시스템)를 검색하거나 설정할 수 없습니다!

  • Windows 10에는 SMBv1이 활성화되어 있습니다.

  • 서버 Debian이 8에서 10.10으로 업데이트되었습니다(새 하드웨어 시스템, 새로 설치, 처음부터 시작). 버전 8.0에서는 이 문제가 발생하지 않습니다.

  • 서버 마운트 - 통과했지만 fstabNAS 공유와 동일한 프롬프트:

    //NAS/STORAGE  /mnt/STORAGE  cifs  username=...,password=...,rw,dir_mode=0777,file_mode=0666,uid=...,gid=...,noauto,noserverino,nounix,vers=1.0
    

    vers=2.0, vers=3.0및 기타 여러 가지를 시도했지만 ... 옵션을 생략했지만 아무 것도 시도하지 않았습니다.

  • 서버(Debian 10)는 다른 많은 Windows 공유(Window 10, Windows 7, Windows NT 4.0)를 ("/mnt" 경로 하위 폴더에) 마운트하고 아무런 문제가 없습니다. NAS(Lenovo ix2)에서만 가능합니다. 작동하지 않습니다.

  • smb.conf:

    [global]
    workgroup = WORKGROUP
    # *** I have tried many parameter for protocol:
    #client min protocol = SMB2
    #server min protocol = SMB2
    #client max protocol = NT1
    #server max protocol = NT1
    #max protocol = NT1
    interfaces = 127.0.0.0/8 enp11s0f0 enp11s0f1 10.9.8.1
    bind interfaces only = yes
    log file = /var/log/samba/log.%m
    max log size = 1000
    server role = standalone server
    netbios name = PIGRECO
    server string = Distributed File Server - Samba %v (%h)
    interfaces = lo enp11s0f0 enp11s0f1
    local master = yes
    domain master = yes
    preferred master = yes
    os level = 35
    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
    guest account = studio
    ldap ssl = no
    client lanman auth = yes
    client plaintext auth = yes
    wins support = yes
    dfree command = /usr/local/bin/dfree
    
    [COMMON]
    comment = Common PIGRECO Archive
    path = /mnt
    force user = studio
    read only = No
    create mask = 0777
    directory mask = 0777
    guest ok = Yes
    hosts allow = 192.168.0. 172.0.0. 10.9.8.
    strict locking = No
    browsable = Yes
    # The "ea support" set to "no" don't solve the problem:
    #ea support = no
    vfs objects = recycle
    recycle:repository = /mnt/STORAGE/Trash
    recycle:keeptree = Yes
    recycle:versions = Yes
    recycle:maxsize = 104857600
    
  • CIFS 디버깅(을 사용하여)을 시도했는데 echo 7 > /proc/fs/cifs/cifsFYI다음 오류가 발생했습니다.

    Status code returned 0xc000004f NT_STATUS_EAS_NOT_SUPPORTED
    

    하지만 온라인에서는 어떤 정보도 찾을 수 없습니다.

  • /mnt다른 폴더(권한 및 소유자)와 마찬가지로 NAS에 대한 새 하위 폴더를 생성했지만 Linux 속성/소유자를 변경하면 읽기/쓰기 파일 생성 권한만 영향을 받았습니다 .

어떤 제안이 있으십니까?

답변1

삼바 프로필()에 대한 설정을 찾았습니다 /etc/samba/smb.conf.

[global]
  client min protocol = SMB2_10
  client max protocol = SMB3_11
  
  client ipc min protocol = SMB2_10
  client ipc max protocol = SMB3_11

  server min protocol = SMB2_10
  server max protocol = SMB3_11

  map readonly = permissions
  store dos attributes = no

이제 Windows 7/10에서 파일 권한을 변경할 수 있습니다.

답변2

DOS 속성은 파일 시스템 확장 속성에 저장되거나(기본 파일 시스템이 이를 처리할 수 있는 경우) 기존 UNIX 파일 권한 비트에 매핑될 수 있습니다.

이 조합~해야 한다가능하면 확장된 속성을 사용하고, 그렇지 않으면 UNIX 파일 권한 비트로 대체합니다.

store dos attributes = yes    ; Default yes
map archive = yes             ; Default yes
map hidden = yes              ; Default no
map readonly = yes            ; Default no
map system = yes              ; Default no

dos 속성은 기본적으로 이미 저장되어 있으며 이것이 작동하지 않으므로 기본 파일 시스템이 확장 속성을 처리하지 못할 수 있으며 store dos attributes = no.

매뉴얼 페이지(참고자료 참조 man smb.conf)에는 다음과 같은 내용이 나와 있습니다.

user_xattrLinux에서 확장 속성이 작동하려면 마운트 옵션을 사용하여 파일 시스템을 마운트해야 하며 확장 속성도 Linux 커널로 컴파일해야 합니다.

아마도 이것이 저장된 DOS 속성이 작동하지 않는 근본적인 이유일 것입니다.

전혀 관련이 없는 참고 사항에서 SMBv1은 더 이상 사용되지 않으며 더 이상 사용할 필요가 없습니다. 원하는 경우 서버에서 SMBv1(이상)을 허용하도록 할 수 있지만 Windows 10에서는 이전 버전으로 다운그레이드하기 전에 SMBv3을 선호합니다.

관련 정보