​​​​​​1.在 Ubuntu 上设置共享文件夹

        在终端中运行以下命令安装 Samba:

sudo apt update
sudo apt install samba

        编辑 Samba 配置文件:

sudo nano /etc/samba/smb.conf

        在文件末尾添加以下内容(假设要共享 用户dy下的Downloads目录),path:需要共享的文件夹名称,writable:可写,browsable可被浏览,valid users指出有效的用户,即哪个Ubuntu用户可被共享,guest ok:访客访问这个共享。create mask用于设置新创建文件的权限,directory mask用于设置新创建文件夹的权限。在这里,0777是权限的八进制表示形式,这意味着新创建的文件和文件夹都将具有读、写、执行权限,对于所有者、所属组和其他用户都是开放的。
[shared]
  comment = Shared Folder
  path = /home/dy/Downloads
  writable = yes
  browsable = yes
  valid users = dy
  guest ok = yes
  create mask = 0777
  directory mask = 0777
2.添加 Samba 用户(这里的用户名为dy)并在弹出的窗口设置密码,注意:这里的用户名是Ubuntu系统已有的用户的名字,密码却是为samba共享文件单独设置的访问密码,并不是Ubuntu系统用户的登录密码:

sudo smbpasswd -a dy
sudo systemctl restart smbd

3.windows系统的必要条件        

      .确保 Windows 防火墙没有阻止访问 Samba 共享               
             如果被防火墙阻止,打开 Windows 防火墙设置 。添加新的入站规则:允许 TCP 端口 137, 138, 139, 445和允许 UDP 端口 137, 138, 139, 445。 

      .确保 Windows 的网络发现和文件共享功能已启用

             控制面板-->选择“网络和共享中心-->更改高级共享设置-->启用网络发现和文件共享。

      .确保两台电脑处于同一网段

            Windows获取本机IP地址的方法:命令行终端输入ipconfig回车

使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件-LMLPHP

        Ubuntu获取本机IP地址的方法:命令行终端输入ip addr show 

使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件-LMLPHP

 

4.使用

        满足条件后,在Windows的浏览器地址栏输入:\\<ubuntu电脑的IP>\shared\,在弹出的窗口输入用户名和密码即可。例如:\\192.168.10.60\shared\。

5.一些基本操作和注意事项

        smbpasswd命令
        smbpasswd命令用于添加或修改 Samba 用户的密码。其基本语法是

smbpasswd [选项] [用户名]

例如,如果修改用户名为dy的 Samba 用户密码,运行命令:

sudo smbpasswd dy

        然后系统会提示输入新密码,需要输入两次来确认密码。在输入密码时,出于安全考虑,密码不会显示在屏幕上。
选项说明
        -a:用于添加新的 Samba 用户。例如,sudo smbpasswd -a new_user可以添加名为new_user的 Samba 用户,并会提示为这个新用户设置密码。
        -d:禁用一个 Samba 用户。例如,sudo smbpasswd -d user_to_disable会禁用名为user_to_disable的用户,使其无法登录 Samba 共享服务。
        -e:启用一个被禁用的 Samba 用户。与-d选项相反,sudo smbpasswd -e user_to_enable可以重新启用名为user_to_enable的用户。

        pdbedit -L命令
        pdbedit是一个用于管理 Samba 用户数据库的工具。pdbedit -L命令用于列出所有 Samba 用户的信息。这些信息包括用户名、用户 ID(UID)、组 ID(GID)和其他相关的账户细节。

sudo pdbedit -L

        注意:Samba 用户是基于系统用户创建的,也就是说,在添加 Samba 用户之前,需要确保该用户已经是系统用户。sudo smbpasswd -a new_user,如果尝试添加的用户在Ubuntu系统中不存在,就会出现添加失败的情况。

        如果在成功访问之后,在Windows内保存了访问凭证,下次访问就可以不用输入用户名和密码。但是,在Ubuntu端修改过密码后,就会导致Windows内保存的凭证失效。那么就需要在Windows的控制面板-->凭据管理器-->Windows 凭据内找到已保存的凭据并编辑密码后保存:

使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件-LMLPHP
使用 SMB 协议从win10电脑访问同网段ubuntu电脑文件-LMLPHP

或者将其删除,更彻底。重启Windows,就可以访问。

11-17 20:37