标签: autofs

使用 autofs 挂载 CIFS 共享

我有一个运行 RHEL 5.5 的系统,我正在尝试使用autofs. (由于网络在启动时未准备好,我不想使用fstab。)我能够手动安装共享,但autofs只是没有安装它们。

以下是我正在处理的文件:

在结束时/etc/auto.master,我有:

## Mount this test share:
/test    /etc/auto.test    --timeout=60
Run Code Online (Sandbox Code Playgroud)

/etc/auto.test,我有:

test    -fstype=cifs,username=testuser,domain=domain.com,password=password ://server/test
Run Code Online (Sandbox Code Playgroud)

然后我重新启动autofs服务。

但是,这不起作用。 ls-ing 目录不返回任何结果。我在网上遵循了所有这些指南,我要么不理解它们,要么它们就是不工作。

谢谢你

redhat cifs autofs automount

14
推荐指数
2
解决办法
5万
查看次数

为什么 Docker 容器中的某些主机卷会给出“符号链接级别太多”的错误?

我正在运行 docker 并安装了主机目录:

$ docker run -v /usr/groups/thing -ti imagename /bin/bash
Run Code Online (Sandbox Code Playgroud)

中的文件/usr/groups/thing/foo可访问:

# ls /usr/groups/thing/foo
a b c
Run Code Online (Sandbox Code Playgroud)

但文件/usr/groups/thing/bar不是:

# ls /usr/groups/thing/bar
ls: cannot open directory /usr/groups/thing/bar: Too many levels of symbolic links
Run Code Online (Sandbox Code Playgroud)

这是在 Debian 上,/usr/groups/thing是一个自动挂载的 NFS 卷。

nfs symbolic-link autofs docker

10
推荐指数
1
解决办法
1万
查看次数

如何在每个文件系统的基础上配置 autofs5 超时?

由于 Debian autofs 4 中的停止显示错误,我刚刚升级到 autofs5。它不尊重我的auto.master文件中的超时选项:

/var/autofs/removable /etc/auto.removable --timeout=2
Run Code Online (Sandbox Code Playgroud)

我将此地图用于拇指驱动器等;我不想要 2 秒的一般默认超时。

我进行了一些挖掘,虽然该--timeout选项在 autofs 4 中有效,并且出现在 Web 上的一些示例中,但实际上并未在该文件的文档中得到批准(甚至未提及)auto.master。所以我觉得我不能将问题报告为错误。

如何仅在指定的文件系统上让 autofs5 在 2 秒后超时?


更新:我使用的是 Debian 打包的 autofs5,版本 5.0.4-3.2。

linux debian autofs

7
推荐指数
1
解决办法
2619
查看次数

如何防止 autofs 在特定目录上挂载?

我有一个工作站,我有一个本地用户帐户和本地主目录。我也是一个组织的一部分,在该组织中我有一个 NIS 用户/主目录。我想设置 autofs 以访问一些共享的 NFS 目录。

问题是,在我这样做之后,当我尝试访问它时,它会自动挂载在我的本地主目录上,这对我来说是不可取的。

有没有办法阻止 autofs 挂载到这个挂载点?

以更一般的方式,有没有办法防止 autofs 挂载到现有目录上?

谢谢

autofs automount

6
推荐指数
1
解决办法
6316
查看次数

挂载到 autofs 挂载的 NFS 导出显示空内容

我使用 autofs 在文件夹 /mnt/iso 中挂载一些 iso 文件:

Fedora-13-x86_64-DVD.iso
Fedora-14-x86_64-DVD.iso
Fedora-15-x86_64-DVD.iso
Run Code Online (Sandbox Code Playgroud)

autofs 工作正常,我可以看到 iso 文件的内容:

# ls /mnt/iso/fedora.13/
# ls /mnt/iso/fedora.14/
# ls /mnt/iso/fedora.15/
Run Code Online (Sandbox Code Playgroud)

完成 autofs 测试后。我强制卸载所有iso文件夹:

# umount -l /mnt/iso/*
Run Code Online (Sandbox Code Playgroud)

然后我在 /etc/exports 中导出 /mnt/iso:

/mnt/iso        192.168.0.0/24(ro,insecure,crossmnt,all_squash)
Run Code Online (Sandbox Code Playgroud)

NFS 服务也运行良好。我可以通过 nfs 客户端从另一台机器挂载 /mnt/iso:

# mount -t nfs4 <nfs-server>:/mnt/iso /mnt
Run Code Online (Sandbox Code Playgroud)

我可以在 /mnt/ 文件夹中看到所有 iso 挂载:

# ls /mnt
dr-xr-xr-x 15 nobody nobody 4096 2011-06-11 10:23 .
drwxr-xr-x 24 root   root   4096 2011-02-08 08:45 ..
drwxr-sr-x  7 nobody nobody 4096 2010-05-13 09:06 fedora.13
drwxr-sr-x …
Run Code Online (Sandbox Code Playgroud)

linux nfs autofs automount

6
推荐指数
1
解决办法
1万
查看次数

使用链式自动挂载挂载主目录

我已经设置了两个使用自动挂载(通过 LDAP)挂载的目录:

在/home目录下配置automount挂载

*   -fstype=bind :/network/srv/home/&
Run Code Online (Sandbox Code Playgroud)

在 /network 目录中的一项

srv    -fstype=nfs4,rw,sec=sys,noatime,hard,intr,proto=tcp,timeo=100,port=2049 myserver:/
Run Code Online (Sandbox Code Playgroud)

当我尝试访问用户的主目录(例如 ls /home/myuser)时,自动挂载失败并显示错误消息:

>> mount: special device /network/srv/home/myuser does not exist
failed to mount /home/myuser
Run Code Online (Sandbox Code Playgroud)

当我使用手动执行“绑定安装”时

mount -o bind /network/srv/home/myuser /home/myuser
Run Code Online (Sandbox Code Playgroud)

触发 /network/srv 的自动挂载,并且 myuser 主目录成功挂载到 /home/myuser。

在尝试挂载 /network/srv/home/myuser 之前如何告诉自动挂载加载 /network/srv 的任何想法?

nfs mount autofs automount

6
推荐指数
1
解决办法
1100
查看次数

autofs 挂载凭据文件的正确转义是什么?

我已经在 CentOS 上使用/etc/auto.mymount. 像这样的东西:

mymount -fstype=cifs,rw,noperm,credentials=/etc/auto.creds.svc_account ://winserver.domain.local/SharedFolder
Run Code Online (Sandbox Code Playgroud)

这一直在工作,并且仍然适用于某些坐骑。但是,用于连接到 Windows 服务器的帐户的密码已更改,并且现在包含各种特殊字符。我的凭证文件/etc/auto.creds.svc_account看起来有点像这样:

username=svc_account
password=AbCd@a;abc{`B"[C\\~/fg9w(G':4##abC}d3.H}v,2]f+c
Run Code Online (Sandbox Code Playgroud)

显然我已经更改了上面的密码,但它确实包含真实密码中的各种非字母数字字符。

查看/var/log/messages,我看到以下内容:

Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Run Code Online (Sandbox Code Playgroud)

鉴于唯一改变的是密码,我猜测那里有需要以某种方式转义的特殊字符。

现在我知道,如果我将该密码放入命令行,那么命令将由于各种特殊字符而失败,可以通过在每个特殊字符前加上反斜杠来处理。例如:

password=AbCd@a\;abc{\`B\"[C\\\\~/fg9w\(G\':4##abC}d3.H}v,2]f+c
Run Code Online (Sandbox Code Playgroud)

但这不起作用,所以很明显我错过了一些东西。有人能够解释需要在凭据文件中转义哪些字符以及转义它们的正确方法吗?

linux centos autofs

6
推荐指数
1
解决办法
5769
查看次数

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

这是我的第一个 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
Run Code Online (Sandbox Code Playgroud)

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

+dir:/etc/auto.master.d
+auto.master
/home/user/mnt/shares/autofs /etc/auto.misc --timeout=20
Run Code Online (Sandbox Code Playgroud)

这就是/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
Run Code Online (Sandbox Code Playgroud)

谁能帮我调试这个问题吗?

linux nfs autofs

6
推荐指数
2
解决办法
9697
查看次数

使用 sec=krb5 导出 NFS 是否*要求*也使用 sec=krb5 导出父目录?

我逐字复制了某人的 NFS 服务器/客户端设置,但无法理解其中发生的情况。这是/etc/exports:

/export *(rw,fsid=0,crossmnt,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
/export/home *(rw,insecure,async,no_subtree_check,sec=krb5p:krb5i:krb5)
Run Code Online (Sandbox Code Playgroud)

客户端机器使用 autofs 按需挂载用户主目录。这是 auto.home:

*       -fstype=nfs4,rw,soft,sec=krb5   192.168.0.2:/home/&
Run Code Online (Sandbox Code Playgroud)

这很有效,而且效果很好。尽管如此,导出/export似乎没有必要,所以我在服务器配置中注释了该行。现在在客户端上自动挂载失败。

问题

  1. 为什么/export/home需要/export也导出?
  2. /export和的安全选项是否/export/home必须相同?
  3. 为什么 auto.home 读取192.168.0.2:/home/&而不是192.168.0.2:/export/home/&?这似乎根本不应该起作用。

linux nfs kerberos autofs

5
推荐指数
1
解决办法
2530
查看次数

在 AWS EC2 Spot 实例中保持用户的文件系统持久化

我注意到,在自动启动一个新的 Amazon AWS EC2 Spot 实例后(我打开了该选项),文件系统的状态不是最新的(代表前一个 Spot 实例自动关闭之前的最后一个状态,因为当前价格超过了我的设置限制)。我猜新启动的 Spot 实例文件系统的初始状态是基于AMI我用来自动启动Spot 实例的。我有以下问题:

是否有可能,如果是,可以做什么,在自动关闭之前自动保存文件系统的状态并在自动启动新的 Spot 实例期间恢复它?如果不可能,至少,是否可以自动下载和运行 shell 脚本,使系统达到所需状态(通过 自动更新系统,通过apt-get获取最新源代码git等)?

谢谢!

automation autofs automount amazon-ec2 amazon-web-services

5
推荐指数
1
解决办法
2570
查看次数

Centos 7 autofs 挂载在重启后无法正常工作

我已经在 Centos 7 上设置了 autofs。但是,似乎在重新启动后,挂载 /home/ 目录需要一些时间,即使我 'cd' 进入它也是如此。它仅在 3 次尝试后成功:

[root@localhost ~] cd /home/<user>
-bash: cd: /home/<user>: No such file or directory
Run Code Online (Sandbox Code Playgroud)

并且,autofs 已启用,因此我希望它在重新启动后启动:

[root@localhost etc]# systemctl status autofs
autofs.service - Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled)
   Active: active (running) since Tue 2015-07-21 10:34:38 HKT; 1h 13min ago
  Process: 1379 ExecStart=/usr/sbin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 1385 (automount)
   CGroup: /system.slice/autofs.service
           ??1385 /usr/sbin/automount --pid-file /run/autofs.pid

Jul 21 10:34:38 localhost.localdomain systemd[1]: Starting Automounts filesystems on demand...
Jul …
Run Code Online (Sandbox Code Playgroud)

redhat mount autofs centos7

5
推荐指数
1
解决办法
2万
查看次数

如何使用 autofs 为 CIFS 挂载设置权限?

我已经使用 autofs 在我的 CentOS 6.4 服务器上设置了 CIFS 挂载:

文件 /etc/auto.mnt :

Photos -fstype=cifs,perm,rw,uid=505,forceuid,gid=505,forcegid,file_mode=0770,dir_mode=0770,credentials=/root/credentials.txt ://adsrv01/Photos
Run Code Online (Sandbox Code Playgroud)

什么ls命令显示:

[root@websrv01 mnt]# ls -l
total 4
drwxr-xr-x 1 root root 4096 Apr 26 12:01 Photos
Run Code Online (Sandbox Code Playgroud)

我对ls命令的期望:

[root@websrv01 mnt]# ls -l
total 4
drwxrwx--- 1 photos photos 4096 Apr 26 12:01 Photos
Run Code Online (Sandbox Code Playgroud)

你看有什么不对吗?如何正确设置所有者和 chmod ?

编辑:我忘了说 /mnt/Photos 目录上的 root 用户拒绝 chown 和 chmod 命令。我做对了,我也尝试过使用 fstab。

这就是 fstab 发生的情况:

mkdir /mnt/Photos
chmod 770 /mnt/Photos
chown photos:photos /mnt/Photos
mount /mnt/Photos
Run Code Online (Sandbox Code Playgroud)

挂载目录时,权限会自动更改并设置为 755。我无法将模式设置回 770 :权限被拒绝。

mount centos cifs autofs chmod

3
推荐指数
1
解决办法
2万
查看次数

如何以编程方式卸载由 autofs 挂载的文件系统?

我有一些 RHEL 系统,我需要禁用autofs. 我通常做的是在每个主机上运行一个脚本,执行如下所示的操作:

# /etc/init.d/autofs stop
...
# /sbin/chkconfig autofs off
...
# reboot
Run Code Online (Sandbox Code Playgroud)

但我遇到的情况是这样做reboot会引起问题。我想我可以逐一登录到这些主机中的每一个并执行df,看看 autofs 挂载了哪些文件系统并手动执行,umount /whatever但这会很痛苦。有谁知道关闭autofsumount安装它所安装的文件系统的巧妙方法?

我确实可以访问puppet. 也许我可以使用 puppet 来编辑autofs配置文件,然后呢service autofs reload

谢谢

rhel5 autofs

3
推荐指数
1
解决办法
8758
查看次数