samba服务 使用

news/2025/1/7 18:34:46/

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 = userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw# 设置家目录共享
[homes]comment = Home Directoriesvalid users = %S, %D%w%Sbrowseable = Noread only = Noinherit acls = Yes[printers]comment = All Printerspath = /var/tmpprintable = Yescreate mask = 0600browseable = No[print$]comment = Printer Driverspath = /var/lib/samba/driverswrite list = @printadmin rootforce group = @printadmincreate mask = 0664directory 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 = nogroupadd 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 = @adminssystemctl 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 #说明:默认为744vim /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.ppmy.cn/news/1561026.html

相关文章

JSON结构快捷转XML结构API集成指南

JSON结构快捷转XML结构API集成指南 引言 在当今的软件开发世界中&#xff0c;数据交换格式的选择对于系统的互操作性和效率至关重要。JSON&#xff08;JavaScript Object Notation&#xff09;和XML&#xff08;eXtensible Markup Language&#xff09;是两种广泛使用的数据表…

Java SpringBoot使用Apache POI导入导出Excel文件

点击下载《Java SpringBoot使用Apache POI导入导出Excel文件(源代码)》 1. Apache POI 简介 Apache POI 是一个强大的 Java 库&#xff0c;用于处理 Microsoft Office 文档&#xff0c;包括 Excel 文件&#xff08;.xls 和 .xlsx&#xff09;。在 Java Spring Boot 项目中&am…

国产与国际老牌数据库如何选择

作为一名在数据库运维一线摸爬滚打多年&#xff0c;如今已斩获数据库运维大师称号的老兵&#xff0c;深知初入行者的迷茫。如果你正站在数据库运维学习的路口&#xff0c;纠结于国产数据库还是 Oracle 等国际老牌数据库&#xff0c;别慌&#xff0c;且听我一一道来。 对于毫无基…

2025年三个月自学手册 网络安全(黑客技术)

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“…

只谈C++11新特性 - 内联命名空间

内联命名空间 背景 假设我们需要为一个库添加版本支持,C++98/03 通常通过命名空间来区分版本: namespace LibraryV1 {void printVersion() {std::cout << "Library Version 1" << std::endl;} }namespace LibraryV2 {void printVersion() {std::cou…

指代消解:自然语言处理中的核心任务与技术进展

目录 前言1. 指代消解的基本概念与分类1.1 回指与共指 2. 指代消解的技术方法2.1 端到端指代消解2.2 高阶推理模型2.3 基于BERT的模型 3. 事件共指消解&#xff1a;跨文档的挑战与进展3.1 联合模型3.2 语义嵌入模型&#xff08;EPASE&#xff09; 4. 应用场景与前景展望4.1 关键…

第431场周赛:最长乘积等价子数组、计算字符串的镜像分数、收集连续 K 个袋子可以获得的最多硬币数量、不重叠区间的最大得分

Q1、最长乘积等价子数组 1、题目描述 给你一个由 正整数 组成的数组 nums。 如果一个数组 arr 满足 prod(arr) lcm(arr) * gcd(arr)&#xff0c;则称其为 乘积等价数组 &#xff0c;其中&#xff1a; prod(arr) 表示 arr 中所有元素的乘积。gcd(arr) 表示 arr 中所有元素的…

基于海思soc的智能产品开发(camera sensor的两种接口)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于嵌入式开发设备来说&#xff0c;除了图像显示&#xff0c;图像输入也是很重要的一部分。说到图像输入&#xff0c;就不得不提到camera。目前ca…