SMB 给我带来噩梦,共享显示,但我无法访问任何文件夹

Jam*_*ver 3 permissions smb

需要一些设置 SMB 服务器的帮助。我已经有一段时间没有使用 Linux 了,我想放弃 Windows 并使用这个机器作为我散布在家里的媒体播放器的严格文件服务器。

我根本不需要共享的安全性,因为它们严格位于内部网络上,并且媒体播放器似乎不想使用需要密码的共享。

事情是这样的:我已经脱离这个太久了,我几乎又是个新手了,当我尝试在媒体播放器中添加新的媒体文件夹时,计算机会出现,但即使我使用我的 Ubuntu 用户名并且密码 我无法访问该文件夹,日志显示 user 的尝试nobody,会话已关闭。当我尝试访问 Ubuntu 中的文件夹时,我可以访问smb://main pc并显示所有文件夹,但我无法进入任何内容。即使使用我的 Ubuntu 凭据也只会给我一个该死的错误,提示权限被拒绝。我知道我可能忽略了一些简单的事情,这会让我看起来像个真正的傻瓜,但任何指点将不胜感激。

SAG*_*air 5

好吧,我建议从一开始就执行以下操作。所有要运行的命令都是 root 用户或使用 sudo 以避免权限问题。

  1. 安装 samba 服务包。
sudo apt-get install samba samba-common python-glade2 system-config-samba
Run Code Online (Sandbox Code Playgroud)
  1. 备份 Samba 默认配置文件。

cp /etc/samba/smb.cnf /etc/samba/smb.cnf.bak

  1. 创建所需的目录位置 - 最好是大卷以实现最大存储。

mkdir -p /data/SambaShare/PublicShare

  1. 更改创建的目录的权限和所有权。

chmod -R 0775 /data/SambaShare/PublicShare

chown -R 无人:nogroup /data/SambaShare/PublicShare

  1. 编辑 samba 配置文件 根据您的要求编辑以下条目。

vi /etc/samba/smb.cnf

[PublicShare]
comment = My Public Share
path = /data/SambaShare/PublicShare
writable = yes
browseable = yes
public = yes
hosts allow = 127. 192.168.
guest ok = yes
Run Code Online (Sandbox Code Playgroud)

注意:假设您的内部 IP 范围以 192.168.xx.x 开头,因此上述代码中的y host allowed =为 192.168。如果您的情况有所不同,请尝试进行相应的编辑,但不要错过主机范围之间给出的空格。

现在,所有人都可以访问 PublicShare 文件夹,无需用户名和密码。如果您需要Group和User进行管理就可以,那么您需要在上面的代码中添加“ valid users = ”。您可以选择您喜欢的名称并进行相应更改。代码是自我解释的。

  1. 添加 Samba“mysmbgrp”组:
addgroup mysmbgrp
Run Code Online (Sandbox Code Playgroud)
  1. 为组 mysmbgrp 添加用户
adduser user1 -G mysmbgrp
Run Code Online (Sandbox Code Playgroud)
  1. 为 samba 用户分配密码以登录
smbpasswd -a user1
Run Code Online (Sandbox Code Playgroud)
  1. 启用 Samaba 登录的用户帐户。
smbpasswd -e user1
Run Code Online (Sandbox Code Playgroud)
  1. 重新启动服务。
sudo service smbd stop

sudo service nmbd stop

sudo service smbd start

sudo service nmbd start
Run Code Online (Sandbox Code Playgroud)