Linux配置Samba实现局域网共享文件夹

Linux配置Samba实现局域网共享文件夹

环境:

  1. ubuntu21.04
  2. windows10

主要参考:https://blog.csdn.net/light169/article/details/106523397

1、Linux上安装samba相关包

sudo apt install samba
sudo apt install smbclient

2、创建一个共享目录

sudo mkdir /home/SambaShare

注意,此处创建的文件夹,务必保证该目录以及上级目录拥有x(执行权限)以及该目录拥有xrw(读写执行权限),否则访问共享文件夹时会有权限不足的问题。各个权限的作用如下:(此处引用https://blog.csdn.net/lv8549510/article/details/85406215的内容)

针对文件:
 r:读取文件内容
 w:修改文件内容
 x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
 r:查看目录下的文件列表
 w:删除和创建目录下的文件
 x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

Linux配置Samba实现局域网共享文件夹_第1张图片

在samba共享文件夹的问题中,若/home对other没有x权限,则会无法进入home目录,那就更加无法进入其下的SambaShare目录了,因此/home目录只要给other要有x权限。而因为要在其他电脑上对SambaShare文件夹下的文件进行读写操作,因此SambaShare文件夹必须有xrw权限

sudo chmod 777 SambaShare # 给予SambaShare文件夹权限

3、修改配置文件

vi /etc/samba/smb.conf # 可以用其他的编辑器打开

在文件末尾加入如下内容

[SambaShare]	# 共享出去的文件夹名字
comment = Share Folder
browseable = yes
path = /home/SambaShare
create mask = 0777
directory mask = 0777
valid users = leaves # 设置用于登录的用户名
force user = nobody
force group = nogroup
public = yes
writable = yes
available = yes

保存后退出,运行以下命令来重启samba

sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service

4、设置samba登录账户

sudo smbpasswd -a leaves # 注意,这里的用户名务必和smb.conf中的[SambaShare]中valid users的值一致

5、连接samba服务器

1、linux

  1. 在文件浏览器中,按下Control+L后输入smb://服务器ip
  2. 输入刚才使用smbpasswd -a命令设置的帐号密码

2、windows

  1. 在文件浏览器中访问\\服务器ip
  2. 输入刚才使用smbpasswd -a命令设置的帐号密码

如果提示错误代码0X80004005 无法访问共享计算机的方法错误

可以参考https://jingyan.baidu.com/article/08b6a5916a405614a80922f0.html

  1. 开始->运行(快捷键“win+R”),输入“regedit”后回车,打开注册表编辑器。
  2. 依次打开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters”
  3. 找到“AllowInsecureGuestAuth”,如果没有,就新建一个DWORD(32)项重命名为“AllowInsecureGuestAuth”,设为“1”,确定。

你可能感兴趣的:(Linux,linux)