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 设置创建目录的权限