IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux笔记:文件共享服务Samba基础使用 -> 正文阅读

[系统运维]Linux笔记:文件共享服务Samba基础使用

目的

linux中目前还比较常用的文件共享服务主要就是NFS和Samba,但其实NFS一般也就linux间用用,Samba通常是一个更加好的选择,可以方便的在linux和windows间进行文件共享。(现在还有一种WebDav也不错)

下面内容将以Raspbian进行介绍,同系列的发行版(Debian、Ubuntu、Minit、Deepin等)都可以参考下面的方式,不同系类的可能安装方式或包名称有所差异。我这里演示中Samba版本是4.9.5-Debian,不同版本下可能也会有所差异。

基础使用

软件包安装

在Raspbian中可以使用下面命令安装Samba软件包:
sudo apt install samba smbclient

如果没有发现软件包请尝试更新:
sudo apt update

后面使用中有问题可以尝试用下面命令:
sudo ap install acl attr samba samba-dsdb-modules samba-vfs-modules winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user

独立服务器

Samba当服务器使用时可以工作在多种模式下,最常用的就是作为独立服务器(standalone server)使用,这里也将以此作为基础进行介绍。Samba当服务器使用最主要的就是对 /etc/samba/smb.conf 文件进行配置,默认情况下该文件大概是这个样子的:

# 以#开头的内容是注释文本
# 以;开头的内容是注释掉的语句

# [global]后面包含的语句为全局参数配置
[global]

   # 作为独立服务器使用
   server role = standalone server
   # 保持samba和unix密码同步
   unix password sync = yes
   # 密码错误的访问将被拒绝;如果用户名也不存在则会被当作是访客
   map to guest = bad user

# [homes]节点启用默认设置下每个用户都可以且仅可以看到和操作自己的home目录
# 这台设备中名为naisu的用户可以在其它设备中用 \\本机IP\naisu的方式远程访问自己的home目录
;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
;   valid users = %S

# [printers]分享打印机,用不到的话这些内容都可以删掉或用;注释掉
[printers]
   ...
# [print$]分享打印机驱动,用不到的话这些内容都可以删掉或用;注释掉
[print$]

默认的smb.conf文件注释很详细,基本上只要能了解 #; 开头的都是注释[global] 起始的段落都是全局参数配置 , 剩下的 [] 标签为首的段落是一条分享规则 这三条规则就行。我们想要分享目录也只要编写一个以 [] 标签为首的段落就行。

使用下面配置是一个最简单的Samba共享示例:

[global]
   # 密码错误的访问将被拒绝;但如果用户名也不存在则会被当作是访客
   map to guest = bad user

# 客户端通过地访问时显示的目录名称为guest
[guest]
   # 指定要共享的目录路径
   path = /home/pi/Desktop/guest/
   # 可读可写
   read only = no
   # 可以匿名访问
   guest ok = yes

每次更改smb.conf文件后可以使用 testparm 指令测试该文件的参数是否符合规范,以及显示文件中起效的参数
在这里插入图片描述
上面配置中配置了可匿名登陆并且可写入的权限,但读写权限还和目录本身的权限有关:
在这里插入图片描述
完成设置以后可以使用 smbd 让Samba服务套用更改
在这里插入图片描述
上面就是Samba最基本的使用了,随便输个用户名就可以访问了,也不需要密码,如果只是自己的内网中自己用用这样就可以了,如果是在公共环境的话通常来说最好还是设置上账号密码这些。

使用Samba分享目录时如果需要设置访问的账号,这个账号首先得是这台设备上已经有的账号,使用 sudo smbpasswd -a 命令可以将已有的用户添加到Samba数据库
在这里插入图片描述
使用下面配置是一个最简单的需要账号密码的Samba共享示例:

[global]
   # 默认值never,必须使用账号密码访问
;   map to guest = never

[share]
   path = /home/pi/Desktop/share/
   read only = no

在这里插入图片描述
上面两个是最简单的例子了,实际使用中我们可能还会对不同用户设置不同的共享目录等,比如下面这样:

[global]
   map to guest = bad user

[guest]
   path = /home/pi/Desktop/guest/
   read only = no
   guest ok = yes
   
[share]
   path = /home/pi/Desktop/share/
   read only = no

[naisu]
   path = /home/pi/Desktop/naisu/
   read only = no
   # 设置naisu用户可用
   valid users = naisu

这里我使用 sudo useradd -M -s /sbin/nologin naisu 创建了一个没有home目录,且不允许登陆的名为naisu的用户,然后使用 sudo smbpasswd -a naisu 将它添加到samba中,然后进行测试(windows中删除已登录的smb账号有点纠结,下面没能完整测试不同账号的情况):
在这里插入图片描述
smb.conf文件可设置的参数非常多,可以通过 man smb.conf 来查看。更多内容可以参考下面链接:
https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html
https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server

作为Samba服务器我们可以使用 sudo smbstatus 来查看客户端接入情况

客户端

在linux中可以使用smbclient完成samba所有客户端功能,但通常我们只是用 smbclient -L //IP地址 -U 用户名 或者 smbclient -L //IP地址 -U 用户名%密码 的方式来查看某个服务器分享的情况
在这里插入图片描述
访问samba服务共享目录我们可以使用 mount -t cifs //IP地址/目录 /挂载点 -o username=,password= 方式来挂载,同样的卸载就是用 umount了:
在这里插入图片描述

总结

Samba具体的功能选项等非常多,更多内容可以参考下面链接:
https://www.samba.org/samba/
https://wiki.samba.org/index.php/Main_Page
http://cn.linux.vbird.org/linux_server/0370samba.php#smbpasswd

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:54:04  更:2021-07-13 17:55:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 18:44:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码