samba服务

发布时间 2023-11-15 14:23:38作者: q_7

一:了解Samba服务

1:samba服务的概念

就是实现了多系统,就是windows,linux这些系统上实现了cifs/smb协议的自由软件,基于这个的出现,更容易的实现了linux和windows之间的文件共享和打印机的共享

在windows上叫cifs,在Linux上叫smb

2:samba的功能

2个核心的守护进程,nmbd,smbd

nmbd进程:NetBLOS名称服务器进程,主要就是让客户端能够通过域名解析来访问samba服务器,还有就是提供文件资源列表

smbd进程:SMB服务进程,管理samba服务器上的共享目录,打印机等,实现网络上的资源共享,监听的端口 139。445

3:samba的工作原理

等会写

 

二:熟悉Samba服务的配置文件

1:配置文件/etc/samba/smb.conf

里面分为全局设置和局部设置

全局设置就是对整个服务的配置文件起作用的设置

1)全局设置

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

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

重要的参数:

[global] 就是全局设置
workgroup =  SAMBA 就是工作组(一般不改这个配置,samba服务器加入的工作域的名称)
security = user  
设置安全的验证方式
user:就是允许系统用户访问samba服务器,需要提供用户名和密码,必须是samba账户
匿名方式:就是不需要输入账户和密码,设置为 security = user map to guest = bad user ,自动的将未知用户映射为guest用户
domain:就是windows
asa:就是windows的活动目录
passdb backend 用于存储samba用户账号的相关信息的后台类型
取值的类型:
1:smbpasswd 存储在/var/lib/samba/private/smbpasswd这个文件中。客户端通过这个用户的信息就能访问samba服务器的资源
2:tdbsam 就是存放在 passdb.tdb这个文件里面

使用smbpasswd或者pdbedit来创建samba用户的账号和密码

格式如下:
smbpasswd -a 用户名 ---添加用户名
smbpasswd -x 用户名 ---删除用户名

pdbedit -a 用户名
            -x 用户名
            -L 列出Samba的账号
             Lv 就是列出详细的信息

  

 

 

  

 

 

 

 

三:Samba服务的搭建

主要的流程:安装---

目的就是实现q7和q8这个用户能够通过linux和windows去访问samba服务器上的资源,拥有读写的权限

服务器上面的操作:

1:安装samba软件包

[root@controller samba]# yum -y install samba*

2:启动这个软件并且设置为开机自启

[root@controller samba]# systemctl start nmb && systemctl start smb
[root@controller samba]# systemctl enable nmb && systemctl enable smb
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[root@controller samba]# 

3:创建samba用户

[root@controller /]# smbpasswd -a q7
New SMB password:
Retype new SMB password:
Added user q7.
[root@controller /]# 

[root@controller /]# smbpasswd -a q8
New SMB password:
Retype new SMB password:
Added user q8.
[root@controller /]# 

    groupadd kk
    usermod -G kk q7
    usermod -G kk q8
    cat /etc/group | grep kk

#添加写的权限
[root@controller samba-share]# ll -d
drwxr-xr-x. 2 root kk 18 Nov 15 22:00 .
[root@controller samba-share]# chmod g+w ./
[root@controller samba-share]# ll -d
drwxrwxr-x. 2 root kk 18 Nov 15 22:00 .
[root@controller samba-share]# 

  

  

4:配置samba服务的配置文件

[public]
        comment = public directory
        path = /samba-share
        browseable = yes
        writable = yes
        valid users = @kk

#public 这个就是共享文件共享出去的共享名
browseable:是否允许被浏览

5:检查samba服务的配置文件的格式

[root@controller /]# 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

# Global parameters
[global]
	printcap name = cups
	security = USER
	workgroup = SAMBA
	idmap config * : backend = tdb
	cups options = raw


[homes]
	browseable = No
	comment = Home Directories
	inherit acls = Yes

6:重启nmb和smb服务

[root@controller /]# systemctl restart nmb 
[root@controller /]# systemctl restart smb
[root@controller /]# 

7:关闭selinux和防火墙

[root@controller samba-share]# systemctl stop firewalld
[root@controller samba-share]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@controller samba-share]# setenforce 0
[root@controller samba-share]# getenforce 
Permissive
[root@controller samba-share]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Nov 15 21:19:54 controller systemd[1]: Starting firewalld - dynamic firewall daemon...
Nov 15 21:19:55 controller systemd[1]: Started firewalld - dynamic firewall daemon.
Nov 15 21:19:55 controller firewalld[1054]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure co>
Nov 15 22:08:58 controller systemd[1]: Stopping firewalld - dynamic firewall daemon...
Nov 15 22:08:59 controller systemd[1]: firewalld.service: Succeeded.
Nov 15 22:08:59 controller systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@controller samba-share]# 

    

客户端上面的操作:

1:安装samb-client软件包

[root@client yum.repos.d]# yum -y install smb-client  

linux访问的操作:

1)访问共享资源的列表

[root@client yum.repos.d]# smbclient -L 192.168.20.111 -U q7
Enter SAMBA\q7's password: 

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	public          Disk      public directory
	IPC$            IPC       IPC Service (Samba 4.13.3)
	q7              Disk      Home Directories
SMB1 disabled -- no workgroup available
[root@client yum.repos.d]# 

2)登陆samba服务器

[root@client yum.repos.d]# smbclient //192.168.20.111/public -U q7
Enter SAMBA\q7's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Wed Nov 15 22:00:40 2023
  ..                                  D        0  Wed Nov 15 21:57:25 2023
  flag                                N        0  Wed Nov 15 22:00:40 2023

		16250880 blocks of size 1024. 11336596 blocks available
smb: \> mkdir 11
smb: \> ls
  .                                   D        0  Wed Nov 15 22:12:26 2023
  ..                                  D        0  Wed Nov 15 21:57:25 2023
  flag                                N        0  Wed Nov 15 22:00:40 2023
  11                                  D        0  Wed Nov 15 22:12:26 2023

		16250880 blocks of size 1024. 11336548 blocks available
smb: \> 

 

3)挂载

 

windows访问操作:

在网络上输入
\\192.168.20.111就能够访问了 

并且拥有权限去修改文件

 

四:问题

就是如果服务的配置文件名没有问题,一直看不到这个服务的相关的信息,那就是selinux没有或者防火墙这些操作没有关闭,就没有显示