Я хочу смонтировать общий ресурс 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?