问题描述
我通过将以下行添加到 /etc/fstab
将 Windows 共享安装到我的 Ubuntu 11.10 系统:
//serveraddr/sharedfolder /mnt/foldername/ smbfs credentials=/home/myname/.smbpasswd 0 0
使用 tutorial here 。
但是权限有问题。挂载文件夹的所有者是 root
。我无法在挂载点创建任何文件夹或文件,因为我没有成为根。即使我无法通过以下方式将所有权更改为我的默认用户
sudo chown -R myname .
我搜索了一下,发现这可能源于 Windows 文件格式(fat32/ntfs)无法保存所有权。但是当我通过 samba 连接到同一位置时
smb://serveraddr/sharedfolder
通过提供我的凭据,我无需成为 root 即可获得写入权限。
我怎样才能让它让我写入已安装的文件夹?
最佳回答
不要使用 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>
中。
要使用凭证文件而不是 fstab
上的 username
和 password
参数,您可以使用这两行创建一个文件,这样您的用户名和密码就不会显式显示在 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
在此之后,重新启动将是安全的,并且应该安装您的安装并保护您的详细信息。