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

Samba概述

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

一,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=0755

3,创建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.txt

4,因为在配置文件中只允许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具体共享设置查看之前的博客,谢谢!!)

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

(0)

相关推荐

  • 浅析Centos7搭建samba服务器方法

    samba服务器类似于windows上的文件共享,通过//ip地址访问文件 配置ip地址 (教程:http://www.jb51.net/article/135269.htm) 实现内网互通,互ping ip地址 安装samba服务器 yum install -y samba 注意:这条命令是centos的,Redhat的安装samba服务器在下面 创建文件管理用户 useradd vina 设置vina为Samba的登录用户 pdbedit -a -u vina //此步骤需要输入密码 查看已

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

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

  • centos下samba文件夹共享服务器配置详解

    1. 前言   最近发现在centos下开发有诸多不便,windows/mac的代码改的必须选同步到centos的文件夹下,然后才能编译.导致工作效率低,不少时间都消耗在window/mac和centos系统的代码同步上.于是就想在把centos中的文件夹共享到windows/mac上,这样便可以直接在window/mac上修改centos下的代码能够快速提高效率.samba服务器能很好的解决这个问题,它能够让windows和mac用户访问局域网的共享文件夹一样访问centos下的文件夹. 2.

  • centos7下搭建DNS服务器介绍

    目录 一:项目环境: 二:dns服务器配置 i:配置正向解析:  ii :配置反向解析 三:配置主从服务器: 一:项目环境: 主机 角色 IP地址 功能 dns.kevin.com DNS服务器 192.168.100.10 提供域名解析 win.kevin.com DNS客户端 192.168.100.20 测试域名解析是否正常 www.kevin.com WEB服务器 192.168.100.30 站点服务器 blog.kevin.com FTP服务器 192.168.100.40 博客服务

  • CentOS7下 yum方式安装Nginx的实现步骤

    CentOS7下 yum方式安装Nginx的实现步骤 Nginx 是一个很强大的高性能Web和反向代理服务器,它具有众多非常优越的特性.诸如低开销,高并发,支持缓存,支持正反向代理,支持负载均衡,支持正则,支持rewrite等等不一而足.所以众多粉丝们也是不计其数.本文基于CentOS 7简要描述yum方式的安装部署,供大家参考. 如果是编译安装可以参考:Linux 6下安装编译安装Nginx 有关Nginx的常用配置可参考:Nginx 概述及日常管理 一.配置nginx yum源 演示环境 [

  • CentOS7 下安装telnet服务的实现方法

    CentOS7 下安装telnet服务的实现方法 今天搞了下 Centos 7 下面升级 openssl 和 openssh ,顺便装了下 telnet # 安装 telnet 避免 ssh 无法登录 yum -y install xinetd telnet telnet-server  # 允许 root 账号登陆 vi /etc/securetty # 末尾添加两行 pts/0 pts/1 # 添加防火墙端口 vi /etc/sysconfig/iptables -A INPUT -p tc

  • Centos7下安装Docker Engine

    一.先决条件 首选需要一个64位操作系统和3.10或者更版本的内核. 查看当前内核版本: $ uname -r 3.10.0-229.el7.x86_64 二.yum安装Docker Engine 安装Docker Engine有两种方式,我们先选择yum安装,并且Docker官方提供了yum源. 1.使用普通用户sudo或者root登录到你的服务器,更新yum,确保你的软件都是最新的 $ sudo yum update 2.添加Docker的yum源 $ sudo tee /etc/yum.r

  • Centos7下使用yum安装mysql数据库的详细教程(增强版)

    在之前给大家分享过这篇文章:CentOS 7.0下使用yum安装mysql的方法详解,小编觉得不够详细,今天给大家通过本文给大家做个补充,感兴趣的朋友可以参考下. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-re

  • Centos7 下Mysql5.7.19安装教程详解

    1.下载 从官网下载mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz,版本为5.7.19 下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gzLinux 2.创建mysql用户组及用户 l  创建mysql用户组 #groupadd mysql l  在mysql用户组下创建mysql用户 #useradd mysql -g

  • Docker在CentOS7下不能下载镜像timeout的解决办法(图解)

    今天小编给大家记录下Docker在CentOS7下不能下载镜像timeout的问题,先给大家说下问题的来龙去脉. 问题描述: 昨天买了六个月阿里云服务器的学生机用来部署毕设环境,在鼓捣docker的时候出现问题,docker安装成功并且已经成功启动,如图 但在pull镜像的时候却出现超时无法下载镜像的问题,估计是国内docker官方镜像被墙了,网上找了好久发现要使用国内镜像加速,推荐的有Daocloud和阿里云,我使用的是Daocloud镜像加速,注册了账号之后上方会有一个镜像加速的超链接 点进

  • 在centos7下安装和部署java8和mysql

    一般学习java和部署项目都是在本地部署,但是生产环境一般都是在linux环境下,部署和安装环境都是在控制台下进行操作的,没有windows的可视化的操作界面,对与linux的命令掌握和操作对小白来说都是一个个挑战,记录下自己的安装配置过程,以便自己和大家一起学习: 登陆远程服务器,个人使用所以用的是root,输入自己的密码 ssh -i ~/.ssh/id_rsa root@ip 安装java8 我的服务器是有yum的,所以绝大部分的东西,用的上yum来安装的,类似mac os上面的homeb

随机推荐