一、安装软件包

sudo apt -y install samba samba-common

二、linux系统添加samba需要用的账户,创建需要共享的文件夹,并配置好权限。(注意共享文件夹最好不要是当前用户主目录,主目录在samba配置文件中有默认配置)

# 创建samba共享目录
sudo mkdir /home/samba
# 根据具体需求配置权限
sudo chmod 0777 /home/samba

在系统中添加samba共享的帐号,因为samba的共享帐号需要在linux系统中存在

# 在linux系统中添加用于samba的共享用户,这里指定默认shell为nologin,更安全
sudo useradd samba0 -s /usr/sbin/nologin

三、samba配置文件配置 /etc/samba/smb.conf,配置

注1: 注意不能把匿名登录和账户密码登录配置在一起,否则匿名是无法登录的。

遇到的错误:

  tree connect failed: NT_STATUS_ACCESS_DENIED

1)匿名登录配置片段(个人局域网共享,方便)

[public]  # 共享资源标识
comment= public share  # 共享资源描述
path=/home/samba     # 共享的目录
read only = no      # 是否只读,注意不要和writable冲突
create mask = 0777    # 创建文件的权限
directory mask = 0777
browseable=yes      # 共享是否可见
writable=yes
available=yes
guest ok = yes      # 是否可以匿名访问,与 public=yes 类似,貌似只需要配置一个

2)指定名登录配置(这里我设置了/home/sambavideo权限为0777)

[video]
comment = Share Video
path = /home/sambavideo
read only = no
create mask = 0700
directory mask = 0700
browseable = yes
writable = yes
available = yes
valid users = samba0
write list = samba0
guest ok = yes    # 匿名仍无法登录

注2: debian中samba服务的名称为 smbd,可能不同于红帽系等操作系统

  遇到的错误:Failed to restart samba.service: Unit samba.service not found.

四、修改好配置文件后重启samba服务

  修改好后可以在任意目录运行testparm验证配置文件的是否合法

# 如下提示标识配置没有语法错误
$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
sudo systemctl restart smbd    # 重启服务
# 其他命令
sudo systemctl enable smbd # 开启开机自启
sudo systemctl start smbad # 启动服务
sudo systemctl reload smbd # 重载配置
sudo systemctl stop smbd # 停止服务

五、验证登录,这里用linux系统的smbclient验证共享

# 安装 smbclient命令
sudo apt -y install smbclient

本地登录验证共享是否成功, 命令格式:smbclient //samba服务器ip地址/samba共享资源标识

smbclient //127.0.0.1/public

运行这个命令回默认要求输入密码,配置的匿登录不需要输入密码,直接回车,登录成功。smbclient登陆成功后就进入了交互界面,支持一些简单命令。

查询: ls 但是不支持linux系统的参数模式

put 文件名  # 上传单个文件

get 文件名  #  下载单个文件,如果文件名中有空格等复杂情况,尝试用双引号包住文件名 "文件名 xx"

mget 文件名1 文件名2 ...  # 多文件下载

help # 可以查看smbclient交互模式可以使用的所有命令

$ smbclient //192.168.122.238/public
Enter WORKGROUP\mydebian's password:
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \>

指定用户登录

smbclient //192.168.122.238/video -U samba0
smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it
Enter WORKGROUP\samba0's password:
Try "help" to get a list of possible commands.
smb: \>

最新文章

  1. Bootstrap 模态框(Modal)插件
  2. React项目(一):markdown编辑器
  3. 《我爱背单词》 Alpha版 发布说明
  4. 【MySQL】优化—工欲善其事,必先利其器之EXPLAIN
  5. Chrome商店Crx离线安装包下载
  6. C#新语法特性前瞻
  7. codeforces 675E Trains and Statistic 线段树+贪心统计
  8. Hibernate的检索策略
  9. Note | javascript权威指南[第六版] 第2章:词法结构
  10. C#构造函数使用
  11. GET: https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login? loginicon=true &uuid=odcptUu2JA==&tip=0
  12. Chapter 2 Open Book——1
  13. /etc/nginx/nginx.conf配置文件详解
  14. QEMU, a Fast and Portable Dynamic Translator-Fabrice Bellard-翻译
  15. SNF软件开发机器人2018最新更新内容
  16. Template模板
  17. 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V4 -- 远程方法调用 整合 Spring 自动注册
  18. PHP curl是什么
  19. [转载]JavaScript异步编程助手:Promise模式
  20. java synchronized 的原理。

热门文章

  1. Symbol详解
  2. RocketMQ - 生产者最佳实践总结
  3. 跳板攻击之:MSF portfwd 端口转发与端口映射
  4. select省市联动+对应经销商、自定义箭头
  5. JS获取本周、本月、本季度、本年
  6. PostGIS之维数扩展的九交模型
  7. 开发者进阶必备的9个Tips & Tricks!
  8. C语言学习--动态内存分配(未完待续)
  9. 如何用HP 39GS计算器画出双曲线图像
  10. virtualbox装配fedora时,安装增强功能包时会报错解决