Linux 네임스페이스/개체에 Windows DFS를 올바르게 설치하는 것이 원격입니다.

Linux 네임스페이스/개체에 Windows DFS를 올바르게 설치하는 것이 원격입니다.

직장에서 Ubuntu 시스템에 원격 CIFS 디렉터리를 마운트하려고 합니다. 내 Windows 8.1 세션에서 원격 폴더가 제대로 실행되는 것 같습니다(작동하는 것도 있음).

설치가 작동하지 않습니다.

$ sudo mount -v -t cifs //1.2.3.4/network ~/z -o username=malat,domain=MY,uid=$(id -u),gid=$(id -g),iocharset=utf8
Password for malat@//1.2.3.4/network:  *********
mount.cifs kernel mount options: ip=1.2.3.4,unc=\\1.2.3.4\network,iocharset=utf8,uid=1002,gid=1002,user=mmalaterre,domain=MY,pass=********
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

하지만 결국 우연히 만났지이 참조:

$ sudo mount -v -t cifs //1.2.3.4/network ~/z -o username=malat,domain=MY,uid=$(id -u),gid=$(id -g),iocharset=utf8,nodfs
Password for malat@//1.2.3.4/network:  *********
mount.cifs kernel mount options: ip=1.2.3.4,unc=\\1.2.3.4\network,iocharset=utf8,nodfs,uid=1002,gid=1002,user=malat,domain=MY,pass=********

적어도 지금은 작동하는 것이 있습니다.

$ mount | grep network
//1.2.3.4/network on /home/malat/z type cifs (rw,relatime,vers=2.1,cache=strict,username=malat,domain=MY,uid=1002,forceuid,gid=1002,forcegid,addr=1.2.3.4,file_mode=0755,dir_mode=0755,soft,nounix,nodfs,mapposix,rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1)

그러나 뭔가 작동하지 않는 것 같습니다(제 생각에 DFS 옵션과 관련이 있는 것 같습니다). 증상은 다음과 같습니다.

$ cd ~/z
$ ls
folder1 folder2
$ ls folder1
subfolder1
$ ls folder2
ls: cannot access 'folder2': Invalid argument

Windows 8.1 세션 내에서 폴더에 잘 액세스할 수 있으므로 folder2권한 문제는 아닙니다. folder2내 Linux 세션에서 어떻게 액세스합니까 ?

이것은 꼬리입니다 dmesg:

[1927958.534353] CIFS: Attempting to mount //1.2.3.4/network
[1927958.534403] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[1927960.069018] CIFS VFS: DFS capability contradicts DFS flag
[1927960.375111] CIFS VFS: Autodisabling the use of server inode numbers on new server.
[1927960.375115] CIFS VFS: The server doesn't seem to support them properly or the files might be on different servers (DFS).
[1927960.375117] CIFS VFS: Hardlinks will not be recognized on this mount. Consider mounting with the "noserverino" option to silence this message.

업데이트: mount 명령에 추가하면 vers=1.0증상이 약간 다릅니다.

$ cd ~/z
$ cd folder2
$ ls
subfolder2
$ cd subfolder2/
bash: cd: subfolder2/: Object is remote

참고로:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

커널 버전:

$ uname -rvo
5.0.0-38-generic #41-Ubuntu SMP Tue Dec 3 00:27:35 UTC 2019 GNU/Linux

그리고

$ cat /etc/request-key.d/cifs.spnego.conf
create  cifs.spnego    * * /usr/sbin/cifs.upcall %k

고쳐 쓰다:

답변1

마침내 내 쪽에서 문제를 디버깅할 수 있었습니다. 오류 메시지가 사용자 수준에서 숨겨져 있기 때문에 동적 디버깅을 사용하려면 데비안 버스터 시스템(리눅스 커널 5.4.x)을 설치해야 합니다.

실패한 CIFS 마운트를 디버깅하는 단계는 다음과 같습니다.

다음은 더 자세한 오류 로그를 제공합니다.

[...]
[  687.037593] fs/cifs/dns_resolve.c: dns_resolve_server_name_to_ip:
unable to resolve: MYSERV13
[  687.037606] fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options:
Failed to resolve server part of //MYSERV13/network to IP: -2
[...]

그것이 단서입니다. 방금 내 업데이트를 업데이트했습니다 resolve.conf.

search acme.corp

도착하다:

search acme.corp mydoma01.acme.corp

처음부터 문제가 되었던 옵션 mount -t cifs없이 드디어 전화를 걸 수 있게 되었습니다 .nodfs

이러한 증상은 더 이상 오류가 아니며 단지 정보 제공용일 뿐입니다.

$ cd subfolder2
CIFS VFS: BAD_NETWORK_NAME: \\MYSERV13\network
[...]

subfolder2마침내 아무런 문제 없이 콘텐츠에 액세스할 수 있게 되었습니다.

내 Ubuntu 시스템(Linux 커널 5.0.x)에서 위의 작업이 작동하려면 CIFS에 대한 명시적 버전을 지정해야 했습니다( vers=1.0).

인용하다:

답변2

지금까지 찾은 유일한 해결 방법은 를 사용하는 것입니다 DFS Referral list. 따라서 창 상자에서 문제의 항목 subfolder2(기호 링크 아이콘)으로 이동한 후 마우스 오른쪽 버튼을 클릭하고 속성을 가져옵니다.

DFS 추천 목록

그런 다음 Linux 세션으로 돌아가서 다음을 사용하여 마운트했습니다.

$ sudo mount -t cifs //xyzclus01-cifs.mydoma.acme.corp/Disk12 ~/disk12 -v -o username=malat,domain=MY,uid=$(id -u),gid=$(id -g),iocharset=utf8,nodfs,vers=1.0
Password for malat@//xyzclus01-cifs.mydoma.acme.corp/Disk12:  *********
mount.cifs kernel mount options: ip=5.6.7.8,unc=\\xyzclus01-cifs.mydoma.acme.corp\Disk12,iocharset=utf8,nodfs,vers=1.0,uid=1002,gid=1002,user=malat,domain=MY,pass=********

내가 (드디어!) 액세스할 수 있는 콘텐츠입니다 subfolder2. 이는 매우 번거롭고 직관적이지 않습니다. 따라서 이것은 기껏해야 해결 방법이지 실제 솔루션은 아닙니다.

관련 정보