samba服务 使用

news2025/1/7 15:42:43

SAMBA服务

访问安装
http://www.samba.org/    #模拟window共享

[root@vm ~]# yum -y install samba
[root@vm ~]# systemctl start smb
[root@vm ~]# ss -antlp| grep smb
LISTEN     0      50           *:445   *:*   users:(("smbd",pid=20155,fd=36))
LISTEN     0      50           *:139   *:*   users:(("smbd",pid=20155,fd=37))

# windows 访问  linux上的samba
win+r  \\10.1.0.11

#  linux  访问 linux上的samba
[root@client ~]# yum -y install samba-client
[root@client ~]# smbclient  -L 10.1.0.11
Enter SAMBA\root's password:


#  linux  访问window上的samba,windows要先开启samba
win  net user test  123  /add 

[root@client ~]# smbclient  -L 10.1.0.1 -U test%123
[root@client ~]# smbclient  -L //10.1.0.1/share -U test%123
smb: \> ls
smb: \>  put files  # 上传
samba 配置
# samba 配置
全局设置:
    [global]	服务器通用或全局设置的部分特定共享设置:
    [homes]		用户的家目录共享
    [printers]	定义打印机资源和服务
    [sharename]	自定义的共享目录配置
其中:#和:开头的语句为注释,大小写不敏感

samba配置中的宏定义:
    %m 客户端主机的NetBIOS名
    %M 客户端主机的FQDN
    %H 当前用户家目录路径
    %U 当前用户的用户名
    %g 当前用户所属组
    %h samba服务器的主机名
    %L samba服务器的NetBIOS名
    %I 客户端主机的IP
    %T 当前日期和时间
    %S 可登录的用户名


[root@vm ~]# rpm -ql samba-common|grep conf
/etc/samba/smb.conf
/etc/samba/smb.conf.example

[root@vm ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA # window里的工作组
        # netbios name = linux39  #此设置可以不用IP访问samba   需要启动 nmb服务才可以生效
        # hosts allow = 127.  10.1.0.  # 127的IP   10.1.0.网段的IP可访问
        # log file=/var/log/samba/log.%I   #日志文件名,调用samba宏
        # log_level=2  # 日志级别
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

# 设置家目录共享
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

管理SAMBA用户
实现samba用户说明
	包:samba-common-tools
	工具:smbpasswd pdbedit
	用户数据库:/var/lib/samba/private/passdb.tdb
	
说明:samba用户须是Linux用户,建议使用/sbin/nologin

#添加samba用户: 
    smbpasswd -a  <user>
    pdbedit -a -u <user> 
    
#修改用户密码:
    smbpasswd  <user>
    
# 删除用户和密码:
smbpasswd -x <user>
pdbedit -x -u<user>

# 查看samba用户列表: 
pdbedit -L -V

# linux用户    
[root@vm ~]# useradd -s /sbin/nologin  smb1

# 添加为samba账号
[root@vm ~]# smbpasswd -a  smb1    # -a  增加用户   -x  删除
New SMB password:
Retype new SMB password:
Added user smb1.
[root@vm ~]# smbpasswd   smb1  # 修改smb1密码
[root@vm ~]# pdbedit -L
smb1:2001:

[root@vm ~]# pdbedit -Lv    # 查看详细的信息
---------------
Unix username:        smb1
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2709267256-3865259140-523429974-1000
Primary Group SID:    S-1-5-21-2709267256-3865259140-523429974-513
...

[root@vm ~]# smbstatus  # 查看状态
Samba version 4.10.16
...
Service      pid     Machine       Connected at

[root@client ~]# smbclient -L 10.1.0.11 -U smb1%byd
[root@client ~]#  smbclient //10.1.0.11/smb1  -U smb1%byd
Try "help" to get a list of possible commands.
smb: \>

\\10.1.0.11\smb1
配置特定目录共享
每个共享目录应该有独立的[ ]部分
[共享名称] 远程网络看到的共享名称
comment	注释信息 
path	所共享的目录路径
public	能否被guest访问的共享,默认no,和guestok类似 
browsable	是否允许所有用户浏览此共享,默认为yes,no为隐藏 
writable=yes	可以被所有用户读写,默认为no
writable=yes	等价readonly=no,二选一
write list用户,@组名,+组名,用,分隔,如writable=no,列表中用户或组可读写,不在列表中用户只读 valid users特定用户才能访问该共享,如为空,将允许所有用户,用户名之间用空格分隔
vim /etc/samba/smb.conf
[share]
path=/app/dir
valid users=admins,@docker
write list=@docker
#writeable = no 
browseable = no

groupadd docker 
usermod -G docker smb1
groupmems -l -g docker
利用SAMBA实现指定目录共享
#在samba服务器上安装samba包 
yum -y install samba
#创建samba用户和组 
groupadd -r admins
useradd -s /sbin/nologin -G admins smb1 
smbpasswd -a smb1
useradd -s /sbin/nologin smb2
smbpasswd -a smb2
#创建samba共享目录,
mkdir /testdir/smbshare
chgrp admins /testdir/smbshare 
chmod 2775 /testdir/smbshare

#samba服务器配置
vim/etc/samba/smb.conf
...
[share]
path =/testdir/smbshare 
write 1ist = @admins

systemctl enable --now smb nmb



挂载smb
#用smb1 用户挂载smb共享到本机并访问 
mkdir/mnt/smb1
mount -o username=smb1,password=smb  //smbserver/share  /mnt/smb1 
echo"Hello smb1 ">/mnt/smb1 /file.txt


#fstab 挂载
yum -y install cifs-utils
vim /etc/fstab
//10.1.0.11/share  /mnt/  cifs  cred=/etc/user.txt 0 0 

cat /etc/user.txt 
username=smb1  #或user=smb1
password=password  #或pass=password
chmod 600 /etc/user.txt


#  挂载问题不能开机
Linux16  行尾   rw init=/sysroot  bin/sh
vi /sysroot/etc/fstab
不同samba用户访问相同的samba共享

实现不同samba用户访问相同的samba共享,实现不同的配置

useradd -s /sbin/nologin -r smb1 
useradd -s /sbin/nologin -r smb2 
useradd -s /sbin/nologin -r smb3
smbpasswd -a smb1 
smbpasswd -a smb2 
smbpasswd -a smb3

#修改samba配置文件
vim /etc/samba/smb.conf
#在workgroup下加一行
config file=/etc/samba/conf.d/%U  # 说明:%U表示用户名   每个用户有自己的配置
[share]
Path=/data/dir 
Read only= NO 
Guest ok = yes
write list=@wheel

#针对smb1和smb2用户创建单独的配置文件
vim /etc/samba/conf.d/smb1
[share]
Path=/data/dir1
Read only=No
Create mask=0644 #说明:默认为744

vim /etc/samba/conf.d/smb2
[share]
path=/data/dir2
systemctl restart smb nmb

#用户smb1,smb2,smb3访问share共享目录,看到目录是不同目录
smbc1ient //sambaserver/share -U smb1%smb1
smbclient //sambaserver/share -U smb2%smb2 
smbc1ient //sambaserver/share -U smb3%smb3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2271935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vscode代码AI插件Continue 安装与使用

“Continue” 是一款强大的插件&#xff0c;它主要用于在开发过程中提供智能的代码延续功能。例如&#xff0c;当你在编写代码并且需要进行下一步操作或者完成一个代码块时&#xff0c;它能够根据代码的上下文、语法规则以及相关的库和框架知识&#xff0c;为你提供可能的代码续…

leetcode(hot100)4

解题思路&#xff1a;双指针思想 利用两个for循环&#xff0c;第一个for循环把所有非0的全部移到前面&#xff0c;第二个for循环将指针放在非0的末尾全部加上0。 还有一种解法就是利用while循环双指针条件&#xff0c;当不为0就两个指针一起移动 &#xff0c;为0就只移动右指针…

vulnhub——Earth靶机

使用命令在kali查看靶机ip arp-scan -l 第一 信息收集 使用 nmap 进行 dns 解析 把这两条解析添加到hosts文件中去&#xff0c;这样我们才可以访问页面 这样网站就可以正常打开 扫描ip时候我们发现443是打开的&#xff0c;扫描第二个dns解析的443端口能扫描出来一个 txt 文件…

k8s基础(1)—Kubernetes-Pod

一、Pod简介 Pod是Kubernetes&#xff08;k8s&#xff09;系统中可以创建和管理的最小单元&#xff0c;是资源对象模型中由用户创建或部署的最小资源对象模型‌。Pod是由一个或多个容器组成的&#xff0c;这些容器共享存储和网络资源&#xff0c;可以看作是一个逻辑的主机‌。…

【FlutterDart】页面切换 PageView PageController(9 /100)

上效果&#xff1a; 有些不能理解官方例子里的动画为什么没有效果&#xff0c;有可能是我写法不对 后续如果有动画效果修复了&#xff0c;再更新这篇&#xff0c;没有动画效果&#xff0c;总觉得感受的丝滑效果差了很多 上代码&#xff1a; import package:flutter/material.…

使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南

一、安装 NestJS 要开始构建一个基于 NestJS 的应用&#xff0c;首先需要安装一系列依赖包。以下是必要的安装命令&#xff1a; npm i --save nestjs/core nestjs/common rxjs reflect-metadata nestjs/platform-express npm install -g ts-node包名介绍nestjs/coreNestJS 框…

第07章 存储管理(一)

一、磁盘简介 1.1 名称称呼 磁盘/硬盘/disk是同一个东西&#xff0c;不同于内存的是容量比较大。 1.2 类型 机械&#xff1a;机械硬盘即是传统普通硬盘&#xff0c;主要由&#xff1a;盘片&#xff0c;磁头&#xff0c;盘片转轴及控制电机&#xff0c;磁头控制器&#xff0…

Appium(一)--- 环境搭建

一、Android自动化环境搭建 1、JDK 必须1.8及以上(1) 安装&#xff1a;默认安装(2) 环境变量配置新建JAVA_HOME:安装路径新建CLASSPath%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar在path中增加&#xff1a;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin&#xff1b;(3) 验证…

Framebuffer 驱动

实验环境: 正点原子alpha 开发板 调试自己编写的framebuffer 驱动,加载到内核之后,显示出小企鹅 1. Framebufer 总体框架 fbmem.c 作为Framebuffer的核心层,向上提供app使用的接口,向下屏蔽了底层各种硬件的差异; 准确来说fbmem.c 就是一个字符设备驱动框架的程序,对…

复变函数复习

复数 复数的方根计算 例题&#xff1a; 复变函数 导数 解析函数 调和函数 例题&#xff1a; V是U的共轭调和函数 但U不是V的共轭调和函数 其中U和V满足柯西黎曼方程 经典例题 求解析函数例题&#xff1a; 初等函数 指数函数 对数函数 幂函数 三角函数 级数 极限 收敛半…

在DJI无人机上运行VINS-FUISON(PSDK 转 ROS)

安装ceres出现以下报错&#xff0c;将2版本的ceres换成1版本的ceres CMake did not find one.Could not find a package configuration file provided by "absl" with any ofthe following names:abslConfig.cmakeabsl-config.cmakeAdd the installation prefix of …

HTML5实现好看的博客网站、通用大作业网页模板源码

HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码&#xff0c;博客网站源码&#xff0c;HTML模板源码&#xff0…

线性回归从0到1实践

导入需要的包 from idlelib.configdialog import tracers %matplotlib inline import random import torch from d2l import torch as d2l根据有噪声的线性模型构造一个人造数据集。我们使用线性模型参数 w [ 2 , − 3 , 4 ] T w [2,-3,4]^T w[2,−3,4]T、b4.2 和噪声 ϵ \…

从摩托罗拉手机打印短信的简单方法

昨天我试图从摩托罗拉智能手机上打印短信&#xff0c;但当我通过USB将手机连接到电脑时&#xff0c;我在电脑上找不到它们。由于我的手机内存已达到限制&#xff0c;并且我想保留短信的纸质版本&#xff0c;您能帮我将短信从摩托罗拉手机导出到计算机吗&#xff1f; 如您所知&…

elementui table 表格 分页多选,保持选中状态

elementui多选时分页&#xff0c;解决选中状态无法保留选中项问题&#xff1a; 在el-table标签中加入row-key&#xff0c;row-key的值取当前数据里的唯一key在el-table-column selection 项中加入以下:reserve-selection“true” 完成后&#xff0c;将需要清空的地方 ( 如返回…

《掌握 C/C++ 动态内存管理,让编程更高效灵活》

这里写目录标题 一、回顾C/C内存分布1. 三道基础的练习题2. 内存区域划分图 二、C 语言中动态内存的管理方式&#xff08;malloc/calloc/realloc/free&#xff09;1. malloc() 和 calloc() 的区别和注意事项2. realloc() 的用法和注意事项 三、C 中的动态内存管理方式&#xff…

网络安全抓包

#知识点&#xff1a; 1、抓包技术应用意义 //有些应用或者目标是看不到的&#xff0c;这时候就要进行抓包 2、抓包技术应用对象 //app,小程序 3、抓包技术应用协议 //http&#xff0c;socket 4、抓包技术应用支持 5、封包技术应用意义 总结点&#xff1a;学会不同对象采用…

今日头条ip属地根据什么显示?不准确怎么办

在今日头条这样的社交媒体平台上&#xff0c;用户的IP属地信息对于维护网络环境的健康与秩序至关重要。然而&#xff0c;不少用户发现自己的IP属地显示与实际位置不符&#xff0c;这引发了广泛的关注和讨论。本文将深入探讨今日头条IP属地的显示依据&#xff0c;并提供解决IP属…

CSS3——3. 书写格式二

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!--css书写&#xff1a;--><!--1. 属性名:属性值--><!--2.属性值是对属性的相关描述--><!--3.属性名必须是…

C# OpenCV机器视觉:双目视觉-深度估计

在一个阳光欢快得仿佛要蹦迪的日子里&#xff0c;阿强像个即将踏上神秘星际旅行的宇航员&#xff0c;雄赳赳气昂昂地坐在实验室那张堆满奇奇怪怪小玩意儿的桌子前。桌上&#xff0c;两台摄像头宛如两个严阵以待的机甲战士&#xff0c;镜头闪烁着冷峻的光&#xff0c;仿佛在向阿…