当我尝试挂载名称中带有空格的服务器时,如何修复 fstab 文件

当我尝试挂载名称中带有空格的服务器时,如何修复 fstab 文件

我正在运行 ubuntu 22.04 并且要挂载以下服务器:

//MARS/Students/2024/LastName, FirstName

使用后我收到以下错误sudo mount -a

安装错误(22):参数无效我的/etc/fstab文件行如下所示:

//MARS/Students/2024/LastName, Firstname    /media/windowsshare   cifs  credentials=/path/to/creds,iocharset=utf8 0 0

我尝试过多种方法,例如:

//MARS/Students/2024/LastName,\040FirstName
"//MARS/Students/2024/LastName, FirstName"
\"//MARS/Students/2024/LastName, FirstName\"
\"//MARS/Students/2024/LastName,\040FirstName\"
"//MARS/Students/2024/LastName,\040FirstName"

这些都不起作用。我是不是漏掉了什么?

答案1

除了空格字符(八进制代码 040)之外,您还应该转义逗号字符(八进制代码 054)以及 Samba 共享中的任何非 ASCII 字符:

//MARS/Students/2024/LastName\054\040FirstName    /media/windowsshare   cifs  credentials=/path/to/creds,iocharset=utf8 0 0

有关 ASCII 八进制代码的列表,请参阅https://www.asciitable.com/

您应该特别注意您的 samba 共享(例如“名字”和“姓氏”)是否包含任何非 ASCII 字母或符号。

答案2

添加答案只是为了格式化,但您可能必须做这样的事情作为解决方法:

在 /etc/fstab 中:

//MARS/Students/2024/    /media/windowsshare   cifs  credentials=/path/to/creds,iocharset=utf8 0 0

进而

$ ln -s /media/windowsshare/'LastName, FirstName' ~user/windowsshare

依靠正常用户权限进行访问保护。

相关内容