挂载 Windows 共享的正确方法

挂载 Windows 共享的正确方法

我通过添加以下行将 Windows 共享安装到我的 Ubuntu 11.10 系统/etc/fstab

//serveraddr/sharedfolder /mnt/foldername/ smbfs credentials=/home/myname/.smbpasswd 0 0

使用教程在这里

但是权限有问题。挂载文件夹的所有者是root。如果我没有成为 root,我就无法在挂载点创建任何文件夹或文件。甚至我无法通过以下方式将所有权更改为我的默认用户

sudo chown -R myname .

我谷歌了一下,发现这可能是由于 Windows 文件格式 (fat32/ntfs) 无法保存所有权。但当我通过 samba 连接到同一位置时

smb://serveraddr/sharedfolder

通过提供我的凭证,我无需成为 root 就可以获得写入权限。

我怎样才能让它允许我写入已挂载的文件夹?

答案1

不要使用smbfs,新协议的名称是cifs,它是包的一部分cifs-tools(如果尚未安装,请安装它)。

而是使用这行fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

在哪里

server = your server that you are trying to access
share = mapped share on that server
/mnt/mountname = any folder that you created with sudo /mnt/<folder_name>
username = the name of the user on that server that can access the mount
password = the password for that user

之后,您可以用 进行测试sudo mount -a,如果没有发现任何故障,您可以安全地重新启动并找到安装在 中的共享/mnt/<folder_name>

要使用凭证文件代替和username参数passwordfstab您可以创建一个包含这两行的文件,这样您的用户名和密码就不会明确显示在 fstab 中

sudo nano /etc/cifspwd

将这些行添加到文件中

username=<username on server>
password=<password for that username>

按下 ctrl+x 键,然后在系统提示时按下y以保存文件。

用以下方式固定

sudo chmod 600 /etc/cifspwd

使用此行代替上一行

//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

此后,您就可以安全地重新启动,并且您的安装应该已经完成​​,您的详细信息也得到了保护。

相关内容