我有一台运行 Windows Server 2008 的 FreeNAS 服务器和域控制器。我使用 OpenSuse 11.4,我的 Windows 帐户对 FreeNAS CIFS 共享具有完全访问权限。我可以通过任何支持 smb 协议的文件管理器进行连接,smb://windows_user@freenas/share
并且可以读取和写入任何文件夹。
现在我正在尝试设置 mount.cifs。这是我的字符串/etc/fstab
:
//freenas/share /mnt/Data cifs username=windows_user,password=windows_password,_netdev,uid=1000,gid=100 0 0
(其中 1000 是我的默认 Linux 用户 ID,100 是“用户”组 ID)。
我看到来自 FreeNAS 共享的文件夹后mount -a
,但我只能以 root 用户身份(而不是 ID = 1000 的默认用户)读取/写入它们。
还说ls -o
该文件夹的所有者是 1000,但没有读/写权限。
我尝试了诸如“file_mode=0777”或“dir_mode”之类的选项,或者强制 uid 或将用户 1000 添加到 root 组 - 这些都不起作用。有什么想法吗?
答案1
通过在 fstab 中添加一行来解决:
//192.168.1.33/Public /mnt/nasPublic cifs username=username,password=password,rw,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
然后
sudo mount -a
答案2
嗯,您真的想在目录和文件上设置 777 权限吗?您可以指定文件和目录模式以及 uid 和 gid。要允许非 root 挂载,请尝试使用挂载的“user”或“users”选项(请参阅 man mount.cifs)
例如
//myNAS/nasmedia /media/nasmedia cifs noauto,users,_netdev,credentials=/etc/.smbcredentials,iocharset=utf8,uid=1000,gid=1002,file_mode=0774,dir_mode=0775 0 0