问题标签 [fstab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - sudo mount -t ntfs 仅在从 bash 完成时才抱怨不在 fstab 中
我没有问题,sudo mount -t ntfs4 server/drive /home/larry/folder
但是当我把它放在一个 bash 脚本中时,它抱怨不在fstab
. 有人可以在这里帮助我吗?
这是完整的脚本。它允许我安装或卸载驱动器。有些服务器是 Debian,有些是 Ubuntu。我的客户是 Debian 10。
java - 为什么除非用户连接到服务器,否则 SpringBoot 应用程序无法访问远程文件(sshfs)?
这个问题涉及通过 Wifi 连接到互联网的树莓派 4,并运行 SpringBoot 应用程序,该应用程序根据用户请求生成具有特殊值的文件树。SpringBoot App 需要计算位于远程服务器上的一些文件的父路径来构建用户请求的文件树。
当从控制台启动 SpringBoot 应用程序时,当远程数据已经挂载时,这一切都有效。
因为我需要 SpringBoot 应用程序自动运行并在启动时启动,所以我改变了/etc/rc.local
,/etc/fstab
就像这样:
在/etc/rc/local
我添加su pi -c 'cd /home/pi/MyApp && ./LaunchApp.run &'
在/etc/fstab
我添加
请注意,allow_other
以便所有用户都可以读写(不仅是 root),以及要使用的 ssh 密钥的路径。
但是 SpringBoot 应用程序确实启动了,但是它无法访问远程数据,因此无法构建文件树。如果我通过 VNC(GUI 登录)登录,那么我可以单击实际安装的安装点,并且 SpringBoot 应用程序可以计算文件树,因为它可以访问远程数据。
但是当我关闭 VNC(即使没有与登录用户断开连接)时,SpringBoot App 无法再访问远程数据。
在控制台中运行sudo mount -av
(或-fav
模拟挂载)导致远程数据的挂载以及 SpingBoot 能够按预期访问远程数据。但是注销后无法访问远程数据。
请注意,我测试了使用和不使用 fstab 命令,_netdev
但它没有改变 SpringBoot 应用程序访问远程数据的能力。
我还跑去ps -A
检查哪个用户正在运行 SpringBoot,它显示pi
.
因此,我想知道为什么 SpringBoot 应用程序只能在连接 pi 用户时才能看到远程数据?
此外,我可以做些什么来使 SpringBoot 应用程序可以使用挂载点,而无需手动挂载远程数据?
请注意:我还尝试通过添加以下行来启动安装(在两种情况下都rc.local
从~/.profile
中删除相应的行):fstab
rc.local
或 .profile
除非我手动登录,否则 SpringBoot 仍然无法访问远程数据。
非常感谢任何帮助
linux - Ansible 挂载模块更新 fstab 未能在 EC2 实例中进行状态检查
这是我的 Ansible 任务 -
在 EC2 实例中挂载一个带有外部 ebs 卷的目录,以使Amazon EBS 卷可用。
现在这个#6代码块安装并创建备份/etc/fstab
和更新如下
如果我使用UUID
挂载,则将其/etc/fstab
修改为
#7 块代码更新/etc/fstab
as
一切正常。我在安装时没有收到任何错误,但无论 EC2 实例收到状态检查错误 [ 1/2 checks passed
] 的原因是什么。
- 第一个问题是 - 是否有任何格式的
/etc/fstab
文件。值之间是否有单空格或双空格? - 从这里如何 fstab 工作并使Amazon EBS 卷可用于 Linux,我得到的是
- 字段之间有 2 个空格。当 Ansible 修改
fstab
文件时,它不会创建任何额外的空间。
UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
[Ansible 修改]
- 它对状态检查有任何影响吗?
- Ansible 将回溯文件创建为
fstab.DATETIME~
. 同样的问题,这个备份文件是否有任何状态检查错误的影响。
linux - 一个文件系统怎么会有多个内容不相同的挂载点?
下面是我设备上 /etc/mtab 的一部分的副本。我希望这些挂载点具有相同的内容,因为它们指向同一个文件系统上的同一个卷。
但是,有些具有不同的文件和目录。这怎么可能?
linux - 使用受密码保护的私钥使用 fstab 自动挂载 sshfs
我使用 连接到我的家庭服务器ssh server
,其中服务器配置~/.ssh/config
为:
IdentityFile
是受密码保护的私钥,所以我每次登录时都必须输入密码。
我可以使用sshfs me@{server-address}:/home/me /mnt/server
. 再一次,我必须输入我的密码才能使用我的私钥登录。我注意到我不需要在sshfs
选项中实际指定键 - 大概~/.ssh/id_rsa
只是默认位置?
最后,为了轻松挂载系统,我将以下行添加到/etc/fstab
:
这让我可以简单地运行mount /mnt/server
来挂载文件系统——当然,我被要求输入密码。
请注意,我添加了该noauto
选项,以便它不会在启动时挂载,因为我担心如果没有密码就无法挂载文件系统,系统会挂起。
我的怀疑就在这里吗?如果系统尝试挂载服务器文件系统,但没有获得密码,系统会无法启动吗?有没有办法可以向/etc/fstab
/mount
命令提供密码,以便它能够在启动时启动文件系统?
permissions - 为 /etc/fstab 中挂载的目录设置用户权限
我的嵌入式 Linux 系统使用管理员用户帐户来执行一些受限的管理任务。该用户的主目录是 /mnt/foo。该目录是 /etc/fstab 在启动时挂载的分区的挂载点:
问题在于该 /mnt/foo 目录的权限:
此权限不允许管理员用户创建/写入任何文件:
在 rcS 启动脚本中为 /mnt/foo 设置 777 权限可以轻松解决此问题:
但我不喜欢这个解决方案。我尝试在 fstab 中设置不同的选项(gid=admin,uid=admin,umask=000),但似乎 ext4 文件系统不支持这些挂载选项。
rcS 启动脚本是解决此问题的唯一可行方法吗?谢谢!
ssh - SSHFS 在命令行上工作,但不在 fstab 中
我正在尝试使用 SSHFS 连接两台服务器。
以 root 身份启动命令时sshfs myuser@ip_adress:/some/dir /other/dir -o idmap=user,identityfile=/home/myuser/.ssh/id_rsa
,一切正常。
/etc/fstab
但是,当我在运行中设置此 SSHFS 配置时mount -a
,它会挂起。中的行/etc/fstab
是:
我已经尝试了很多选择,但到目前为止,没有任何效果。
通过添加选项并运行ssh_command=ssh\040-vv,sshfs_debug,debug
,我得到以下输出:/etc/fstab
mount -av
我不明白为什么 SSH 连接此时挂起。
你知道是什么问题吗?
谢谢
linux - hidepid=2 更新后停止工作。内核不支持“每个挂载点”?
我正在运行 arch linux hardened (5.11.13-hardened1-1-hardened) 并通过 fstab 设置 hidepid=2:
并在 systemd-logind.service 的 and 覆盖文件中作为 hidepid.conf:
根据arch wiki 安全性,直到不久前更新后一切都运行良好,我认为这是因为 systemd-248 更新,但我显然不确定。
在阅读 systemd 更改时,遇到了关于“ProtectProc=invisible”的本节,该部分现在默认设置在 systemd-logind.service 中,应该废弃 hidepid=2 的 fstab 设置,但在“ProtectProc=”的描述中这里freedesktop.org systemdprotectproc=
如果内核不支持 per-mount point hidepid= mount options 此设置仍然无效,并且单元的进程将能够访问和查看其他进程,就像未使用该选项一样。此选项仅适用于系统服务,不支持在服务管理器的每用户实例中运行的服务。
那么这是什么意思呢?这是我可以通过硬化内核中的内核参数修复的东西吗?
此致
java - File.canWrite() 在 smb 挂载时返回 false
我在使用小型 Java 应用程序和 Samba 共享文件夹时遇到问题。
该应用程序只不过是处理具有特定格式的文件的批处理。为此,它将它们移动到一个临时文件夹,处理它们并将它们存放在目标文件夹中。
该应用程序已经运行了几个月没有问题。机器中的一个问题使得必须安装一个新的,现在这个过程不起作用。
关键是应用程序验证是否file.canWrite()
,过滤那些不可写的文件。
我做了几次检查,想不出可能会发生什么:
- 文件夹权限:(
777
我已设置用于测试目的) - 文件权限:
777
/etc/fstab
:rw, sync
难道是/etc/fstab
应该有async
而不是sync
?我已经阅读过它,但我不太了解其中的区别以及它如何影响应用程序
linux - 通过 shell 脚本将 /etc/fstab 文件中的选项 noexec 替换为 exec
只有 noexec 到 exec 的 /tmp 选项应该改变。noexec 到 exec 的 /var/tmp 选项不应更改。
/etc/fstab 的内容