AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[autofs](server)

Martin Hope
s-kaczmarek
Asked: 2021-01-22 06:57:56 +0800 CST

为什么使用 autofs 挂载的目录在文件系统中不可见,但在提供完整路径后可访问?

  • 3

这是我的第一个 nfs / autofs 配置,所以我可能配置有问题。当我导航到我添加到 /etc/auto.master 的目录时,我看不到任何挂载点,但是当我发出带有预期挂载点的完整路径的 cd 时,它会调出,我可以访问它。我认为,下面的输出是不言自明的:

user@user-desktop:~/mnt/shares/autofs$ ls
user@user-desktop:~/mnt/shares/autofs$ ls ./backup_tmp
lost+found  test.file

这是/etc/auto.master文件的样子(在接收器机器上)。前两行是默认出现的,所以我不确定是否应该触摸它们:

+dir:/etc/auto.master.d
+auto.master
/home/user/mnt/shares/autofs /etc/auto.misc --timeout=20

这就是/etc/auto.misc的样子(默认情况下第一行出现):

cd      -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
data_archive           -fstype=nfs4     192.168.1.140:/mnt/data_archive
data_file-resources    -fstype=nfs      192.168.1.140:/mnt/data_file-resources
backup_tmp             -fstype=nfs      192.168.1.140:/mnt/backup_tmp

谁能帮我调试这个问题?

linux nfs autofs
  • 2 个回答
  • 3373 Views
Martin Hope
Stephen Winnall
Asked: 2021-01-01 16:15:35 +0800 CST

使用 LDAP:如何使用 SSH 登录,如何使用 autofs 挂载 Samba 主目录?

  • 1

考虑到 MacOS 和 Synology(我的 NAS)的特殊特性,我花了一些时间在我的 MacOS、iOS 和 Linux 网络中设置基于 LDAP 的身份验证。SSH 登录(SSH 密钥等)有效,Samba 共享挂载有效。这一切都非常繁琐,而且我现在对 LDAP 的了解比我预期的要多。

然而...

在达到我可以(至少在理论上)登录到我网络中的任何机器的程度之后,我认为用户也可以在任何地方访问同一个主目录会很好。没问题:autofs,也可以从 LDAP 管理!或者我是这么想的……

我正在尝试以下方法来设置 Samba 主目录autofs:

cn=*,ou=auto.home,cn=automount,cn=etc,dc=home,dc=arpa
cn: *
objectClass: automount
objectClass: top
automountInformation: -fstype=cifs,vers=3.0,domain=HOME,rw,username=&,uid=&,gid=& ://s-sy-00.local/home

一些背景:

  1. s-sy-00.local是我的主目录所在的 Synology NAS。
  2. /home是 Synology 为 中定义的用户提供的主目录共享的 UNC username=。

当我使用 SSH 登录到远程机器时,问题就开始了。autofs尝试挂载用户的主目录,但需要用户的密码。我可以将密码放入password=该行中的参数中automountInformation,或者我可以将用户名和密码放入与credentials=参数一起传递的凭据文件中。这两种方法都会增加复杂性(automount每个用户的条目)和重复(在两个不同的地方使用相同的用户名和密码:LDAP 和凭证文件或 LDAP 中的 theautomount和 the posixUser)。

有处理这个问题的标准方法吗?我的搜索引擎技能还没有出现任何东西。

在我看来,有三种可能的解决方案:

  1. 对其他人来说是显而易见的,但对我来说不是;
  2. 使用 SSH 密钥从 SSHFS 共享中为每个用户安装凭据文件(可能从 LDAP 动态生成);
  3. 使用 Kerberos 实现成熟的 SSO。

我更喜欢数字 1 :-) 我对 Kerberos 有反感:它似乎有点矫枉过正,而且肯定相对复杂。

任何人都可以提供一些智慧的话,让我在新的一年里有一个飞跃的开始吗?

ssh samba ldap autofs
  • 2 个回答
  • 1311 Views
Martin Hope
Bram Vanroy
Asked: 2020-07-31 07:11:01 +0800 CST

在 samba 中禁用 IP 缓存或处理动态 IP

  • 0

我们想挂载已经提供给我们的外部存储。我们在 Ubuntu 18.04 上的 /etc/fstab 文件中使用如下内容。

//external/storage /mounting/point cifs noperm,cred=/home/user/.smbcredentials,domain=WORK,iocharset=utf8,vers=3.0,sec=ntlmv2i,uid=user,gid=WORKGROUP,dir_mode=0770,file_mode=0770 0 0

和 .smbcredentials

user=user
password=pass

不幸的是,我们遇到了越来越多的问题,即有时无法访问共享。奇怪的是,我们可以使用 smbclient 访问它,甚至可以挂载到其他操作系统(MacOS、Windows)上。在询问存储系统管理员的反馈后,我们被告知这是由数据中心设置的性质引起的:IP 可以动态更改。我们还被告知这对于 Windows 或 MacOS 来说不是问题,但在 Linux 上这会导致影响深远的问题,因为远程存储的 IP 被缓存。因此,如果其主机的 IP 发生更改,则由于缓存的 IP 不正确,客户端上将无法再找到该共享。

那么我的问题是:我们如何处理我们的设置?建议我们仅在需要时使用 smbclient 访问共享,但从不实际安装它们。我绝对不想朝这个方向发展,因为我们使用远程存储作为运行程序任务的数据存储。所以它应该随时可用。理想情况下,我正在寻找一种方法来禁用 IP 缓存,但也欢迎其他建议。目前我的注意力集中在autofs上,虽然我没有使用它的经验,而且我不确定它是否也缓存了它应该连接到的共享的 IP。

PS:这对我来说也很奇怪 - 如果 sysadmin 的分析是正确的 - 在 IP 更改 ( Host is down) 后共享变得不可用但卸载和重新安装不起作用。sudo mount -av只是挂起。

(最初在 Ask Ubuntu 上问过,但这里似乎更合适。)

mount ip samba ubuntu-18.04 autofs
  • 1 个回答
  • 461 Views
Martin Hope
user12682985
Asked: 2020-03-03 09:50:13 +0800 CST

带有 samba、sssd、openldap、kerberos 的 autofs

  • 1

我想用 autofs 挂载一个 samba 共享。

srv.xxxxxxx.net 是 samba 服务器(proxmox 容器,Debian 10)
ldap2.xxxxxxx.net 是 openldap(proxmox 容器,Debian 10)
gui.xxxxxxx.net 是客户端(proxmox vm,Ubuntu 18.04)

Samba 以独立模式运行(无活动目录)
共享为 /srv/test

ls -l /srv/
drwxrwxrwx 2 test05 Domain Users 4096 Feb  8 11:41 test

autofs 配置保存在 openldap 中

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

/etc/autofs_ldap_auth.conf

    <?xml version="1.0" ?>
    <autofs_ldap_sasl_conf
            usetls="no"
            tlsrequired="no"
            authrequired="yes"
            authtype="GSSAPI"
            clientprinc="host/gui.xxxxxxx.net"
    />

启动服务 autofs 时,会创建挂载点

ls -lisa /mnt
insgesamt 4
22776 0 drwxr-xr-x  4 root root    0 mars   2 15:25 .
    2 4 drwxr-xr-x 25 root root 4096 mars   2 10:02 ..
22778 0 dr-xr-xr-x  2 root root    0 mars   2 15:25 exchange
22777 0 dr-xr-xr-x  2 root root    0 mars   2 15:25 test   <---- created by autofs

但是当用户尝试 cd 进入测试目录时,他得到一个错误

test05@gui:/mnt$ cd test
bash: cd: test: File or directory not found (translated from german)

在自动挂载日志中,我发现了这条消息

cifs.upcall: get_tgt_time: unable to get principal

我认为这是我的问题,但我不知道如何解决。

当我将我的日志与我在 google 上找到的其他日志进行比较时,我发现 ccache 类型有所不同。
在我的日志中

cifs.upcall: get_cachename_from_process_env: pathname=/proc/2239/environ
cifs.upcall: get_cachename_from_process_env: cachename = MEMORY:_autofstkt
cifs.upcall: get_existing_cc: default ccache is MEMORY:_autofstkt

在所有其他日志中,我发现类似

cifs.upcall: get_cachename_from_process_env: pathname=/proc/1234/environ  
cifs.upcall: get_existing_cc: default ccache is FILE:/tmp/krb5cc_12345678  

这是我的配置错误吗?

NSS 和 kerberos 身份验证似乎有效:

klist
Ticket cache: FILE:/tmp/krb5cc_10105_YxoDWF
Default principal: [email protected]
id test05
uid=10105(test05) gid=512(Domain Admins) Gruppen=512(Domain Admins)
ldapwhoami
SASL/GSSAPI authentication started
SASL username: [email protected]
SASL SSF: 56
SASL data security layer installed.
dn:uid=test05,ou=users,dc=lan,dc=xxxxxxx,dc=net

自动挂载日志

Mar  2 16:01:28 gui automount[808]: handle_packet: type = 3
Mar  2 16:01:28 gui automount[808]: handle_packet_missing_indirect: token 9, name test, request pid 1753
Mar  2 16:01:28 gui automount[808]: attempting to mount entry /mnt/test
Mar  2 16:01:28 gui automount[808]: parse_mount: parse(sun): expanded entry: -fstype=cifs,multiuser,user=test05,cruid=test05,sec=krb5 ://srv.xxxxxxx.net/test
Mar  2 16:01:28 gui automount[808]: parse_mount: parse(sun): gathered options: fstype=cifs,multiuser,user=test05,cruid=test05,sec=krb5
Mar  2 16:01:28 gui automount[808]: parse_mount: parse(sun): dequote("://srv.xxxxxxx.net/test") -> ://srv.xxxxxxx.net/test
Mar  2 16:01:28 gui automount[808]: parse_mount: parse(sun): core of entry: options=fstype=cifs,multiuser,user=test05,cruid=test05,sec=krb5, loc=://srv.xxxxxxx.net/test
Mar  2 16:01:28 gui automount[808]: sun_mount: parse(sun): mounting root /mnt, mountpoint test, what //srv.xxxxxxx.net/test, fstype cifs, options multiuser,user=test05,cruid=test05,sec=krb5
Mar  2 16:01:28 gui automount[808]: do_mount: //srv.xxxxxxx.net/test /mnt/test type cifs options multiuser,user=test05,cruid=test05,sec=krb5 using module generic
Mar  2 16:01:28 gui automount[808]: mount_mount: mount(generic): calling mkdir_path /mnt/test
Mar  2 16:01:28 gui automount[808]: mount_mount: mount(generic): calling mount -t cifs -o multiuser,user=test05,cruid=test05,sec=krb5 //srv.xxxxxxx.net/test /mnt/test
Mar  2 16:01:28 gui kernel: [ 2177.233113] CIFS: Attempting to mount //srv.xxxxxxx.net/test
Mar  2 16:01:28 gui kernel: [ 2177.233133] 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  2 16:01:28 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=test05;pid=0x8bf
Mar  2 16:01:28 gui cifs.upcall: ver=2
Mar  2 16:01:28 gui cifs.upcall: host=srv.xxxxxxx.net
Mar  2 16:01:28 gui cifs.upcall: ip=192.168.1.121
Mar  2 16:01:28 gui cifs.upcall: sec=1
Mar  2 16:01:28 gui cifs.upcall: uid=0
Mar  2 16:01:28 gui cifs.upcall: creduid=10105
Mar  2 16:01:28 gui cifs.upcall: user=test05
Mar  2 16:01:28 gui cifs.upcall: pid=2239
Mar  2 16:01:28 gui cifs.upcall: get_cachename_from_process_env: pathname=/proc/2239/environ
Mar  2 16:01:28 gui cifs.upcall: get_cachename_from_process_env: cachename = MEMORY:_autofstkt
Mar  2 16:01:28 gui cifs.upcall: get_existing_cc: default ccache is MEMORY:_autofstkt
Mar  2 16:01:28 gui kernel: [ 2177.243918] CIFS VFS: Send error in SessSetup = -126
Mar  2 16:01:28 gui kernel: [ 2177.243931] CIFS VFS: cifs_mount failed w/return code = -2
Mar  2 16:01:28 gui cifs.upcall: get_tgt_time: unable to get principal
Mar  2 16:01:28 gui cifs.upcall: krb5_get_init_creds_keytab: -1765328174
Mar  2 16:01:28 gui cifs.upcall: Exit status 1
Mar  2 16:01:28 gui automount[808]: >> mount error(2): No such file or directory
Mar  2 16:01:28 gui automount[808]: >> Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Mar  2 16:01:28 gui automount[808]: mount(generic): failed to mount //srv.xxxxxxx.net/test (type cifs) on /mnt/test
Mar  2 16:01:28 gui automount[808]: dev_ioctl_send_fail: token = 9
Mar  2 16:01:28 gui automount[808]: failed to mount /mnt/test
Mar  2 16:01:28 gui automount[808]: handle_packet: type = 3
Mar  2 16:01:28 gui automount[808]: handle_packet_missing_indirect: token 10, name test, request pid 1753
Mar  2 16:01:28 gui automount[808]: dev_ioctl_send_fail: token = 10

sssd日志

==> /var/log/sssd/sssd_nss.log <==
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [accept_fd_handler] (0x0400): Client connected!
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_cmd_get_version] (0x0200): Received client version [1].
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_cmd_get_version] (0x0200): Offered version [1].
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [nss_getby_id] (0x0400): Input ID: 10105
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_send] (0x0400): CR #257: New request 'User by ID'
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_select_domains] (0x0400): CR #257: Performing a multi-domain search
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_domains] (0x0400): CR #257: Search will check the cache and check the data provider
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_set_domain] (0x0400): CR #257: Using domain [xxxxxxx.net]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_send] (0x0400): CR #257: Looking up UID:[email protected]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache] (0x0400): CR #257: Checking negative cache for [UID:[email protected]]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache] (0x0400): CR #257: [UID:[email protected]] is not present in negative cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_cache] (0x0400): CR #257: Looking up [UID:[email protected]] in cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_send] (0x0400): CR #257: Returning [UID:[email protected]] from cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache_filter] (0x0400): CR #257: Filtering out results by negative cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_create_and_add_result] (0x0400): CR #257: Found 1 entries in domain xxxxxxx.net
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_done] (0x0400): CR #257: Finished: Success
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [nss_getby_id] (0x0400): Input ID: 512
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_send] (0x0400): CR #258: New request 'Group by ID'
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_select_domains] (0x0400): CR #258: Performing a multi-domain search
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_domains] (0x0400): CR #258: Search will check the cache and check the data provider
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_set_domain] (0x0400): CR #258: Using domain [xxxxxxx.net]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_send] (0x0400): CR #258: Looking up GID:[email protected]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache] (0x0400): CR #258: Checking negative cache for [GID:[email protected]]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache] (0x0400): CR #258: [GID:[email protected]] is not present in negative cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_cache] (0x0400): CR #258: Looking up [GID:[email protected]] in cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sysdb_get_user_members_recursively] (0x0400): No such entry
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_send] (0x0400): CR #258: Object found, but needs to be refreshed.
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_dp] (0x0400): CR #258: Performing midpoint cache update of [GID:[email protected]]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_dp_issue_request] (0x0400): Issuing request for [0x558d3052be70:2:[email protected]]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_dp_get_account_msg] (0x0400): Creating request for [xxxxxxx.net][0x2][BE_REQ_GROUP][idnumber=512:-]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_dp_internal_get_send] (0x0400): Entering request [0x558d3052be70:2:[email protected]]
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_search_ncache_filter] (0x0400): CR #258: Filtering out results by negative cache
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_create_and_add_result] (0x0400): CR #258: Found 1 entries in domain xxxxxxx.net
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [cache_req_done] (0x0400): CR #258: Finished: Success
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [nss_protocol_fill_members] (0x0400): Group [Domain Admins] member [[email protected]] filtered out! (negative cache)

==> /var/log/sssd/sssd_xxxxxxx.net.log <==
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_get_account_info_handler] (0x0200): Got request for [0x2][BE_REQ_GROUP][idnumber=512]
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_attach_req] (0x0400): DP Request [Account #34]: New request. Flags [0x0001].
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_attach_req] (0x0400): Number of active DP request: 1
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_get_groups_next_base] (0x0400): Searching for groups with base [dc=lan,dc=xxxxxxx,dc=net]
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(gidNumber=512)(objectClass=posixGroup)(cn=*)(&(gidNumber=*)(!(gidNumber=0))))][dc=lan,dc=xxxxxxx,dc=net].
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_get_generic_op_finished] (0x0400): Search result: Success(0), no errmsg set
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_get_groups_process] (0x0400): Search for groups, returned 1 results.
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sysdb_search_by_name] (0x0400): No such entry
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_process_missing_member_2307] (0x0400): Adding a ghost entry
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_get_primary_name] (0x0400): Processing object Domain Admins
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_save_group] (0x0400): Processing group Domain [email protected]
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_process_ghost_members] (0x0400): Group has 1 members
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [sdap_save_group] (0x0400): Storing info for group Domain [email protected]
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_req_done] (0x0400): DP Request [Account #34]: Request handler finished [0]: Erfolg
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [_dp_req_recv] (0x0400): DP Request [Account #34]: Receiving request data.
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_req_reply_list_success] (0x0400): DP Request [Account #34]: Finished. Success.
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_table_value_destructor] (0x0400): Removing [0:1:0x0001:2::xxxxxxx.net:idnumber=512] from reply table
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_req_destructor] (0x0400): DP Request [Account #34]: Request removed.
(Mon Mar  2 16:01:28 2020) [sssd[be[xxxxxxx.net]]] [dp_req_destructor] (0x0400): Number of active DP request: 0

==> /var/log/sssd/sssd_nss.log <==
(Mon Mar  2 16:01:28 2020) [sssd[nss]] [sss_dp_req_destructor] (0x0400): Deleting request: [0x558d3052be70:2:[email protected]]

ldap 日志

Mar  2 15:01:28 ldap2 slapd[359]: conn=1234 op=9 SRCH base="dc=lan,dc=xxxxxxx,dc=net" scope=2 deref=0 filter="(&(gidNumber=512)(objectClass=posixGroup)(cn=*)(&(gidNumber=*)(!(gidNumber=0))))"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1234 op=9 SRCH attr=objectClass cn userPassword gidNumber memberuid modifyTimestamp modifyTimestamp
Mar  2 15:01:28 ldap2 slapd[359]: conn=1234 op=9 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 fd=25 ACCEPT from IP=192.168.1.130:48108 (IP=0.0.0.0:389)
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=0 BIND dn="" method=163
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=0 RESULT tag=97 err=14 text=SASL(0): successful result: 
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=1 BIND dn="" method=163
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=1 RESULT tag=97 err=14 text=SASL(0): successful result: 
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=2 BIND dn="" method=163
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=2 BIND authcid="host/[email protected]" authzid="host/[email protected]"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=2 BIND dn="cn=gui,ou=hosts,ou=sssd,ou=services,dc=lan,dc=xxxxxxx,dc=net" mech=GSSAPI sasl_ssf=0 ssf=0
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=2 RESULT tag=97 err=0 text=
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=3 SRCH base="ou=auto.mnt,ou=automount,ou=services,dc=lan,dc=xxxxxxx,dc=net" scope=2 deref=0 filter="(&(objectClass=automount)(|(cn=test)(cn=/)(cn=\2A)))"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=3 SRCH attr=cn automountInformation
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=3 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 op=4 UNBIND
Mar  2 15:01:28 ldap2 slapd[359]: conn=1237 fd=25 closed
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=640 SRCH base="cn=XXXXXXX.NET,cn=krb5,ou=services,dc=lan,dc=xxxxxxx,dc=net" scope=2 deref=0 filter="(&(|(objectClass=krbPrincipalAux)(objectClass=krbPrincipal))([email protected]))"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=640 SRCH attr=krbprincipalname krbcanonicalname objectclass krbprincipalkey krbmaxrenewableage krbmaxticketlife krbticketflags krbprincipalexpiration krbticketpolicyreference krbUpEnabled krbpwdpolicyreference krbpasswordexpiration krbLastFailedAuth krbLoginFailedCount krbLastSuccessfulAuth krbLastPwdChange krbLastAdminUnlock krbPrincipalAuthInd krbExtraData krbObjectReferences krbAllowedToDelegateTo krbPwdHistory
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=640 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=641 SRCH base="cn=XXXXXXX.NET,cn=krb5,ou=services,dc=lan,dc=xxxxxxx,dc=net" scope=2 deref=0 filter="(&(|(objectClass=krbPrincipalAux)(objectClass=krbPrincipal))(krbPrincipalName=krbtgt/[email protected]))"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=641 SRCH attr=krbprincipalname krbcanonicalname objectclass krbprincipalkey krbmaxrenewableage krbmaxticketlife krbticketflags krbprincipalexpiration krbticketpolicyreference krbUpEnabled krbpwdpolicyreference krbpasswordexpiration krbLastFailedAuth krbLoginFailedCount krbLastSuccessfulAuth krbLastPwdChange krbLastAdminUnlock krbPrincipalAuthInd krbExtraData krbObjectReferences krbAllowedToDelegateTo krbPwdHistory
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=641 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=642 SRCH base="cn=user,cn=XXXXXXX.NET,cn=krb5,ou=services,dc=lan,dc=xxxxxxx,dc=net" scope=0 deref=0 filter="(objectClass=krbPwdPolicy)"
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=642 SRCH attr=cn krbmaxpwdlife krbminpwdlife krbpwdmindiffchars krbpwdminlength krbpwdhistorylength krbpwdmaxfailure krbpwdfailurecountinterval krbpwdlockoutduration krbpwdattributes krbpwdmaxlife krbpwdmaxrenewablelife krbpwdallowedkeysalts
Mar  2 15:01:28 ldap2 slapd[359]: conn=1141 op=642 SEARCH RESULT tag=101 err=0 nentries=1 text=

感谢您花时间查看我的问题

编辑:
/etc/krb5.conf(每台主机都一样)

[libdefaults]
    default_realm = XXXXXXX.NET
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true

[realms]
    XXXXXXX.NET = {
        kdc = kerb.xxxxxxx.net
        admin_server = kerb.xxxxxxx.net
    }   
[domain_realm]
        .xxxxxxx.net = XXXXXXX.NET
        xxxxxxx.net = XXXXXXX.NET
[logging]
    default = FILE:/var/log/krb5.log
samba ldap kerberos autofs sssd
  • 1 个回答
  • 1688 Views
Martin Hope
hanslovsky
Asked: 2017-01-27 13:14:30 +0800 CST

未能阻止 autofs 在本地主目录上挂载

  • 0

在上一个问题中,原发帖人询问如何防止 autofs 挂载到本地主目录上: 如何防止 autofs 挂载到特定目录上? 我面临着类似的情况,我的工作站上有一个本地主目录(运行 Arch Linux),并且希望 NFS 到我的工作站上,而不安装在我的本地主目录上。我尝试将上一个问题的解决方案应用于我的 auto.master 文件:

$ cat /etc/autofs/auto.master
/home /-
+dir:/etc/autofs/auto.master.d
+auto.master

启动自动挂载程序失败:

% sudo systemctl status autofs.service  
● autofs.service - Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-01-26 15:56:19 EST; 1s ago
  Process: 8760 ExecStart=/usr/bin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 8762 (automount)
Tasks: 3 (limit: 7372)
   CGroup: /system.slice/autofs.service
       └─8762 /usr/bin/automount --verbose --pid-file /run/autofs.pid

Jan 26 15:56:19 <hostname> systemd[1]: Starting Automounts filesystems on demand...
Jan 26 15:56:19 <hostname> automount[8762]: Starting automounter version 5.1.2, master map auto.master
Jan 26 15:56:19 <hostname> automount[8762]: using kernel protocol version 5.02
Jan 26 15:56:19 <hostname> automount[8762]: file map /- not found
Jan 26 15:56:19 <hostname> automount[8762]: mount_autofs_indirect: failed to read map for /home
Jan 26 15:56:19 <hostname> automount[8762]: handle_mounts: mount of /home failed!
Jan 26 15:56:19 <hostname> automount[8762]: master_do_mount: failed to startup mount
Jan 26 15:56:19 <hostname> systemd[1]: Started Automounts filesystems on demand.
Jan 26 15:56:19 <hostname> automount[8762]: no mounts in table

同样,我正在运行带有 autofs 版本 5.1.2 的 Arch Linux。办公室的另一个工作站运行 Ubuntu 16.04 (autofs v 5.1.1) 并具有相同的 auto.master 文件(除了任何路径 /etc/autofs 被 /etc 替换)。自动安装在该工作站上正常工作。

现在,我什至不知道要搜索什么,因为每当我搜索 autofs、“/-”和其他关键字的组合时,我都会找到Direct Map Support的结果,这似乎不是我需要的。

任何正确方向的提示,无论是问题的解决方案,还是谷歌的正确关键字,都非常感谢!

autofs automount
  • 1 个回答
  • 3243 Views
Martin Hope
Daniel
Asked: 2016-09-06 08:36:00 +0800 CST

任何autofs专家?如何让 autofs 和 webdav 协同工作?

  • 1

首先让我说这是我在 AskUbuntu 中发布的一个问题的转贴。如果这违反了规则,那么请删除它。老实说,在进一步考虑该主题后,我意识到由于 autofs 在各种发行版中的工作原理基本相同,因此这更像是一个 autofs/linux 问题,而不是特定于 Ubuntu 的问题。当然,这是我的理由,因为我也希望获得更多关于这个问题的曝光:autofs 和 WebDAV 似乎是一个相当不常见的组合,所以我更有机会找到其他成功完成它的人我尝试在这个更通用的论坛中。


我正在为真实的服务器名称和文件夹使用占位符,但是,我已尝试使它们尽可能代表真实名称,因此请注意我的大小写和标点符号,以防与我的问题有关。

我正在运行Ubuntu 16.04。
我已经安装了autofs和davfs2。

以下命令成功挂载:

mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount

它要求我输入用户名和密码,[email protected]然后myypassword是成功挂载。

这告诉了我几件事:

  1. 我的 WebDAV 服务器工作正常且配置正确。
  2. HTTPS 工作正常。
  3. 我的凭据已成功验证。

所以现在我正试图让它与autofs一起工作。

这是我的文件:

/etc/auto.master

/Server.mount /etc/auto.Servername.mount

/etc/auto.Servername.mount

storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder

/etc/davfs2/secrets

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

使用此设置,如果我尝试浏览到/Servername.mount/storage-folder,我会得到一个No such file or directory error.

现在我 95% 确定我的问题是语法错误或身份验证错误。对于基于 WebDAV 的 autofs 实现,在 Web 上找不到很多示例,其中一些示例显示了冲突的语法。尽管如此,我已经尝试了我能想到的一切。

我认为auto.Servername.mount文件中的冒号很可能搞砸了解析,所以我尝试了以下所有组合:

storage-folder -fstype=davfs,ro https://servername.mydomain.com:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro :https\://servername.mydomain.com\:3333/Shared.Folder
storage-folder -fstype=davfs,ro https\://servername.mydomain.com\:3333:/Shared.Folder

如果这不是导致问题的原因,那么我认为这可能与secrets文件有关。所以我也为我的secrets:

/Servername.mount/storage-folder [email protected] mypassword

由于我习惯于将凭据文件与基于 cifs 的 autofs 挂载一起使用,因此我也尝试在我的auto.Servername.mount文件中进行尝试,只是为了好玩:

storage-folder -fstype=davfs,ro,credentials=/etc/credentials.Servername.mount https://servername.mydomain.com:3333/Shared.Folder

简单credentials.Servername.mount地说:

[email protected]  
Password=mypassword  

我还尝试使用“credentials.Servername.mount”作为:

https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword

没有任何效果。

所以我觉得我在这里遗漏了一些小而重要的语法或配置。我绝望地来到你身边。任何帮助,将不胜感激!

authentication webdav ubuntu-16.04 autofs automount
  • 1 个回答
  • 257 Views
Martin Hope
rdbisme
Asked: 2016-08-26 16:19:50 +0800 CST

LDAP 登录后自动在 NFS 上创建主目录

  • 1

我目前的情况是我可以使用ldapand成功进行身份验证pam,我也成功地使用pam_mkdir在文件系统中自动创建主目录/home。

现在我要实现的是自动创建相同的主目录,但在自动安装的 nfs 导出上。自动挂载正常工作,并且homes可以正确访问根目录。目的是避免nfs手动创建房屋。

我花了两天时间潜伏,但我没有成功地将所有信息合并在一起。

我仍然有的问题:

  • 可以pam_mkdir通过 nfs 创建目录吗?
  • 如果安装的homes路径不是标准的(例如,房屋安装到/mnt/nfs/homes),怎么pam_mkdir知道?使用homeDirectoryLDAP 属性?
  • 我应该在创建用户后触发 LDAP 服务器上的创建吗?
  • 我是否在想一个实际上更简单的问题?
nfs ldap pam autofs pam-ldap
  • 1 个回答
  • 3624 Views
Martin Hope
Idan Arye
Asked: 2016-06-16 09:46:32 +0800 CST

具有多个路径参数的 Autofs

  • 1

autofs有一个auto.master配置文件,将映射文件分配给路径,在这些映射文件中,我们可以定义如何从auto.master. 这些子目录可以是显式的,或者我们可以使用*它成为通配符(我们可以在挂载选项中使用 引用&)。此外,如果我们使地图文件可执行,它将接收该子目录作为它的第一个(也是唯一的)参数,并期望将安装定义写入标准输出。

现在,我的问题是我需要 2 个通配符/参数。我希望如果有人尝试访问/mymount/<foo>/<bar>, where<foo>并且<bar>可以是任何合法文件名,它将创建一个挂载点/mymount/<foo>/<bar>到一个依赖于<foo>和<bar>. 我的问题是我只能使用一个通配符(即<foo>),并且使用可执行映射文件方法,我得到的参数是公正的<foo>,我autofs希望我返回将安装在/mymount/<foo>.

我想要的甚至可能autofs吗?我可以轻松找到单个参数的文档,但没有使用多个参数...

autofs
  • 1 个回答
  • 410 Views
Martin Hope
TommyPeanuts
Asked: 2015-06-23 02:33:40 +0800 CST

正确使用 autofs“hosts”映射选项?

  • 1

使用 Ubuntu 14.04 LTS,我设置了一个 NFS 服务器来导出一些目录。客户端机器(也是 Ubuntu 14.04)正在使用 autofs,在 /etc/auto.master 中有以下内容:

/net    -hosts suid

但如果我 ls /net 它显示它是空的。

但是,如果我这样做:

showmount -e  10.10.10.103 

它列出了出口。

我注意到 -d 什么也没显示:

showmount -d 10.10.10.103
Directories on 10.10.10.103:

Ubuntu 文档提到了使用前台自动挂载进行故障排除,所以我已经尝试过并得到了这个(即使我在另一个终端中尝试过 cd 到 /net 之后):

gilgongo@alice:~$ sudo automount -f -v
Starting automounter version 5.0.7, master map /etc/auto.master
using kernel protocol version 5.02
mounted indirect on /net with timeout 300, freq 75 seconds

我还尝试使用提供的 auto.net 脚本,将 auto.master 中的行更改为:

/net   /etc/auto.net

但这会产生相同的结果。

我宁愿在 /etc/fstab 和其他东西中没有条目,并且喜欢客户端在 /net 中提取导出的想法。但为什么 -hosts 选项不起作用?

autofs
  • 1 个回答
  • 3205 Views
Martin Hope
uxp100
Asked: 2012-07-03 15:44:38 +0800 CST

带有 NIS 的 AutoFS,无法挂载 root 拥有的共享

  • 1

我正在使用 Ubuntu 12.04,并且正在尝试将 NIS 与 AutoFS 结合使用来挂载我有权为项目访问的 NFS 共享。我可以挂载用于远程终端的网络主目录,但它归我的用户所有。我分配的项目目录归 root 所有,但在我所在的组中,在由 IT 配置的远程终端上,我也能够使用 autoFS 挂载那些目录(只需导航到它们的目录)。当我在前台运行 automount 时,访问被拒绝。

这是我认为问题所在:我一直在努力让 PAM 与 Kerberos 一起工作以登录网络用户,但尚未成功。因此,我使用与 NIS 用户具有相同名称、UID 和 GID 的本地用户。当我使用 id 检查它的组成员身份时,我的本地用户说它在拥有项目目录的组中,这不在我的本地 /etc/group 文件中。我被引导相信如果我选择不安装 kerberos,我可以在不登录网络用户的情况下自动挂载这些目录。

所有这些对于企业 IT 来说都是一个很好的问题,除非他们不正式支持 Ubuntu 12.04。他们鼓励使用它,但我不抱太大希望他们会给我任何支持,除了他们分发的预配置的 RHEL 和 10.04 图像。

编辑:我注意到我可以挂载的目录具有 rwxrwxr-x 权限,而我不能挂载的目录具有 rwxrwx--- 权限。所以当我的本地根去挂载它时,我猜它没有权限。但我不相信可以以我的用户身份运行 automount,该用户具有该目录的权限。

ubuntu nfs permissions autofs
  • 1 个回答
  • 670 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve