运行环境

系统版本:CentOS Linux release 7.3.1611

软件版本:Samba-4.6.2

硬件要求:无

安装过程

1、基础网络配置

配置一个静态IP,关闭防火墙、SeLinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

2、安装YUM源,由EPEL提供

[root@localhost ~]# rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

3、安装Samba

[root@localhost ~]# yum -y install samba

4、编辑配置文件

[root@localhost ~]# vi /etc/samba/smb.conf
#=全局配置=#
[global]
workgroup = SAMBA
#设置工作组或域名
netbios name = sambaserver
#设置一个NetBios名
security = user
#设置安全模式。Samba有三种安全模式用于用户身份验证:
# user :用户名/密码认证方式,需要本地创建一个用户名和密码
# share :匿名访问方式,不需要验证身份
# server:代理认证方式,使用其他Windows NT或Samba服务器来验证身份
# domain:域用户/密码认证方式,使用域控制器(PDC)来验证身份
passdb backend = tdbsam
#设置User模式下用户名和密码存储的方式:保持默认就好
#smbpasswd :使用“.sambpasswd”文件存储用户名和密码,默认在“/etc/samba”目录下创建
#tdbsam :使用“.tdb”文件存储用户名和密码,默认在“/etc/samba”目录下创建
#ldapsam :使用基于LDAP目录服务的方式进行身份认证,前提是需要建立LDAP服务,需要指定LDAP服务器的地址“passdb backend = ldapsam:ldap://LDAP server”
#printing = cups
#printcap name = cups
#load printers = yes
#cups options = raw
#共享打印机相关配置,我们可以注释他们
log file = /var/log/samba/samba.log
#设置日志文件路径
max log size = 50
#设置日志文件大小,单位为KB。当日志文件积累到指定大小时,会自动分割日志
max connections = 0
#设置最大客户端连接数,0表示不限制
hosts allow = 192.168.1.0/24
#访问控制,设置只允许哪些主机访问,可以是地址也可以是一个网段
username map = /etc/samba/smbusers
#开启Samba别名映射功能,可以把一个用户映射成一个别名,隐藏真实用户身份,增加安全性。只需要在这个文件中增加内容即可,书写格式:用户 = 别名
map to guest = bad user
#将所有Samba不能正确识别的用户都映射成“guset”来宾用户
guest account = nobody
#给来宾用户设置一个名字 #=创建一个共享=#
[guest]
#共享名
comment = guest
#描述信息
path = /home/guest
#共享目录位置
read only = yes
#设置为只读
guest ok = yes
#允许来宾用户访问 #=创建一个共享=#
[share]
#共享名
comment = share
#描述信息
path = /data-share
#共享目录
writable = yes
#是否允许被局域网内其他用户浏览到共享,是
read only = no
#用户对目录是否拥有只读权限。否
writable = yes
#用户对目录是否拥有可写权限。是
public = no
#是否允许所有人访问,否
valid users = tom
#那哪些人能够访问那,只允许用户“tom”访问,如果是一个用户组的话则“@tom”
write list = tom
#那哪些人能够对共享目录具有写入权限那,只允许用户“tom”写入,如果是一个用户组的话则“@tom”
create mask = 0755
#用户在上传文件到共享目录的文件权限。0777表示可读可写可执行

5、创建一个共享用户,创建共享用户的前提是该用户是系统用户

[root@localhost ~]# useradd -M -s /sbin/nologin tom    => 创建系统用户“tom”。“-M”表示不创建家目录。“-s /sbin/nologin”表示该用户不用于系统登录。
[root@localhost ~]# pdbedit -a -u tom => 创建共享用户“tom”
[root@localhost ~]# pdbedit -L => 查看所有共享用户
[root@localhost ~]# pdbedit -x tom => 删除一个共享用户

6、创建共享目录,并授权

[root@localhost ~]# mkdir /data-share
[root@localhost ~]# chown -R tom.tom /data-share
[root@localhost ~]# ll / |grep data-share
drwxr-xr-x. 2 tom tom 6 Mar 15 05:38 data-share

7、开启服务

[root@localhost ~]# systemctl start smb
[root@localhost ~]# systemctl start nmb
[root@localhost ~]# netstat -lnupt |grep :445
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 39363/smbd
[root@localhost ~]# netstat -lnupt |grep :137
udp 0 0 172.17.255.255:137 0.0.0.0:* 39379/nmbd

8、使用“testparm -v -s”可以查看Samba的所有配置

[root@localhost ~]#  testparm -v -s

9、使用Samba客户端访问共享目录,可能需要安装Samba-Client

[root@localhost ~]# yum -y install samba-client                                   => 安装Samba客户端
[root@localhost ~]# smbclient -U tom //192.168.1.177/share => 使用IP地址访问共享,后面接的是共享名哦,不是共享目录。
[root@localhost ~]# smbclient -U tom //sambaserver/share => 使用Netbios名访问共享
[root@localhost ~]# mount -o username=tom,password=tom //192.168.1.177/share /mnt => 将共享目录挂载到本地

安装Samba到CentOS(YUM)的更多相关文章

  1. Ejabberd2:安装和操作指南(centos yum 安装ejabberd)

    (1)首先安装EPEL Repository     ## RHEL/CentOS 6 32-Bit ##  # wget http://download.fedoraproject.org/pub/ ...

  2. [转载]centos下yum安装samba及配置

    centos下yum安装samba及配置 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Wind ...

  3. Centos 5.5下安装samba

    1.安装: Centos 5.5下安装samba,具体步骤如下: [root@bogon ~]# rpm -q samba Package samba is not installed [root@b ...

  4. Samba在CentOS下的图形化界面的安装

    第一步:构建yum仓库(在此用的是北交大的yum仓库) 打开目录/etc/yum.repos.d下的CentOS-Base.repo文件,此处是我自己建的yum仓库,修改里面的链接地址为北交大的镜像的 ...

  5. CentOS 6.3 安装 samba 共享(转)

    PHP环境在linux下,但是开发的时候用的是windows,于是我用了samba将linux的一个目录共享,然后在windows上做映射,这样就可以直接在windows下编辑linux上的文件了 首 ...

  6. Centos安装Samba共享服务器

    安装Samba 查看Samba是否已安装 1.# rpm -qa | grep samba

  7. centos yum 安装 mongodb 以及php扩展

    centos yum 安装 mongodb 以及php扩展 投稿:hebedich 字体:[增加 减小] 类型:转载 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用 ...

  8. yum-config-manager YUM安装遭遇: [Errno 256] No more mirrors to try CentOS yum之$releasever和$basearch

    YUM安装遭遇: [Errno 256] No more mirrors to try createrepo 有问题. CentOS yum之$releasever和$basearch分类: 操作系统 ...

  9. redhat centos yum源的安装

    redhat centos yum源的安装 1.除旧 #cd /etc/yum.repos.d #mv rhel-debuginfo.repo rhel-debuginfo.repo.bak 此处将其 ...

随机推荐

  1. “一键”生成HTML——Emmet插件常用语法

    Emmet是一款文本编辑器/IDE的插件,用来快速生成复杂的HTML代码,只要掌握一些常用的语法(类似于CSS选择器),就可以减少重复编码的工作(主要是懒).我个人惯用的是sublime,因此下文介绍 ...

  2. 基于react的audio组件

    样式请自己定义哦~需要其他功能请自行添加! // 组件调用 <Audio src={src地址} id={srcID}/> audio属性 src 歌曲的路径 preload 是否在页面加 ...

  3. 我的python学习记_02

    流程控制 算术运算符: + 加(在字符串中拼接作用) - 减 * 乘 / 除 // 商 % 取余 ** 次幂 比较运算符: > 是否大于 >= 是否大于等于 < 是否小于 != 是否 ...

  4. Android M 版本以后的特殊权限问题分析

    现象 桌面悬浮框在6.0以后,会因为SYSTEM_ALERT_WINDOW权限的问题,无法在最上层显示. 问题原因 SYSTEM_ALERT_WINDOW,设置悬浮窗,进行一些黑科技 WRITE_SE ...

  5. 使用Object.Defineproperties改变对象数据结构

    此方法设置键的时候如果需要使键为变量则需要加中括号[]  如下 let addKeys = Number(keys[keys.length - 1]) + 1 Object.assign(this.t ...

  6. ABP源码分析 - 约定注册(3)

    入口 //ConfigureServices foreach (var module in Modules) { if (module.Instance is AbpModule abpModule) ...

  7. Django高级之-缓存

    一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消 ...

  8. Docker的简介

    前言 Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. 何为Docker? ...

  9. JDBC 4.0 开始Java操作数据库不用再使用 Class.forName加载驱动类了

    JDBC 4.0 开始Java操作数据库不用再使用 Class.forName加载驱动类了 代码示例 转自 https://docs.oracle.com/javase/tutorial/jdbc/o ...

  10. 10. MySQL基础-02条件查询、排序查询

    2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...