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回车
Ubuntu获取本机IP地址的方法:命令行终端输入ip addr show
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 凭据内找到已保存的凭据并编辑密码后保存:
或者将其删除,更彻底。重启Windows,就可以访问。