问题:

问题:

我在 Linux 机器上设置了一个正常运行的 samba 服务器,如下所示:

useradd -g users netshareuser

passwd netshareuser

smbpasswd -a netshareuser

(密码相同)

mkdir /net/share

chown -R root:users /net/share

chmod -R g+rwxs /net/share

setfacl -R -m default:user::rwx,default:group::rwx,default:mask::rwx,default:other::--- /net/share

/etc/samba/smb.conf:

    [global]
    workgroup = workgroup
    server string = server
    security = user
    hosts allow = 192.168. 127.
    load printers = no
    log file = /var/log/samba/%m.log
    max log size = 50
    dns proxy = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

    unix extensions = no
    follow symlinks = yes
    wide links = yes

    [share]
    comment = Directory containing shared files
    path = /net/share
    valid users = netshareuser
    read only = yes

rc.d restart samba

从 Windows (7) 计算机,“netshareuser”可以访问此共享,读取文件和目录。但是,如果我创建符号链接ln -s /some/directory/ /net/share/nameOfSymlink,同一台 Windows 计算机甚至不会显示它。

问题:

  1. 我必须做什么才能使该共享中的 Linux 符号链接在 Windows 机器上运行,这可能吗? 更新:ultrasawblade 已经回答了这个问题!问题是权限错误/some/directory

  2. 有没有一种使用 samba 共享文件的方法,不需要更改文件权限?我的意思是,你可以将 Linux 系统上的任何文件共享给网络上的任何人,但无需更改此文件的权限。我想要的是:将文件标记为共享给“netshareuser”,而不更改该文件的权限。

在此先感谢您的任何建议!

答案1

看起来您已将其wide links设置为yes,这正是我最近所得到的。

这可能是由于 的权限所致/some/directory,如上面的例子所示。

如果您不想更改文件权限,则需要告诉 Samba 为该共享使用不同的本地用户。这实际上是您仅有的两个选择。

我认为force user和选项就是您想要的。如果您选择force group,您将无法获得最佳的安全状况,但这可能是您正在寻找的。force userroot

相关内容