确保两台设备(Windows/Linux)处于同一本地局域网,可通过互相ping IP地址验证。
在Linux终端(Ctrl+Alt+T组合键打开)输入以下命令:
```bash ip addr show ```找到“inet 192.168.x.x/24”开头的行(排除127.0.0.1),前面的数字就是Linux IP,例如192.168.3.22。
按Win+R键打开运行框,输入cmd回车,执行:
```cmd ipconfig ```找到“IPv4 地址”开头的行,记录对应的192.168.x.x地址。
若ping不通,需检查两台设备的防火墙:
临时关闭防火墙命令:
本次以Ubuntu 22.04 LTS和CentOS Stream 9为例,覆盖90%以上个人用户场景。
Ubuntu/Debian系执行:
```bash sudo apt update && sudo apt install samba samba-common-bin -y ```CentOS/RHEL系执行:
```bash sudo dnf install samba samba-client samba-common -y ```选一个自己常用的路径创建,例如用户主目录下的shared文件夹:
```bash mkdir ~/shared ```赋予文件夹读写权限(避免Windows端无法上传文件):
```bash chmod 777 ~/shared ```Samba不能直接用Linux系统密码登录,需单独设置,用户名建议和Windows一致(例如windows_user),避免输入错误:
```bash sudo smbpasswd -a windows_user ```按提示输入两次密码(密码至少8位,建议包含字母+数字),最后显示“Added user windows_user”即成功。
先备份原配置文件,防止出错:
```bash sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ```用nano编辑器打开配置文件(新手友好,不用记vim快捷键):
```bash sudo nano /etc/samba/smb.conf ```直接拉到文件最末尾,复制粘贴以下完整配置(注意注释可保留,但开头的文字不算功能代码):
```ini [shared_folder] comment = Local shared folder for all devices path = /home/你的Linux用户名/shared browseable = yes read only = no create mask = 0777 directory mask = 0777 valid users = windows_user ```关键修改点:将`/home/你的Linux用户名/shared`替换成实际的共享文件夹路径,例如`/home/zhangsan/shared`。

保存退出nano:按Ctrl+O键,回车确认保存;按Ctrl+X键退出。
正式环境建议开放Samba专用端口(替换临时关闭防火墙):
按Win+E键打开此电脑,点击顶部菜单栏的“映射网络驱动器”(Windows 11在“更多”下拉菜单里)。
弹出凭据窗口后,输入之前设置的Samba专用用户名和密码,勾选“记住我的凭据”,点击确定即可看到共享文件夹。
按Win+R键打开运行框,输入`\\你的LinuxIP\shared_folder`回车,输入Samba专用用户名密码即可。
反向共享也很简单,先在Windows端设置共享。
右键点击要共享的Windows文件夹,选择“属性”→“共享”选项卡→“高级共享”→勾选“共享此文件夹”→点击“权限”→选中“Everyone”(或指定Windows用户)→勾选完全控制/更改/读取→确定→确定。
Ubuntu/GNOME桌面用户:
CentOS/KDE桌面用户:
命令行访问(可选,适合远程操作):
先安装cifs-utils:
创建挂载点:`sudo mkdir /mnt/win_shared`
临时挂载:`sudo mount -t cifs -o username=你的Windows用户名,password=你的Windows密码 //你的WindowsIP/共享文件夹名 /mnt/win_shared`
设置开机自动挂载(可选):
先创建权限文件:`sudo nano /etc/smbcredentials`
粘贴以下内容:
```ini username=你的Windows用户名 password=你的Windows密码 ```保存退出后设置权限(防止密码泄露):`sudo chmod 600 /etc/smbcredentials`
打开fstab配置文件:`sudo nano /etc/fstab`
拉到末尾添加:`//你的WindowsIP/共享文件夹名 /mnt/win_shared cifs credentials=/etc/smbcredentials,uid=1000,gid=1000 0 0`
uid和gid替换成当前Linux用户的ID(可通过`id`命令查看),保存退出后执行`sudo mount -a`验证,无报错即成功。