cifs 마운트 :“작업이 지원되지 않습니다”


17

비슷한 질문 과 달리 smbclient와 연결할 수도 없습니다.

삼바 공유는 Windows에서 잘 작동하고 자동으로 작동하지만 Linux에서는 전혀 마운트 할 수 없으며 오류 메시지는 기이합니다. 내 samba.conf는 다음과 같습니다.

[global]
    dos charset = CP437
    netbios name = REDACTED
    server string = Lab
    server role = standalone server
    map to guest = Bad User
    obey pam restrictions = Yes
    smb passwd file = /var/etc/private/smbpasswd
    private dir = /var/etc/private
    max log size = 51200
    server min protocol = SMB2
    time server = Yes
    deadtime = 15
    max open files = 11070
    hostname lookups = Yes
    load printers = No
    printcap name = /dev/null
    disable spoolss = Yes
    dns proxy = No
    pid directory = /var/run/samba
    panic action = /usr/local/libexec/samba/samba-backtrace
    idmap config * : backend = tdb
    acl allow execute always = Yes
    create mask = 0666
    directory mask = 0777
    directory name cache size = 0
    kernel change notify = No
    map archive = No
    map readonly = no
    store dos attributes = Yes
    strict locking = No

[common]
    comment = Lab Common share
    path = /mnt/pool/common
    read only = No
    inherit acls = Yes
    hosts allow = XXX.XXX.XX.X/24, XXX.XX.XX.X/24 <-- redacted
    hide dot files = No
    veto files = /.snap/.windows/.zfs/
    vfs objects = zfsacl, streams_xattr, aio_pthread
    zfsacl:acesort = dontcare
    nfs4:chown = yes
    nfs4:acedup = merge
    nfs4:mode = special
    recycle:subdir_mode = 0700
    recycle:directory_mode = 0777
    recycle:touch = yes
    recycle:versions = yes
    recycle:keeptree = yes
    recycle:repository = .recycle/%U

오류 메시지는 다음과 같습니다.

[as@localhost ~]$ sudo mount -t cifs -o username=removed,password=removed  //server.ip.address/common /media/windowsshare/
mount error(95): Operation not supported

완벽하게 쓸모없는 메시지.

디버그 가능 dmesg :

[237179.795551] fs/cifs/cifsfs.c: Devname: //132.239.27.172/common flags: 0
[237179.795563] fs/cifs/connect.c: Username: lauria
[237179.795565] fs/cifs/connect.c: file mode: 0x1ed  dir mode: 0x1ed
[237179.795600] fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 44 with uid: 0
[237179.795600] fs/cifs/connect.c: UNC: \\132.239.27.172\common
[237179.795605] fs/cifs/connect.c: Socket created
[237179.795606] fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo 0x1b58
[237179.795897] fs/cifs/fscache.c: cifs_fscache_get_client_cookie: (0xffff8803e0aa4800/0xffff880035d25580)
[237179.795898] fs/cifs/connect.c: Demultiplex PID: 25817
[237179.795902] fs/cifs/connect.c: CIFS VFS: in cifs_get_smb_ses as Xid: 45 with uid: 0
[237179.795903] fs/cifs/connect.c: Existing smb sess not found
[237179.795907] fs/cifs/cifssmb.c: Requesting extended security.
[237179.795910] fs/cifs/transport.c: For smb_command 114
[237179.795912] fs/cifs/transport.c: Sending smb: smb_len=78
[237179.801062] fs/cifs/connect.c: RFC1002 header 0x25
[237179.801067] fs/cifs/misc.c: checkSMB Length: 0x29, smb_buf_length: 0x25
[237179.801090] fs/cifs/transport.c: cifs_sync_mid_result: cmd=114 mid=1 state=4
[237179.801093] fs/cifs/cifssmb.c: Dialect: 65535
[237179.801094] fs/cifs/cifssmb.c: negprot rc -95
[237179.801097] fs/cifs/connect.c: CIFS VFS: leaving cifs_get_smb_ses (xid = 45) rc = -95
[237179.801100] fs/cifs/fscache.c: cifs_fscache_release_client_cookie: (0xffff8803e0aa4800/0xffff880035d25580)
[237179.801262] fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = 44) rc = -95
[237179.801263] CIFS VFS: cifs_mount failed w/return code = -95

나는 많은 다른 -sec옵션 을 시도했다 .-그들은 모두 실패하고, 모든 것은 같은 오류 메시지를 가지고있다. smbclient도 도움이되지 않습니다 :

smbclient //132.239.27.172/common -U username%password
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

이것은 Windows에서 어떻게 작동하지만 리눅스에서는 전혀 작동하지 않습니까?

답변:


14

@Ken 및 @Paul의 답변을 작성하려면 : v1보다 높은 경우 SMB 버전을 지정해야합니다.

mount -t cifs \
  -o username=USERNAME,vers=3.0 \
  //server/share \
  /mnt/point

Linux cifs 커널 클라이언트는 2.5.42부터 커널에 포함되었습니다. cifs 프로토콜 (및 이전 SMB 언어 관련)이 기본값 ( "vers = 1.0")이지만 "vers = 2.0"을 지정하여 최신 언어 (SMB2.02, SMB2.1 및 SMB3 및 SMB3.02)에 대한 지원을 선택할 수 있습니다. 또는 마운트시 "vers = 2.1"또는 "vers = 3.0"또는 "vers = 3.02"입니다. -https : //wiki.samba.org/index.php/LinuxCIFSKernel

smbclient의 경우 주문은 -m, --max-protocol=LEVEL다음과 같습니다.

smblcient -L server -U username -m SMB2

smbclient에 허용되는 수준 목록을 찾지 못했습니다. 이 스레드 에서 Marc Muehlfeld에 따르면 Windows에서 사용되는 버전은 다음과 같습니다.

  • SMB 2.0은 Vista / 2008에서 도입되었습니다
  • Win7 / 2008R2의 SMB 2.1
  • 2012 년 8 월 SMB 2.2 일명 3.0
  • 8.1 / 2012R2에 의한 SMB 3.02

mount일치하지 않는 프로토콜 수준으로 다시 추적 할 수있는 몇 가지 다른 오류 메시지가 있습니다. 완전하지 않은 목록 (답변을 편집하고 더 추가 할 수 있음) :

mount error(13): Permission denied
mount error(95): Operation not supported
mount error(121): Remote I/O error

마지막으로, 옵션을 사용하기 위해 자주 인용되는 조언을 나타내는 몇 가지 의견을 보았습니다 sec=ntlmv2. 그래서 아마 좋은 생각은 적어도 혼합하고 일치하지 sec하고 vers.


그것은 새로운 기계 일 수 있습니다. 왜냐하면 나는 vers=3.0작동 vers=3.02하지 않았지만 감사했습니다.
dashesy

3
그리고 제 경우에는 제가 일할 수있는 유일한 사람은 vers=2.0(우분투 18.04)
James T Snell

1
우분투 18.04와 동일한 경험; 가능한 모든 SMB 버전을 시도하십시오.
Jay Taylor

9

"I"는 알아 냈습니다. 어떤 이유로 "vers = 3.0"을 추가하면 작동합니다. 이것이 없으면 왜 문제가 있었는지 또는 왜 작동하는지 모르겠습니다. 그러나 다른 사람들이 프리 나 설정과 관련 하여이 문제가있는 경우 나중에 참조 할 수 있습니다.


1
추가 vers=3.0무엇을 ? 도와주세요
khaverim

1
폴은 옵션을 탑재해야한다고 생각합니다.
BHS

2
vers=1.0나를 위해 일했다
Bilow

5

나는 지금 한 달 이상 이것을 싸워왔다. 클라이언트가 Xenserver 6.2 및 6.5 인 경우 CIFS를 통해 ISO 디렉토리를 마운트 할 수 없습니다.

vers = 3.0이 마침내 작동했습니다.

이 옵션을 어디에서 찾았습니까?

내 도메인은 Windows 2012 R2입니다. 레지스트리의 인증 요구 사항을 낮추지 않았습니다. 모두 기본 설정입니다.

sec = 설정을 전혀 지정할 필요가 없었습니다.

도메인을 지정해야합니다. 도메인을 대문자로 지정했지만 필요하지 않을 수도 있습니다.

내 명령은 다음과 같습니다.

mount -t cifs "//192.168.92.25/shared" -o username=administrator,password=<your_password>,domain=<YOUR DOMAIN IN CAPS>,vers=3\.0 /root/tmp

이제 인증에 옵션을 추가하는 방법을 알아 봅니다.

고마워 폴, 누구든지


3\.0나를 위해 일 3.0하지 않았다.
trpt4him

0

FreeNas를 사용하면보다 안전한 공유를 설정할 수 있습니다. 가장 낮은 Windows 보안 프로토콜 (windows NT 4.0)을 허용하면 Samba와 함께 작동합니다. Windows XP 프로토콜 이상으로 설정하면 FreeNas connecte wiv CentOS 7을 얻기 위해 40 분 동안 고군분투 한 후 발견 한대로 vers = 3.0을 유지합니다. 문제는 클라이언트 (및 GUI)가 가장 높은 것을 확인해야한다는 것입니다 버전 다운. 대신 사용 가능한 가장 낮은 버전에서 제공됩니다. 한 번 의미가 있었지만 많은 변화가있었습니다. 나는 Gnome에서 CIFS를 사용하거나 보안 프로토콜 버전을 지정하기 위해 옵션을 추가 할 수 없다는 것이 특히 성가신 일이라고 생각합니다. 나는 그들이 사람들에게 명령 줄이거 나 아무것도 없다고 생각하지만 데스크톱 사용에 의해 Linux가 더 널리 사용되는 것을 막습니다. 정말 부끄러운 일입니다.


-1

nas4free에서 추가 매개 변수 상자 유형의 화면 하단에있는 서비스-> CIFS / SMB를 클릭하십시오.

ntlm 인증 = 예


nas4freeOP 질문과 는 무엇 이고 어떻게 관련이 있습니까?
jesse_b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.