惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
P
Proofpoint News Feed
博客园_首页
J
Java Code Geeks
C
Check Point Blog
I
InfoQ
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
D
Docker
U
Unit 42
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
GbyAI
GbyAI
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog

晚花行乐

马克卡尼在2026年达沃斯论坛上的讲话(阅读材料) | 晚花行乐 鸡娃如何用力才是恰到好处 | 晚花行乐 读万卷书,行万里路的辩证关系 | 晚花行乐 反对培训机构掐尖招生 | 晚花行乐 小泽和建国会谈最后10分钟全文(阅读材料) | 晚花行乐 来看看 DeepSeek 怎么鸡娃 | 晚花行乐 谈谈基本功 | 晚花行乐 惠普 ProDesk SFF PC 各系列参数对比 | 晚花行乐 解决瘦客户机上安装 Debian 12 启动失败问题 | 晚花行乐 意拾喻言:老外写的文言文 | 晚花行乐 笠翁对韵中的典故(十三元) | 晚花行乐 谈谈中考取消四小门 | 晚花行乐 亚马逊云科技产品免费试用攻略(3) - 对象存储服务 | 晚花行乐 在 Windows 10 LTSC 版本上安装 WSL2 | 晚花行乐 Debian 12 的常用配置项 | 晚花行乐 在 Debian 12 上安装 Nvidia 显卡驱动程序 | 晚花行乐 解决 Debian 12 关机失败问题 | 晚花行乐 解决 VS Code 自动更新版本后卡在连接界面 | 晚花行乐 观看巴黎奥运会有感 | 晚花行乐 在 Windows10 上安装惠普旧打印机驱动程序 | 晚花行乐 欢迎关注公众号:晚花行乐 | 晚花行乐 如何编写拼写检查器 | 晚花行乐 亚马逊云科技产品免费试用攻略(2) - 云服务器 | 晚花行乐 Pandas 中 axis 参数的理解(附实例) | 晚花行乐 我打算命个名,叫什么什么 Manager | 晚花行乐 上海武康路历史建筑一览 | 晚花行乐 Python 实现简单的数学表达式解析并处理 | 晚花行乐 观看马拉松的感悟 | 晚花行乐 Python 保存 Cookies 到文件并再次读取 | 晚花行乐 如何为 Hugo 静态网站添加评论功能 | 晚花行乐
用 Samba 快速搭建文件服务器 | 晚花行乐
关于用户认证 · 2018-03-25 · via 晚花行乐

Samba 是年代久远的文件服务器,使 windows 能从 Linux 系统中上传和下载文件。但是因为配置和逻辑难以理解,有时候难以搭出想要的形式。本文试着总结出 Samba 服务器的搭建技巧。

安装

ubuntu/debian 系统,使用如下命令安装:

$ sudo apt-get install -y samba

centos系统,安装命令是

$ yum -y install samba

安装后,samba 的配置文件位于 /etc/samba/smb.conf

一个比较好的实践是,将这个文件复制一个备份出来, 当后面尝试失败后,还能从头开始。

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

匿名下载

这是一个匿名下载的例子

# smb.conf
[doc]
      comment = doc
      path = /path/to/doc
      writable = no
      guest ok = yes
      browseable = yes

上面各配置项的解释:

  • comment : 注释
  • path : 映射的服务器本地的目录,这个目录必须有足够的读权限,比如755
  • writable : no 表示不可写
  • guest ok : 允许匿名
  • browseable : 从"网络邻居"里可以查看

匿名上传

这是一个匿名上传的例子

# smb.conf
[upload]
      comment = upload
      path = /path/to/upload
      writable = yes
      guest ok = yes
      browseable = yes
      create mask = 0755
      public = yes

上面配置项的解释:\

  • create mask : 上传文件的默认权限设置\
  • path : 映射的服务器本地的目录,这个目录必须有足够的写权限,比如777

不同的客户系统登录 samba 的时候,登录方式是不同的。 Windows 会使用当前用户名和密码,登录 Samba。而Mac 则可以设置登录的用户名。而 Samba 则自己保存一套用户名列表,当收到登录请求后,Samba 会根据请求的用户名和配置文件规定的登录逻辑,决定是否允许用户登录、下载和上传。 当通过以后,Samba 会以该用户名去向 Linux 请求文件,这时还需要 Linux 的文件系统赋予足够的权限。

下面看看如何在不同的系统上配置实名上传和下载。

实名下载

当 Windows 向 Samba 服务器发出浏览请求时,会把当前的用户名和密码一并发给 Samba。假设 Windows 当前使用 Administrator 用户名,和空密码登录

然而 Samba 并不接受空密码,所以登录失败,Samba 会将这次请求当做一个 bad user , 如果 smb.conf 里的 global 一节里面配置了 map to guest = Bad User,Samba会把这次登录转换为 guest 匿名登录。

# smb.conf
[global]
      map to guest = Bad User

而且同时你准备访问的资源设置了允许 guest 匿名登录

# smb.conf
[doc]
      guest ok = yes

那么这个资源仍然可以访问。但是如果上述的 guest ok 设置了 no ,则 Samba 会向 Windows 要求手动输入用户名和密码,这时就会在 Windows 界面上看到用户名密码的提示框。

所以正确的做法是,登录 windows 使用带密码的用户名,比如 winuser ,再在 samba 里面添加同一个用户名 winuser,命令是

$ sudo smbpasswd -a winuser

然后,在 Linux 里面,需要有 winuser 用户,而且 winuser 要对下载的路径有读权限。

这是一个实名下载的例子

# smb.conf
[global]
    ....
    security = user
    ....
[doc]
      comment = doc
      path = /path/to/doc
      writable = no
      guest ok = no
      browseable = yes
      valid users = winuser

配置文件里的 winuser 需要修改为你的 windows 用户名

实名上传

只要在上一节里的配置文件 writable 设置为 yes 即可

# smb.conf
[global]
    ....
    security = user
    ....
[doc]
      comment = doc
      path = /path/to/doc
      writable = yes
      guest ok = no
      browseable = yes
      valid users = winuser

各位读后有什么想法,请在下方留言吧!如果对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

精彩评论