一,samba的基本概念

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统。可以基于特定的用户访问,功能比NFS更强大。

  • smbd139 提供共享访问
  • nmbd445 提供基于域名的访问

二,samba服务搭建步骤

前提条件:

1、确认server和client分别是哪两台主机:

server : rhel7.3

client : windows10

2、实现两台主机的网络互联:

server: 192.168.100.10

ping 192.168.100.1(vmnet ip)

3、确认yum是否可用

[root@server ~]# yum clean all
[root@server ~]# yum repolist
先确认系统镜像是否连入虚拟机光驱(cd/dvd)
[root@server ~]#mount /dev/cdrom /media/

下载samba服务

[root@server ~]# yum -y install samba*

顺便创建一个标记文件用于实验的访问,并修改权限此标记文件也可为自己需要访问的文件

[root@server ~]# mkdir -p /opt/samba
[root@server samba]# touch flag
[root@server samba]# chmod -R o+w /opt/samba

查看Samba配置目录

smb.conf -> Samba的主配置文件
smb.conf.example -> Samba的示例文件
[root@server samba]# cd /etc/samba/
[root@server samba]# ls
lmhosts smb.conf smb.conf.example

进行selinux设置,参数于示例文件内

[root@server samba]#setsebool -P samba_domain_controller on
[root@server samba]#setsebool -P samba_enable_home_dirs on
[root@server samba]#chcon -t samba_share_t /opt/samba/
[root@server samba]#setsebool -P samba_export_all_rw on

编辑Samba的主配置文件

[root@server opt]# vim /etc/samba/smb.conf
加入:
[common]
comment =common directories #对共享目录的注释、说明信息
path = /opt/samba #Samba的共享目录
interfaces = 192.168.100.10/24 #提供服务的主机地址
hosts allow = 192.168.100. #允许访问的主机或者网段
browseable = yes #该共享目录对客户机是否可见
valid users = luna,tom,jeccy #可访问的用户名
write list = luna #是否具有可写权限
smb.conf文件的配置内容的含义:
[global]:全局设置
[homes]:用户目录共享设置
[printers]:打印机共享设置
[common]:自定义名称的共享目录设置 workgroup:所在工作组名称
security:安全级别,可用值为:share、user、server、domain
passwd backend:设置共享账户文件的类型 注意:Samba服务设置的读取、写入权限,优先级要低于文件系统中设置的权限

检测Samba配置文件格式是否正确

[root@server ~]# testparm

创建Samba用户(前提:必须是系统存在的用户)

[root@server ~]# useradd luna	#先创建系统用户
[root@server ~]#useradd tom
[root@server ~]# useradd jeccy
[root@server ~]#passwd luna
[root@server ~]#passwd tom
[root@server ~]#passwd jeccy
[root@server ~]#smbpasswd -a luna #再创建为Samba用户
[root@server ~]#smbpasswd -a tom
[root@server ~]#smbpasswd -a jeccy
[root@server ~]#pdbedit -L #查看所有samba用户

启动samba服务并设置为开机自启

[root@server ~]#systemctl restart smb
[root@server ~]#systemctl restart nmb
[root@server ~]#systemctl enable smb
[root@server ~]#systemctl enable nmb

查看端口

[root@server ~]#netstat -pant

关于防火墙

如果要进行samba服务访问,则需要关闭防火墙才可进行访问;
命令为: systemctl stop firewalld (关闭防火墙并不安全)
查看防火墙状态命令为: systemctl status firewalld
打开防火墙命令为: systemctl start firewalld
如果不想关闭防火墙服务,可使用firewall-cmd命令添加规则放行服务,

查看链接(https://www.cnblogs.com/zhengyan6/p/15602877.html) 关于firewall-cmd的使用

三,Client端配置步骤:

Windows作client:

CIFS特点:windows会自动记录上次访问的用户,所以第一次访问的用户,下一次仍旧默认使用该用户访问。

解决用户切换的方法:

进入cmd,输入net use * /del命令,等待若干分钟后,即可切换其他用户登录Samba服务器。

Linux作client:

(1)单用户访问:

方法一:使用Samba的Linux客户端软件访问

[root@client ~]yum -y install samba-client
[root@client ~]smbclient -U tom //192.168.100.10/common

[root@client ~]smbclient //192.168.100.10/common -U barnet%密码
smb: \> mkdir abc #测试tom写权限
smb: \> ls
smb: \>

方法二:使用挂载方式访问

[root@client ~]mount -t cifs -o username=tom,password=000000 //192.168.100.10/common /mnt
#-t格式:以cifs格式挂载(Samba默认的文件系统类型),-o选项:samba用户名和密码
[root@client ~]cd /mnt
[root@client mnt]ls
[root@client mnt]touch abc #测试tom写权限
touch: cannot touch ‘abc’: Permission denied

(2)多用户访问

[root@client ~]yum -y install samba-client cifs-utils
[root@client ~]mkdir -p /mnt/multi
[root@client ~]vim /etc/fstab
于末行添加://192.168.100.10/common /mnt/multi cifs username=tom,password=000000,multiuser,sec=ntlmssp 0 0
[root@client ~]mount -a #先使用tom获取common的读权限,注意:如果这步做掉了,后面的luna就获取不到common内容
[root@client ~]cd /mnt/multi
[root@client multi]ls
[root@client multi]touch abc #测试tom写权限
touch: cannot touch ‘abc’: Permission denied
[root@client ~]su - luna(创于client的用户)
[luna@client ~]cifscreds add -u luna(server的用户) server #使用luna登录并临时获取写权限
[luna@client ~]cd /mnt/multi
[luna@client multi]touch abc
[luna@client multi]ls
abc
如果创不成看看server的共享文件权限 可能samba需要给o+w权限

Linux之Samba服务器搭建的更多相关文章

  1. 一起来学linux:SAMBA服务器搭建

    前面介绍的NFS服务器的用来linux和linux系统之间共享文件和目录的,那如果是linux和windows之间需要共享修改文件该如何操作呢.这据需要用到SAMBA系统.我们首先来看下SAMBA系统 ...

  2. Linux 下 Samba 服务器搭建

    初学,分享 环境和条件--- 虚拟机:VMware虚拟机 系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:0 ...

  3. Ubuntu 16.04下Samba服务器搭建和配置(配截图)

    一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...

  4. linux安装samba服务器

    1- samba介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软 件,由服务器及客户端程序构成,SMB(Server Messages Block,信息服务块)是 ...

  5. linux下的服务器搭建集成环境

    linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...

  6. Linux下dns服务器搭建

    Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...

  7. Linux - CentOS6.5服务器搭建与初始化配置详解(下)

    传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 ...

  8. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  9. linux 中 svn 服务器搭建 重启

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

随机推荐

  1. Python调用腾讯云API,实现人脸年龄变化

    网上看到了一个教程,调用腾讯云的人脸识别api和修改年龄api来实现模拟人物不同年龄的面貌 但是大多数教程的代码都是想同的,估计是抄袭哪个人的关键是执行不了 刚好周杰伦马上要发新专辑了,小改一下,拿杰 ...

  2. 关于各种Vue UI框架中加载进度条的正确使用

    这里拿MUSE UI 中的进度条举例 <mu-circular-progress :size="40" class="icon" v-if="i ...

  3. mysql中innodb和myisam区别

    前言 InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了. 1.事务和外键 ● InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修 ...

  4. NC202492 仓库选址

    NC202492 仓库选址 题目 题目描述 牛能在某小城有了固定的需求,为了节省送货的费用,他决定在小城里建一个仓库,但是他不知道选在哪里,可以使得花费最小. 给出一个 \(m \times n\) ...

  5. 最著名的著名的比特币BTC钱包地址-中本聪的钱包

    最著名的著名的比特币BTC钱包地址-中本聪的钱包1.比特币创始人中本聪 1PTFYUG6nCzRrByoRfGT5kefUNuZjNF84o这个地址还是比特币的创世地址,比特币从未移动过,其中的50币 ...

  6. Solution -「树上杂题?」专练

    主要是记录思路,不要被刚开始错误方向带偏了 www 「CF1110F」Nearest Leaf 特殊性质:先序遍历即为 \(1 \to n\),可得出:叶子节点编号递增或可在不改变树形态的基础上调整为 ...

  7. Hippo4J v1.3.1 发布,增加 Netty 监控上报、SpringCloud Hystrix 线程池监控等特性

    文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info Hippo4J v1.3.1 正式发布,本次发布增加了 Netty 上传动态线程池监控数据.适配 Hystr ...

  8. 20220722-Java构造器

    Java构造器知识总结 来源:B站韩顺平老师Java入门教学 代码示例 class Person { int age; String name; public Person(int pAge, Str ...

  9. 模板库 ~ Template library

    TOC 建议使用 Ctrl+F 搜索 . 目录 小工具 / C++ Tricks NOI Linux 1.0 快速读入 / 快速输出 简易小工具 无序映射器 简易调试器 文件 IO 位运算 Smart ...

  10. 1000-ms-maven相关问题

    一.Maven有哪些优点和缺点 优点如下: 简化了项目依赖管理: 易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作 便于与持续集成工具(jen ...