我有一台运行Ubuntu和Samba的Linux服务器。 我在Samba中创build了两个指向由用户“cameron”拥有的目录的共享。
当我试图连接到Windows 7上的这些共享连接,并允许我看到这些文件,但它们是只读的。 这是来宾用户所需的操作,而不是经过身份validation的用户。
我在Windows客户端上的用户是“Cameron”,并且与Linux用户“cameron”具有相同的密码。
我不认为我的Windows用户已经对Linux用户进行了authentication。 我甚至创build了一个users.map文件来将用户cameron(linux)映射到Cameron(windows),但是仍然不起作用。
这是我的桑巴configuration文件(更新) :
[global] server string = %h server (Samba, Ubuntu) map to guest = Bad User passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . username map = /etc/samba/users.map syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 os level = 65 preferred master = Yes dns proxy = No wins support = Yes usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d valid users = cameron write list = cameron [www] path = /usr/local/apache2/htdocs write list = @www-data force group = www-data guest ok = Yes [cameron] path = /home/cameron write list = @www-data force group = www-data guest ok = Yes
另外,如果您的Windows和Linux用户名相同,则不需要将用户添加到用户映射文件中。
我通过注意到我共享的文件夹的属性解决了我的服务器上的问题。 我有pipe理员作为组和Bj作为用户。
所以,我在我想分享下面的部分进入configuration文件:force group = admin force user = Bj
现在我的networking上的所有计算机都可以读取和写入该文件夹。
您还没有告诉Samba如何进行身份validation。 如果这是您自己的小型服务器,则可以使用用户安全性。
添加security = user并将encrypt passwords = yes到全局部分,然后运行“smbpasswd cameron”为Samba设置密码。 密码不一定要匹配你的Unix或Windows密码,但是匹配你的Windows密码会使生活更轻松。
然后重新启动桑巴,你应该可以login。
当我删除只读选项时,问题自行解决。 虽然从我的用户在写入列表中阅读文档应该已经覆盖这个设置。