Назад | Перейти на главную страницу

Странное поведение при монтировании samba share с autofs

Я хочу смонтировать общий ресурс samba с autofs. autofs настроен с использованием openLDAP, SSSD и kerberos.

srv.xxxxxxx.net - это сервер самбы (контейнер proxmox, Debian 10)
ldap2.xxxxxxx.net - это openldap (контейнер proxmox, Debian 10)
gui.xxxxxxx.net - это клиент (proxmox vm, Ubuntu 18.04)

Samba работает в автономном режиме (без активного каталога, без члена домена, только файловый сервер)
Доля / srv / test

root@srv:~# ls -lisa /srv/test
total 8
17039371 4 drwxrwxrwx 2 test05 Domain Users 4096 Feb  8 11:41 .
17039361 4 drwxr-xr-x 5 root   root         4096 Mar  1 16:59 ..
17039365 0 -rw-r--r-- 1 root   root            0 Feb  8 11:41 test.txt

Конфигурация autofs сохраняется в openldap

dn: ou=auto.master,ou=automount,ou=services,dc=lan,dc=xxxxxxx,dc=net
ou: auto.master
objectClass: top
objectClass: automountMap

dn: cn=/mnt,ou=auto.master,ou=automount,ou=services,dc=lan,dc=xxxxxx,dc=net
objectClass: top
objectClass: automount
cn: /mnt
automountInformation: ldap:ou=auto.mnt,ou=automount,ou=services,dc=lan,dc=xxxxxxx,dc=net --timeout=60 --ghost

dn: ou=auto.mnt,ou=automount,ou=services,dc=lan,dc=xxxxxxx,dc=net
objectClass: automountMap
objectClass: top
ou: auto.mnt

dn: cn=test,ou=auto.mnt,ou=automount,ou=services,dc=lan,dc=xxxxxxx,dc=net
cn: test
objectClass: automount
objectClass: top
description: /srv/test on Samba
automountInformation: -fstype=cifs,multiuser,user=${USER},cruid=test05,sec=krb5 ://srv.xxxxxxx.net/test

Итак, точка монтирования на клиенте - / mnt / test

При запуске autofs создает каталог тест в / мин

root@gui:/mnt# ls -lisa /mnt/
insgesamt 4
22223 0 drwxr-xr-x  4 root root    0 mars   8 19:52 .
    2 4 drwxr-xr-x 25 root root 4096 mars   2 10:02 ..
22225 0 dr-xr-xr-x  2 root root    0 mars   8 19:52 exchange
22224 0 dr-xr-xr-x  2 root root    0 mars   8 19:52 test

Но я не могу войти в / mnt / test

root@gui:/mnt# cd /mnt/test
bash: cd: /mnt/test: Datei oder Verzeichnis nicht gefunden

Даже если я попытаюсь смонтировать вручную, ничего не получится

root@gui:/mnt# mount -t cifs -o multiuser,user=root,cruid=test05,sec=krb5 //srv.xxxxxxx.net/test /mnt/test
Couldn't chdir to /mnt/test: No such file or directory

Затем я создал другую точку монтирования / test2

root@gui:/mnt# ls -lisa /test2
insgesamt 8
1048775 4 drwxrwxrwx  2 test05 users 4096 mars   2 10:02 .
      2 4 drwxr-xr-x 25 root   root  4096 mars   2 10:02 ..

Когда я монтируюсь на эту точку монтирования, она работает:

root@gui:/mnt# mount -t cifs -o multiuser,user=root,cruid=test05,sec=krb5 //srv.xxxxxxx.net/test /test2
root@gui:/mnt# ls -lisa /test2
insgesamt 4
17039371 0 drwxr-xr-x  2 root root    0 févr.  8 12:41 .
       2 4 drwxr-xr-x 25 root root 4096 mars   2 10:02 ..
17039365 0 -rwxr-xr-x  1 root root    0 févr.  8 12:41 test.txt

Странно то, что теперь общий ресурс также монтируется в / mnt / test.

root@gui:/mnt/test# ls -lisa /mnt/test
insgesamt 0
17039371 0 drwxr-xr-x 2 root root 0 févr.  8 12:41 .
   22223 0 drwxr-xr-x 4 root root 0 mars   8 19:52 ..
17039365 0 -rwxr-xr-x 1 root root 0 févr.  8 12:41 test.txt

Это журнал для точки монтирования / mnt / test:

Mar  8 20:53:38 gui automount[805]: do_mount: //srv.xxxxxxx.net/test /mnt/test type cifs options multiuser,user=root,cruid=test05,sec=krb5 using module generic
Mar  8 20:53:38 gui automount[805]: mount_mount: mount(generic): calling mkdir_path /mnt/test
Mar  8 20:53:38 gui automount[805]: mount_mount: mount(generic): calling mount -t cifs -o multiuser,user=root,cruid=test05,sec=krb5 //srv.xxxxxxx.net/test /mnt/test
Mar  8 20:53:38 gui kernel: [  262.007951] CIFS: Attempting to mount //srv.xxxxxxx.net/test
Mar  8 20:53:38 gui kernel: [  262.007969] 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.
Mar  8 20:53:38 gui cifs.upcall: key description: cifs.spnego;0;0;39010000;ver=0x2;host=srv.xxxxxxx.net;ip4=192.168.1.121;sec=krb5;uid=0x0;creduid=0x2779;user=root;pid=0x53b
Mar  8 20:53:38 gui cifs.upcall: ver=2
Mar  8 20:53:38 gui cifs.upcall: host=srv.xxxxxxx.net
Mar  8 20:53:38 gui cifs.upcall: ip=192.168.1.121
Mar  8 20:53:38 gui cifs.upcall: sec=1
Mar  8 20:53:38 gui cifs.upcall: uid=0
Mar  8 20:53:38 gui cifs.upcall: creduid=10105
Mar  8 20:53:38 gui cifs.upcall: user=root
Mar  8 20:53:38 gui cifs.upcall: pid=1339
Mar  8 20:53:38 gui cifs.upcall: get_cachename_from_process_env: pathname=/proc/1339/environ
Mar  8 20:53:38 gui cifs.upcall: get_cachename_from_process_env: cachename = MEMORY:_autofstkt
Mar  8 20:53:38 gui cifs.upcall: get_existing_cc: default ccache is MEMORY:_autofstkt
Mar  8 20:53:38 gui cifs.upcall: get_tgt_time: unable to get principal
Mar  8 20:53:38 gui cifs.upcall: krb5_get_init_creds_keytab: -1765328378
Mar  8 20:53:38 gui cifs.upcall: Exit status 1

Это журнал для точки монтирования / test2:

Mar  8 20:54:02 gui kernel: [  285.735699] CIFS: Attempting to mount //srv.xxxxxxx.net/test
Mar  8 20:54:02 gui kernel: [  285.735717] 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.
Mar  8 20:54:02 gui cifs.upcall: key description: cifs.spnego;0;0;39010000;ver=0x2;host=srv.xxxxxxx.net;ip4=192.168.1.121;sec=krb5;uid=0x0;creduid=0x2779;user=root;pid=0x541
Mar  8 20:54:02 gui cifs.upcall: ver=2
Mar  8 20:54:02 gui cifs.upcall: host=srv.xxxxxxx.net
Mar  8 20:54:02 gui cifs.upcall: ip=192.168.1.121
Mar  8 20:54:02 gui cifs.upcall: sec=1
Mar  8 20:54:02 gui cifs.upcall: uid=0
Mar  8 20:54:02 gui cifs.upcall: creduid=10105
Mar  8 20:54:02 gui cifs.upcall: user=root
Mar  8 20:54:02 gui cifs.upcall: pid=1345
Mar  8 20:54:02 gui cifs.upcall: get_cachename_from_process_env: pathname=/proc/1345/environ
Mar  8 20:54:02 gui cifs.upcall: get_cachename_from_process_env: cachename = FILE:/tmp/krb5cc_10105_wRgFic
Mar  8 20:54:02 gui cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_10105_wRgFic
Mar  8 20:54:02 gui cifs.upcall: handle_krb5_mech: getting service ticket for srv.xxxxxxx.net
Mar  8 20:54:02 gui cifs.upcall: handle_krb5_mech: obtained service ticket
Mar  8 20:54:02 gui cifs.upcall: Exit status 0

Единственная разница в этих двух строках:

Mar  8 20:53:38 gui cifs.upcall: get_cachename_from_process_env: cachename = MEMORY:_autofstkt

Mar  8 20:54:02 gui cifs.upcall: get_cachename_from_process_env: cachename = FILE:/tmp/krb5cc_10105_wRgFic

Кто-нибудь знает, что здесь происходит?
Почему общий ресурс также монтируется в / mnt / test, когда я монтирую его в / test2?
Почему это работает только для точки монтирования / test2?