我一直在试图弄清楚为什么每次都会发生此问题。我尝试寻找此问题的解决方案,但一无所获。您能帮助我识别并修复错误吗:
我的问题最初是尝试使用 Samba Shares 共享时出现的。我正在使用 Ubuntu live USB 启动一台旧的 Levovo 笔记本电脑 (E420)。笔记本电脑启动正常,它已连接到互联网(我从笔记本电脑上发布这个问题)。笔记本电脑通过以太网电缆连接到我的 LAN。我试图在网络上共享笔记本电脑的本地硬盘,以便将所有文件从笔记本电脑传输到另一台设备。但是,当我在 fIles 中安装本地硬盘然后尝试共享它(右键单击 -> 网络共享)时,我收到以下错误。我该如何修复它并在网络上共享文件夹?
我看到两个错误:
- 尝试创建一个 log.net 文件,但用户似乎没有权限。我不确定这是为什么。我甚至用 log.net 创建了一个空文件,并向所有人授予了所有权限(即 chmod 777)
- 错误提示我在共享名称中使用了无效字符。但事实并非如此。我甚至尝试了不同的“名称”,但此错误仍然存在。
为了参考,错误文本也粘贴在下面:
‘net usershare’ 返回错误 255:[2023/04/05 09:28:20, 0] ../../lib/util/debug.c:1100(reopen_one_log) opening_one_log:无法打开新的日志文件‘AJ/log.net’:没有此文件或目录 net usershare add:共享名 /media/ubuntu/e42804db2804af1c/aj 包含无效字符(%<>*?|/+=;:", 中的任何一个)
答案1
嘿,我在使用 Nautilus 中的图形界面时遇到了同样的问题,结果发现这是 nautilus-share 中的一个错误https://bugs.launchpad.net/ubuntu/+source/nautilus-share/+bug/1967245。
我理解问题在于使用-l
nautilus 扩展调用的参数来设置要共享的文件夹,使用--long
参数可以正常工作。因此,您可以从终端执行此操作:
net usershare add --long share <full_path> "comment" "Everyone:R" guest_ok=n
(将 R 改为 F 以获得读写权限)请注意,设置方式如下,您仍然需要创建用户并传递权限才能访问 samba 服务器:
sudo smbpasswd -a <some_user_name>
并重新启动服务:
sudo systemctl restart smbd
。
原始来源是: https://forum.manjaro.org/t/samba-nautilus-share-funktioniert-nicht-mehr/85428/20
答案2
您的日志文件路径和共享名称有问题,下面介绍如何修复该问题,首先我们在此处修复日志文件路径,打开此文件,/etc/samba/smb.conf
然后搜索以 开头的行log file
并将其更改为 ,log file = /var/log/samba/log.%m
然后检查系统为日志文件指定的路径是否存在并具有适当的权限
sudo mkdir -p /var/log/samba
sudo chown root:adm /var/log/samba
sudo chmod 750 /var/log/samba
对于共享名称,它不应该包含任何这些字符% < > * ? | / + = ; : , "
,并且只需/
使用/media/ubuntu/e42804db2804af1c/aj
类似的aj
或test
如果是临时的,则正确重新启动它就可以工作。sudo systemctl restart smbd nmbd
编辑:根据您的评论,问题可能与 GUI 创建共享名称的方式有关,您可以执行以下操作,首先检查权限,例如/media/ubuntu/e42804db2804af1c/aj
我们执行的操作(将您的用户名替换为您的用户名)
sudo chown -R your_username:your_username /media/ubuntu/e42804db2804af1c/aj
sudo chmod -R 755 /media/ubuntu/e42804db2804af1c/aj
然后/etc/samba/smb.conf
添加这些(用你的用户名和路径替换你的用户名和路径)
[aj]
path = /media/ubuntu/e42804db2804af1c/aj
browseable = yes
read only = no
guest ok = yes
create mask = 0644
directory mask = 0755
force user = your_username
保存并重启sudo systemctl restart smbd nmbd
答案3
请参阅以下安装指南。它可以有效解决“net usershare”返回错误255的突出问题......“
安装和配置 Samba
0.删除之前安装的 samba
$ sudo apt-get purge samba samba-common
$ cd /home/username/Documents
$ sudo rm -rf share
1.安装samba
$ sudo apt update
$ sudo apt install samba samba-common
2.检查版本和路径
1).检查版本
$ samba -V
版本 4.15.13-Ubuntu
2).安装路径
$ whereis samba
3.创建共享并授权共享
1).显示用户的用户名(不是主机名)
$ whoami
该命令提醒用户输入正确的名称以进行下一步操作。
2).创建共享并授权
$ sudo mkdir /home/username/Documents/share
$ sudo chmod 777 /home/username/Documents/share
4.在smb.conf中写入以下几行
1).打开smb.conf
$ sudo gedit /etc/samba/smb.conf
2).在smb.conf中写入命令行
[share]
comment = Samba on Ubuntu
path = /home/username/Documents/share
read only = no
browsable = yes
available = yes
writable = yes
public = yes
上述命令使其他操作系统(如 Mac 或 Windows)可以访问 Ubuntu 20.04。请注意,最后三个命令对于启用 Mac OS 或 Windows 可见的 Samba 至关重要。
3).保存smb.conf
4).关闭smb.conf
5.重启Samba
$ sudo service smbd restart
6.更新防火墙规则以允许 Samba 流量
$ sudo ufw allow samba
7.设置用户账户
请记下用户名和主机名(或计算机名)(用户名@主机名)
$ whoami
再次显示您的用户名以便输入错误的名称(例如主机名)
$ sudo smbpasswd -a username
8.连接共享
请前往左侧的文件(Ubuntu 20.04)
1).打开新窗口 2).点击其他位置 3).点击分享 4).输入两次密码进行确认
9.Write 保存示例文档
编写示例文本并将其保存到共享中
或者
将现有文本复制到共享中
10.设置Mac OS
1).转到 Finder
2).开放网络
用户可以看到上面书写或保存的示例文本。
笔记:
- 用户可以使用 ifconfig 命令获取 your_ip_addres,然后输入 samba://your_ip_address 来连接服务器(Ubuntu)。但方法略显复杂。