Samba服务器中使用的守护进程

Samba服务有两个守护进程:

  1. smbd它提供文件和打印机共享服务。

  2. nmbd提供NetBIOS到IP地址名服务。TCP/IP上的NetBIOS通过某种方法将NetBIOS计算机名映射到TCP/IP网络的IP地址。

Samba服务器端口号

  1. 137/tcp

  2. 137/udp

  3. 138/tcp

  4. 138/udp

  5. udp/139协议

  6. 139/udp

  7. 445/tcp协议

  8. 445/udp协议

Samba服务器的信息

  1. 操作系统:CentOS 7

  2. 架构:x86_64

  3. Samba版本:Samba 4.1.1(CentOS repo默认)

  4. 内核版本:3.10.0-123.el7.x86_64

  5. IP地址:192.168.1.102

  6. 网络子网:192.168.1.0/24

如何连接到Samba服务器

在Windows上

在Windows操作系统中,按WIN+R组合键打开运行窗口。
然后键入\samba服务器ip\共享目录
比如:

2.168.1.102\sharedrepo

在Linux上

安装先在系统上安装smbclient。

列出samba服务器中可用的共享文件或者目录

smbclient -L 192.168.1.102 -U test

其中:

-L用于列出共享对象。
192.168.1.102Samba服务器IP地址
test可以访问samba服务的用户名

使用smb控制台访问

smbclient //192.168.1.102/sharedrepo -U test

登录后,我们将获得smb控制台。我们可以使用get和put命令来获取/放置文件。

挂载samba共享目录

在机器上挂载samba共享目录,系统必须支持cifs文件系统

mount -t cifs //192.168.1.102/sharedrepo -o username=test /mnt/

在Ubuntu中,可以在导航栏上简单地访问samba服务器

smb://192.168.1.102/

如何在CentOS 7和RHEL 7(Red Hat Enterprise Linux 7)上安装和设置samba服务器(文件共享服务器)。

我们要共享一个sharedrepo目录,在这个目录中,我们将允许用户test和组名staff访问共享目录,并可以读写其中文件。

如何安装和配置samba服务器

使用yum命令安装samba包

  1. policycoreutils-python提供semanage命令
  2. samba-client提供smbpasswd命令
  3. cups-libs:打印机服务
  4. samba和samba-commons:samba服务器
yum install -y samba samba-commons cups-libs policycoreutils-python samba-client

创建要共享的目录

在/(主根目录)中创建一个名为sharedrepo的目录。此目录将与客户端共享。

mkdir /sharedrepo

新建用户组

指定一个用户组用于对共享目录访问的控制。
可以选择已有的用户组
这里新建一个staff组。

groupadd staff

更改共享文件夹的组和权限

chgrp -R staff /sharedrepo
chmod -R 777 /sharedrepo

更改selinux安全上下文

如果系统禁用了selinux,则忽略。

chcon -R -t samba_share_t /sharedrepo/
semanage fcontext -a -t samba_share_t /sharedrepo/
setsebool -P samba_enable_home_dirs on

创建用户,添加到用户组,设置samba密码

创建用户并将其添加到staff组中。并为该用户设置samba密码。

useradd test
usermod -G staff test
smbpasswd -a test

编辑/etc/samba/smb.conf

首先备份/etc/samba/smb.conf文件

cd /etc/samba/
cp -p smb.conf smb.conf.orig

然后进行编辑,在/etc/samba/smb.conf的最后一行中添加以下内容:

vi /etc/samba/smb.conf
[sharedrepo]
comment = shared-directory
path = /sharedrepo
public = no
valid users = test, @staff
writable = yes
browseable = yes
create mask = 0765

设置允许连接Samba服务器的网络

编辑文件 /etc/samba/smb.conf

interfaces = lo enp0s8 192.168.1.00/24
hosts allow = 127. 192.168.1.

注意:对于windows用户,如果网络中的所有PC都使用不同的工作组名称,则在smb.conf中使用工作组名称。默认情况下,Windows的工作组是WORKGROUP。请先尝试,如果需要更改工作组名称,再进行更改。

workgroup = MYGROUP

在/etc/services文件中添加服务

vi /etc/services

netbios-ns	137/tcp	# netbios name service
netbios-ns	137/udp	# netbios name service
netbios-dgm	138/tcp	# netbios datagram service
netbios-dgm	138/udp	# netbios datagram service
netbios-ssn	139/tcp	# netbios session service
netbios-ssn	139/udp	# netbios session service

启动smb和服务

systemctl start smb.service
systemctl start nmb.service

系统启动时启用smb和nmb服务

systemctl enable smb.service
systemctl enable nmb.service

添加firewalld规则,允许samba访问

在RHEL7/CentOS 7中,默认情况下会提供firewalld。
现在,我们建议我们使用firewalld而不是iptables。

这里,我们允许源网络192.168.1.0/24连接到samba服务,而在日志记录中使用samba前缀。

添加永久防火墙规则

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="samba" log prefix="samba" level="info" limit value="1/m" accept'

现在重新加载防火墙

firewall-cmd --reload

以上过程必须运行防火墙服务。要启动firewalld,请使用systemd命令,即systemctl start firewalld.service

在CentOS 7/RHEL 7上安装和设置samba服务器

Samba简介

Samba服务器广泛用于文件和打印机服务器。用于文件共享。
随着Samba版本3的到来,Samba服务器的定义发生了变化。
现在我们称之为samba是一个根据GNU通用公共许可证版本3授权的免费软件套件。
它通常用于使用SMB/CIFS的所有客户端的文件和打印服务协议。
从Samba版本3,我们可以作为主域控制器(PDC)或者域成员与Windows服务器域集成。
它也可以是Active Directory域的一部分。

项目网址:http://www.samba.org/

日期:2019-08-20 17:58:06 来源:oir作者:oir