samba服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了samba服务相关的知识,希望对你有一定的参考价值。

1.samba简介

Samba能够实现跨平台的文件共享,并且能够实现在线编辑,1991年实现Windows与unix想通,他具有下面这些功能:

1.文件共享和打印,实现在线编辑
2.实现登陆samba用户的身份认证
3.可以进行netblos名称解析
4.外围设备共享

2.配置samba服务

1.安装之前
安装samba之前我们可以用下面的命令来查看哪些和samba相关包已经在samba安装之前就已经安装了:

rpm -qa |grep samba

结果入下:
技术分享图片
用下面的包查看一下samba-common包提供哪些东西:

rpm -ql samba-common

结果如下:
技术分享图片
我们可以看到其中有/etc/samba/smb.conf这个文件,这是samba的主配置文件,所有samba在samba安装之前就已经存在了。
2.安装samba
使用下面的命令安装samba

yum -y install samba

启动服务,使用下面的命令过滤一下139和445端口:

 ss -ntlp |egrep -w "139|445"

结果如下:
技术分享图片
可以看到samba的监听端口是445和139

3.samba用户
生成samba用户的命令是smbpasswd,但是使用smbpassword不能直接生成samba用户,而是需要参照系统用户来生成,我们可以创建一些不用来登陆的用户,然后用smbpasswd生成samba用户,命令如下:

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

生成用户时需要设置密码,如下:
技术分享图片
可以使用pdbedit -L来查看系统中的samba用户,如下:
技术分享图片
也可以使用smbpasswd smb1来重新设置密码。
4.登陆samba
因为系统中没有安装samba的客户端工具,可以使用下面的命令来安装samba的客户端工具:

yum -y install samba-client

使用下面命令登陆samba:

 smbclient -L //172.18.250.11

结果如下:
技术分享图片
因为没有指定用户,所有使用的匿名登陆,匿名登陆看到的东西很局限,我们可以使用下面的命令以samba用户的方式登陆,使用-U指定用户名%密码:

 smbclient -L //172.18.250.11 -U smb1%centos

结果如下,我们可以看到smb1把自己的家目录共享出去了:
技术分享图片
在没有修改配置文件时,samba把每个用户的家目录共享出去,但只要该用户自己可以访问。
-L的功能是列出,当我们不需要列出,而是要访问时,就不需要用-L,但需要在主机地址后接上你要访问的目录,如下:

smbclient //172.18.250.11/smb1 -U smb1%centos

结果如下(需要关闭selinux):
技术分享图片
我们也可以用windows客户端访问,win+r输入172.18.250.11就可以弹出下面的对话框,然后输入密码就可以访问了。
技术分享图片
里面的文件如下:
技术分享图片
5.配置samba的主配置文件
全局配置,写在[global]中
[global]
1.hosts allow = 172.18.250
hosts allow是指定允许访问的主机,这里只有172.18.250网段的机器才能访问
2.log file = /var/log/samba/samba.log
log file 指定samba日志存放的位置
3.log level =2
log level 指定日志达到几级别开始记录日志
4.max log size = 50
max log size指当日志容量达到50k时,开始日志轮巡
5.log file = /var/log/samba/%I.log
这个指定日志按照ip地址存放
6.15.config file =/etc/samba/smb.%U.conf
指定子配置文件的地址,以smb.用户名.conf命名
写在共享文件中的,共享名[share]
[share]
7.path = /common
共享的目录是/common
8.browseable=yes|no
用户是否可以浏览,如果设置为no不可用浏览,但是如果知道路径,可以按照路径访问。
9.read only =yes|no
是否设置为只读,如果是yes,则只可以读,不能写,设置为no,可以写
10.writeable=yes|no
如果设置为yes则登陆用户可写,no不可写
11.public=yes
匿名是否可以访问,默认是no,不可访问
12.write list = root
那些人可以写, @root那些组可以写
13.valid user = root
哪些用户可以登陆
14.force creat mode=0755
设置创建文件的权限
15.force directory mode =0777
设置创建目录的权限

以上是关于samba服务的主要内容,如果未能解决你的问题,请参考以下文章

samba服务,连接远程开发机

CentOS 7下安装samba

网络共享服务器 samba

Samba远程代码执行漏洞(CVE-2017-7494)复现

centOS7上安装samba

如何使用 C# 从 Ubuntu/Samba 读取共享文件?