我通过添加以下行将 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=0777 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
参数password
,fstab
您可以创建一个包含这两行的文件,这样您的用户名和密码就不会明确显示在 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=0777 0 0
此后,您就可以安全地重新启动,并且您的安装应该已经完成,您的详细信息也得到了保护。