运行环境

系统版本: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. 设计模式之:抽象工厂模式AbstractFactoryPattern的实现

    相比于工厂模式,抽象工厂模式的每个工厂可以创建产品系列,而不是一个产品: 抽象工厂用到的技术:接口.多态.配置文件.反射: 抽象工厂模式的设计原则: 实现客户端创建产品和使用产品的分离,客户端无须了解 ...

  2. python正则表达式替换或去除指定字符

    代码: import re regEx = "[\n""|]" # 去除字符串中的换行符.中文冒号.|,需要去除什么字符就在里面写什么字符 str= re.su ...

  3. java中线程有什么用?

    线程有什么用? 通过引入线程技术,在浏览器中你可以浏览网页的同时,播放动画和声音效果,同时在后台打印一个页面.例如老板可以同时处理工程师,秘书和清洁人员的事,这 就是多线程处理机制.Within th ...

  4. java中finally块儿是怎么工作的?有什么意义?

    10.finally块 马克-to-win:finally块儿是怎么工作的?有什么意义?finally关键字创建一个代码块.没有try,finally块儿不能单独存在.该代码块在一个try/catch ...

  5. 将项目导入eclipse中出现的jsp页面报错

    图片摘自百度经验,实在是每次都会忘了步骤,每次都得重新百度,所以索性自己总结到博客中,下次如果还记不住就直接从博客中看.原谅我实在学渣,呜呜~~~~(>_<)~~~~

  6. 微信小程序页面跳转参数传递

    可以使用标签直接传递 <navigator class="gotoDetail" target="self" url="../detail/de ...

  7. Python raise...from... 是啥?

    调试程序时看某些库的源代码,发现有如下代码读不懂,不理解后面这个from干什么用的. try: ... except KeyError: raise **Error('') from None try ...

  8. oracle查看impdp进度

    当数据量比较大的时候,当你导入,导出的时候,在数据库中查看运行的情况,可以利用下面的视图查看: //这里由于导表空间时出现问题,所以再次执行导入任务.但是已有任务在执行,查看执行中的任务方法. ora ...

  9. 结合手工注入编写一个SQL盲注脚本——以SQLi-Labs less16为例

    一.分析测试注入点 1.抓包,查看响应数据包 2.先随便输入一个账号密码,再测试万能密码 1") or 1=1 -- # 3.发现响应数据包的Content-Length字段值不同.错误状态 ...

  10. Java学习day27

    今天跟着做了一个模拟龟兔赛跑的程序 只有一条赛道,乌龟和兔子在同一条赛道上比赛,使用了多线程 为了实现兔子睡觉,在run方法内增加了当前奔跑者是否是兔子的判断且当前奔跑步数是否是10的整数倍的判断,如 ...