首页 > 系统相关 >linux 搭建Samba服务

linux 搭建Samba服务

时间:2024-04-05 15:05:08浏览次数:28  
标签:samba gongxiang etc Samba linux 共享 root smb 搭建

Samba简介

SAMBA是⼀个实现不同操作系统之间⽂件共享和打印机共享的⼀种SMB协议的免费软件, SMB(Server Message block)协议是window下所使⽤的⽂件共享协议,我们在linux系统或 者其类unix系统当中可以通过samba服务来实现SMB功能。

(1)在⽹络上共享⽬录,决定访问权限;

(2)在⽹络上共享打印机,决定访问权限;

(3) 加⼊⼀个windows域环境 ;

(4)通过windows域环境进⾏认证操作。这个相⽐于NFS是安 全的。NFS缺乏认证机制,在局域⽹当中没有得到更安全的保障

Samba服务是由两个进程组成,分别是nmbd和smbd

nmbd:其功能是进⾏NetBIOS名解析,并提供浏览服务显示⽹络上的共享资源列表。

smbd:其主要功能就是⽤来管理Samba服务器上的共享⽬录、打印机等,主要是针对⽹络 上的共享资源进⾏管理的服务。当要访问服务器时,要查找共享⽂件,这时我们就要依靠 smbd这个进程来管理数据传输

samba软件结构

/etc/samba/smb.conf //samba服务的主要配置⽂件

/etc/samba/lmhosts //samba服务的域名设定,主要设置IP地址对应的域名, 类似linux系统的/etc/hosts

/var/log/samba //samab服务存放⽇志⽂件

/var/lib/samba/private/{passdb.tdb,secrets.tdb} //存放samba的⽤ 户账号和密码数据库⽂档

环境

Redhat 9

基础仓库以搭建完成 参考:搭建本地YUM仓库-CSDN博客

步骤:

机器更名

[root@admin ~]# hostnamectl set-hostname samba
[root@admin ~]# bash
[root@samba ~]# 

 安装samba软件包

[root@samba ~]# yum -y install  samba
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

AppStream                                                                                        3.1 MB/s | 3.2 kB     00:00    
BaseOS                                                                                           2.7 MB/s | 2.7 kB     00:00    
依赖关系解决。
                                                                                                      省略。。。。。。。
  
已更新安装的产品。

已安装:
  libnetapi-4.17.5-102.el9.x86_64      samba-4.17.5-102.el9.x86_64                    samba-common-tools-4.17.5-102.el9.x86_64  
  samba-dcerpc-4.17.5-102.el9.x86_64   samba-ldb-ldap-modules-4.17.5-102.el9.x86_64   samba-libs-4.17.5-102.el9.x86_64          

完毕!
[root@samba ~]# 

 samba服务器最主要的配置文件其实只有一个,就是/etc/samba/samba.conf,这个配置文件可以分为两个部分,一个部分是全局参数,一部分是共享资源相关参数。

全局参数
[global]
        #与主机名相关的设置
        workgroup = zkhouse    //工作组名称
        netbios name = zkserver  //主机名称,跟hostname不是一个概念,在同一个组中,netbios name必须唯一
        serverstring = this is a test samba server //说明性文字,内容无关紧要
        #与登录文件有关的设置
        log file = /var/log/samba/log.%m  //日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname
        max log size = 50     //日志文件最大的大小为50Kb
        #与密码相关的设置
        security = share       //表示不需要密码,可设置的值为share、user和server
        passdb backend = tdbsam
        #打印机加载方式
        load printer = no //不加载打印机
        
⽤户控制:
	public = 匿名⽤户访问,需要下⾯的指令配合
	map to guest = Bad User 匿名访问
	browseable = 可浏览
	valid users = 有效⽤户
	writable = yes 可写,还要看⽬录权限
	writable list = maomao,@GROUPNAME,+GROUPNAME
	readonly = yes 只读设置
	create mask = 0744 客户机创建⽂件权限
	directory mask = 0744 客户机创建⽬录的权限
访问控制	
	max connections = 最⼤连接数⽬
	deadtime = 断掉连接时间(分钟,0为不限制)
	hosts allow = 允许主机
	hosts deny = 拒绝主机

 启动samba 创建一个共享目录添加一个文件

[root@samba ~]# systemctl  start  smb.service 
[root@samba ~]# 
[root@samba ~]# mkdir  /gongxiang
[root@samba ~]# cd /
[root@samba /]# ls
afs  bin  boot  dev  etc  gongxiang  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@samba /]# 
[root@samba /]# cd gongxiang/
[root@samba gongxiang]# ls
[root@samba gongxiang]# vim abc.txt
[root@samba gongxiang]# cat abc.txt 
isadj
[root@samba gongxiang]# 

 修改SAMBA配置文件增加参数

[root@samba gongxiang]# vim /etc/samba/smb.conf
[root@samba gongxiang]# 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.
#
# Note:
# SMB1 is disabled by default. This means clients without support for SMB2 or
# SMB3 are no longer able to connect to smbd (by default).

[global]
        workgroup = SAMBA
        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
        
[public]  //共享资源名称
		comment = test   //随意的解释
		path = /gongxiang  //实际共享的目录
		writable = yes     //是否可以写入 
		guest ok = yes      //可以让用户随意登录
		browseable = yes    //可以被所有用户浏览到资源名称
[root@samba gongxiang]# 

创建一个用户登录

[root@samba /]# useradd sm
[root@samba ~]# smbpasswd -a sm  //增加用户并赋予登录密码
New SMB password:
Retype new SMB password:
Added user sm.
[root@samba ~]# 

 关闭防火墙和selinux 重启samba服务

[root@samba gongxiang]# systemctl  restart  smb.service  
[root@samba gongxiang]# 
[root@samba gongxiang]# setenforce 0
[root@samba gongxiang]# systemctl  stop firewalld.service 
[root@samba gongxiang]# 

 回到windows进行登录测试

 弹出登录窗口输入用户名密码登录

 查看创建的abc.txt文件

 

root@samba /]# cat /gongxiang/abc.txt 
isadj
[root@samba /]# 

 创建新文件发现没有权限 回到Linux查看权限

[root@samba /]# ll
总用量 32

drwxr-xr-x.   2 root root   21  4月  5 13:14 gongxiang

修改权限

[root@samba /]# chmod a+rwx /gongxiang/
[root@samba /]# ll
drwxrwxrwx.   2 root root   21  4月  5 13:14 gongxiang

 回到windows窗口增加文件测试

删除文件

 

标签:samba,gongxiang,etc,Samba,linux,共享,root,smb,搭建
From: https://blog.csdn.net/WWNY666/article/details/137399507

相关文章

  • Linux升级openssl至openssl-1.1.1版本
    #1.安装OpenSSLyuminstallbzip2-develyuminstalllibffi-devel-yyuminstall-yzlibzlib-devopenssl-develsqlite-develbzip2-devellibffilibffi-develgccgcc-c++#cd到一个下载目录,这里为/opt,openssl压缩包会被下载到/opt目录下,可任意设置已存在的文件......
  • 在Linux中安装软件
    在Linux中安装软件rpm软件安装查询安装的格式:rpm-ivh软件名字符含义iinstall安装v显示过程h显示进度条查询已安装的格式rpm-q+名称查询是否已安装[root@localhost~]#rpm-qtreetree-1.6.0-10.el7.x86_64[root@localhost......
  • 总结一下在搭建后端系统时所需要的模块
    安全与验证模块:安全验证模块:包括身份验证、授权、访问控制等。校验模块:对输入数据进行验证,防止无效或恶意数据。数据管理与处理模块:数据库连接模块:负责与数据库建立连接并执行操作。数据转换模块:处理数据的格式转换和映射。缓存模块:存储常用数据以提高性能。基础架构模......
  • 如何搭建一个免费的源代码托管工具?
    代码是企业的核心资产,每个用软件创造价值的企业有需要有一个源代码托管平台来存储企业的核心资产,这样既能方便公司内部人员通过协作来进行软件研发,又能对所有的研发过程做到版本控制、安全审计等。市面上能做到这些的产品又不少,但是在最终选择之前必须考虑以下几个因素:是......
  • linux之shell: chmod 命令后面数字权限的详细解释
    Linux中的文件权限管理在Linux系统中,文件和目录的权限管理是保证系统安全的重要机制。通过chmod命令,用户可以更改文件或目录的访问权限。权限类型Linux系统中的权限分为三种:所有者(Owner):文件或目录的创建者。组(Group):与文件或目录关联的用户组。其他用户(Others):系统......
  • #样题7 6.OpenVPN VPN 客户端只能与 InsideCli 客户端网段通信,允许访问 StorageSrv 主
    #样题76.OpenVPNVPN客户端只能与InsideCli客户端网段通信,允许访问StorageSrv主机上的SAMBA服务,允许访问AppSrv上的dns服务;VPN客户端可使用的地址范围是:172.16.0.100-172.16.0.120/24;在OutsideCli上创建连接服务“[email protected]”。......
  • Linux基础
    1.请写出配置网卡信息的命令(2个) nmtui[root@yq~]#vi/etc/sysconfig/network-scripts/ifcfg-ens33 2./boot分区:存放系统启动文件500M~1024Mswap分区:虚拟内存分区真实内存的1-2倍,封顶8G/分区:存储系统和用户数据剩下的都给/ 3.请在虚拟机中创建一个名字为oldbo......
  • webpack 搭建 react
    前言除了用react官方脚手架搭建react项目,也可用webpack搭建。记录npmiwebpackwebpack-cli-D报错解决:右键以管理员身份打开vscode,再打开文件夹。gitadd./显示Thefilewillhaveitsoriginallineendingsinyourworkingdirectory解决:gitconfig--glo......
  • RAID 5 搭建 挂载 更换
    目录分区添加5块硬盘使用lsblk查看磁盘情况使用fdisk进行分区创建RAID5mdadm命令查看RAID5状态创建文件系统建立挂载点并进行挂载将挂载写入开机启动项测试RAID5创建测试文件a.txt和b.txt模拟磁盘坏道维护RAID5分区添加5块硬盘使用lsblk查看磁盘情况......
  • 在Linux中,什么是环境变量?如何设置和查看环境变量?
    在Linux系统中,环境变量是一种特殊的变量,它包含了系统或者用户指定的一系列键值对,这些键值对代表了与系统运行环境相关的信息,如路径、配置参数、默认选项等。环境变量对系统和运行在其上的应用程序有着至关重要的影响,它们决定了许多系统行为和应用程序的行为。环境变量的值可在整......