1. 首页
  2. 技术知识

Centos7下Samba服务器配置(实战)

Samba概述

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在X上共享文件和打印机的一种通信协议,它为X内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与X络主机分享资源,还能与全世界的电脑分享资源。

一,Samba共享服务的匿名访问

1,安装Samba服务

[root@localhost ~]# yum install samba -y ##安装Samba服务2,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

[root@localhost samba]# mv smb.conf smb.conf.bak  ##备份

[root@localhost samba]# grep -v “#” smb.conf.bak > smb.conf  ##重新创建一个配置文件(除去注释的)

[root@localhost samba]# vim smb.conf  ##修改配置文件

[global]                   ##全局

        workgroup = SAMBA

        security = user

        passdb backend = tdbsam

        printing = cups

        printcap name = cups

        load printers = yes

        cups options = raw

        map to guest = Bad User   ##添加此项,开启匿名用户访问

##大G到末行添加下面的配置信息

[myshare]                   ##添加的share文件

        path=/opt/abc            ##路径

        public=yes              ##公共访问

        browseable=yes          ##能够访问

        writable=yes             ##写权限

        create mask=0644        ##设置权限

        directory mask=07553,创建myshare路径目录,并给权限

[root@localhost samba]# mkdir /opt/abc   ##创建目录

[root@localhost samba]# chmod 777 /opt/abc  ##给全部权限

[root@localhost samba]# systemctl stop firewalld.service  ##关闭防火墙

[root@localhost samba]# setenforce 0  ##关闭增强功能

[root@localhost samba]# systemctl start smb.service  ##开启Samba服务4,利用测试机访问

利用测试机访问共享

查看共享文件夹

创建一个文件到共享文件夹中

在Linux中查看创建的文件

[root@localhost samba]# cd /opt/abc/  ##查看共享文件目录,查看到创建的文本

[root@localhost abc]# ls

111.txt

[root@localhost abc]# ls -l   ##Linux的匿名访问用户是nobody

总用量 0

-rw-r–r–. 1 nobody nobody 0 11月 5 15:51 111.txt
二,Samba共享服务的身份验证

1,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

[root@localhost samba]# vim smb.conf  ##修改配置文件

[global]

        workgroup = SAMBA

        security = user

        passdb backend = tdbsam

        printing = cups

        printcap name = cups

        load printers = yes

        cups options = raw  ##将匿名访问的一项删除

##大G到末行添加下面的配置信息

[test]

        path=/opt/test     ##共享文件目录路径

        browseable=yes   ##能够访问,将public项去除

        create mask=0644

        directory mask=0755

        valid users=zhangsan, lisi   ##允许访问的用户

        write list=zhangsan        ##允许写入的用户2,创建smb用户

[root@localhost samba]# useradd zhangsan   ##创建两个用户

[root@localhost samba]# useradd lisi

[root@localhost samba]# smbpasswd -a zhangsan  ##创建smb用户并设置密码

New SMB password:    ##设置密码

Retype new SMB password:   ##确认密码

Added user zhangsan.

[root@localhost samba]# smbpasswd -a lisi

New SMB password:

Retype new SMB password:

Added user lisi.

[root@localhost samba]# pdbedit -L  ##列出smb用户列表

zhangsan:1001:

lisi:1002:

[root@localhost samba]# cd /opt/  

[root@localhost opt]# mkdir test  ##创建共享目录

[root@localhost opt]# ls

abc rh test

[root@localhost opt]# chmod 777 test/  ##给最大权限

[root@localhost opt]# systemctl restart smb.service  ##重启Samba服务3,用测试机访问共享

为了避免错误可以先在测试上清除缓存

利用测试机访问共享

需要身份验证,输入用户名密码

创建一个文件到test共享文件夹中

在Linux中查看创建的文件

[root@localhost opt]# cd /opt/test/

[root@localhost test]# ls  ##创建成功

222.txt4,因为在配置文件中只允许zhangsan写入权限,测试lisi能否写入

用lisi访问共享

测试创建文件


三,Samba共享服务的账户名映射(账户别名登录)

1,配置映射文件和Samba配置文件

[root@localhost ~]# cd /etc/samba/

[root@localhost samba]# vim smbusers  ##创建账户映射配置文件

zhangsan = t01 t02  ##别名t01 t02 密码还是zhangsan用户的密码

[root@localhost samba]# vim smb.conf  ##配置Samba配置文件

[global]

        workgroup = SAMBA

        security = user

        passdb backend = tdbsam

        printing = cups

        printcap name = cups

        load printers = yes

        cups options = raw

        username map = /etc/samba/smbusers  ##添加别名的配置文件路径

[root@localhost samba]# systemctl restart smb.service  ##重启Samba服务2,用测试机测试别名访问使用别名登录

四,Samba共享服务的访问控制列表

1,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/  ##切换到Samba配置文件目录

[root@localhost samba]# vim smb.conf  ##修改配置文件

[test]

  path=/opt/test

  browseable=yes

  create mask=0644

  directory mask=0755

  valid users=zhangsan, lisi

  write list=zhangsan

  hosts deny=192.168.13.  ##添加拒绝192.168.13段访问test

[root@localhost samba]# systemctl restart smb.service  ##重启Samba服务2,用测试机访问test共享文件夹


五,通过Windows共享文件夹直接挂载到Linux中使用

1,利用Linux访问Windows共享的文件

[root@localhost ~]# smbclient -L //192.168.100.99/share  ##访问共享

Enter SAMBA\root’s password:                ##密码2,将共享的文件挂载到Linux中,直接访问文件

[root@localhost ~]# mkdir -p /opt/share01  ##创建挂载点

[root@localhost ~]# mount.cifs //192.168.100.99/share /opt/share01  ##将共享文件夹挂载到挂载点

Password for root@//192.168.100.99/share:

[root@localhost ~]# cd /opt/share01  ##切换到挂载点

[root@localhost share01]# ls

test.txt

[root@localhost share01]# cat test.txt  ##查看共享文件夹的文件内容

this is a test!!(Windows具体共享设置查看之前的博客,谢谢!!)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持共生网络。

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/108611.html

联系我们