windows下以指定用户访问SMB服务器进行读写

一 概述

最近遇到一个问题,linux 的 smb服务器开启匿名访问,windows访问linux文件夹不需要用户名密码就可以进去使用,但是存在一个问题,ssh连接到linux 后修改的文件,在windows已smb方式下打开某个文件修改 是没有权限的,所以需要 windows用ssh登录linux相同的用户名 登录smb服务器,那样才能已同样的权限控制。进行以下几步即可

1. 打开 映射网络 驱动器,

把图片中红色 打勾,点击 "完成" 就会弹出对应框让你输入 新的用户名密码 登录

二 ubunut上安装smb服务器

1.安装samba

bash 复制代码
sudo  apt-get  install  samba smbfs -y

2.配置共享文件夹

备份并编辑smb.conf允许网络用户访问

bash 复制代码
sudo  cp  /etc/samba/smb .conf  /etc/samba/smb .conf_backup
sudo  vim  /etc/samba/smb .conf

增加内容如下

bash 复制代码
[Share]
comment = Shared Folder  for  debug  in  remote win client
netbios name=smb_test_server
path= /opt/smbkiki
valid  users =smbkiki
create mask=0644
directory mask=0755
force user=zlgci
force group=root
public= yes
writable= yes
browseable= yes
available= yes

说明

  1. netbios name 在windows 网上领居 能够看到的名字
  2. path 要共享的目录
  3. valid users 能够访问该共享的用户,可用通配符
  4. create mask 和 directory mask 表示新建文件 目录时的权限
  5. force user 和 force group 表示进行读写时映射到服务器端对应的用户和用户组
  6. writable 表示可写
  7. browseable表示可以浏览。
  8. 找到[global]把 workgroup = MSHOME 改成workgroup = WORKGROUP
    就是改为跟你的win在同一个工作组

3. 添加SMB客户端访问的账号(例如用户名为:smbkiki)

  1. 如果ubuntu系统还没这个账户则先添加
bash 复制代码
sudo useradd smbkiki
  1. 将smbkiki添加到smb访问账户名单里,并设置密码
bash 复制代码
sudo smbpasswd -a smbkiki

4.重启smb服务器

bash 复制代码
sudo  /etc/init.d/smbd  restart

5.windows上访问smb服务器

快捷键 win+r ,输入 \IP地址 即可访问,如果要指定用户名来映射网络驱动器,请看文章开头的部分。

相关推荐
dwp114717060724 分钟前
在Windows上基于MSYS2 UCRT64工具链编译ffmpeg源码
windows·ffmpeg
用户6135411460162 小时前
IE9浏览器在Windows7 64位系统上的安装步骤(中文版)
windows
非凡ghost3 小时前
NSMusicS(开源音乐播放器)
windows·学习·firefox·软件需求
Sahm5k4 小时前
win10的恢复分区导致C盘无法扩展卷
windows·操作系统
seabirdssss4 小时前
修改联想电脑的截图保存位置
windows·经验分享·笔记
问道飞鱼4 小时前
【桌面应用开发】Windows 环境下 Dioxus 桌面应用开发环境搭建
windows·桌面应用·dioxus开发
hu55667985 小时前
Windows XP原生支持并可以使用NTFS分区吗?支持GPT分区技术吗?三星N310老笔记本可以装什么系统。
windows
染指11105 小时前
28.实现MDL驱动读写-Windows驱动
windows·驱动开发·驱动·mdl
dwp11471706075 小时前
在Windows上基于MSYS2 MSVC工具链编译ffmpeg源码
windows·ffmpeg
程序员梁白开5 小时前
吃透 Java 集合框架:单列集合与双列集合的核心原理与实战应用
java·开发语言·jvm·windows·spring·java-ee