RHEL7-Samba共享测试
Linux<----->windows之间共享
Samba使用2个进程
smb ip之间的通信用smb (tcp)
nmb 主机名之间的通信用nmb (netbios协议)
端口
smb tcp 139 445
nmb udp 137 138
配置文件 /etc/samba/smb.conf
安装samba
yum install samba*
firewall-cmd --permanent --add-service=samba # 添加防火墙策略
firewall-cmd --reload
systemctl restart smb #启动或重启smb服务。nmb服务可以不用启动
systemctl enable smb
netstat -anplut | grep smb #查看端口 139 445
配置samba
hosts allow = 192.168.100. EXCEPT 192.168.100.99
hosts deny = 192.168.10.0/24 192.168.1.
同时出现,allow生效
workgroup = MYGROUP windows的工作组名
server string = Samba Server Version %v
#对方看到的共享信息,出于防止泄漏版本号的安全考虑,最好改掉
log file = /var/log/samba/log.%m
#%m代表客户端ip,多个客户端连接生成多个以客户端ip结尾的日志
max log size = 50
#日志大小50K
security = user #设置共享的模式
#share 不用输入用户名/密码 (注:rhel7.4中设置为share时报错“WARNING: Ignoring invalid value 'share' for parameter 'security'”)
#user 服务器用口令文件进行验证,客户端连接需要提供用户名和口令
#server 网络中配置专门的服务器认证
#domain 使用微软的DC认证
测试环境说明:
LINUX系统:RHEL7.4 物理机系统:win10 虚拟机软件:OracleVirtualbox5.1 RHEL1 IP:192.168.100.1 作为samba主服务器 RHEL2 IP:192.168.100.2 作为客户机 |
1、实验-share模式
在RHEL1上
yum install samba*
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
systemctl restart smb
systemctl enable smb
netstat -anplut | grep smb
mkdir /share1 #创建测试目录及文件
mkdir /share2
mkdir /share3
touch /share1/111111
touch /share2/222222
touch /share3/333333
chmod o+rwx /share1 #生产中尽量采用setfacl赋权更安全
chmod o+rwx /share2
chmod o+rwx /share2
chcon -R -t samba_share_t /share1 #设置安全上下文
chcon -R -t samba_share_t /share2
chcon -R -t samba_share_t /share3
getsebool -a | grep samba
#部分samba服务需打开samba_export_all_rw和samba_enable_home_dirs
# setsebool -P samba_export_all_rw on
# setsebool -P samba_enable_home_dirs on
vim /etc/samba/smb.conf
sercurity = share #更改 [share1] #客户端连接后看到的文件夹名 comment = Public Stuff #客户端连接后看到的描述 path = /share1 #本地的真实路径 public = yes #share模式,此处必须为yes browseable = yes #客户端可见 |
在RHEL2上
yum install -y samba-client cifs-utils
smbclient -L //192.168.100.1 #查看服务器共享目录,无需输入密码
smbclient //192.168.100.1/share1 #无需输入密码即可进入
smb: \> ls
smb: \> get file1 #put上传
如需写入需要在RHEL1的配置文件上打开writable = yes,并设置共享目录/share1有o+w权限
批量下载
smb: \>prompt
smb: \>mget file*
windows客户端
设置虚拟机通过虚拟网络与真机连接
\\192.168.100.1
net use * /del清除缓存
2、实验-user模式
客户端要使用用户名、密码登录,已经在服务器存在的用户名密码/etc/passwd,客户端使用的密码可以和服务器上的/etc/shadow不同。samba自己有一个文件保存用户名密码,必须public=no
在RHEL1上
useradd -s /sbin/nologin user1
useradd -s /sbin/nologin user2
useradd -s /sbin/nologin user3
smbpasswd -a user1 #创建samba用户
smbpasswd -a user2
smbpasswd -a user3
-d 禁用samba用户disable
-e 允许samba用户enable
-x 删除samba用户delete
修改配置文件:
vim /etc/samba/smb.conf
security = user #更改 [share2] [share3] |
systemctl restart smb #重启smb服务
#优先级valid users>writable>write list
#writable=yes表示所有用户都有写的权限
#write list生效时必须writable=no
#write list和valid users可采用user1 @shichangbu +shichangbu的格式,中间用空格分开
在RHEL2上
smbclient -L //192.168.100.1
smbclient -U user1 //192.168.100.1/share1 #输入user1密码可进入
用user1登录share1-3均可写入
用user2登录share1可写入,share2可登陆不可写入,share3不可登录
windows客户端测试
设置虚拟机通过虚拟网络与真机连接
\\192.168.100.1
net use * /del清除缓存
如果搭建了samba服务,无法写入
1.检测配置文件writable write list
2.检测文件系统是否有写的权限 ugo setfacl
3.检测selinux
1.布尔值
2.上下文
4.防火墙
3、实验-单独用户配置文件
修改配置文件:vim /etc/samba/smb.conf
[Golble]
config file = /etc/samba/smb.conf.%U #增加,%U代表用户名,以后有对应配置文件的用户将直接跳转读取自己的配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.user3
vim /etc/samba/smb.conf.user3
删除config file = /etc/samba/smb.conf.%U
[share3] comment = samba-share3 path = /share3 public = no browseable = yes writable = yes |
systemctl restart smb
在RHEL2上
smbclient -L //192.168.100.1 #不输入密码可查看到所有共享资源
smbclient -L //192.168.100.1 -U user3 #输入user3的密码只可以看到自己的资源
smbclient -U user3 //192.168.100.1/share3
#之前user3对share3不可登录,现在可登陆可写入,由于自己的配置文件中没有share1和share2,所以user3不能登录share1和share2
4、实验-普通挂载
在RHEL2上
mount -t cifs -o username=user1,password=user1 //192.168.100.1/share1/ /mnt/share1/ |
#-t cifs可省略,系统会自动识别
ll /mnt/share1/
umount /mnt/share1/
mount -o username=user1 //192.168.100.1/share1/ /mnt/share1/ #输入密码可挂载
vim /etc/fstab
//192.168.100.1/share1 /mnt/share1 cifs credentials=/etc/filename 0 0
vim /etc/filename
user=user1
pass=user1
或者:
//192.168.100.1/share1 /mnt/share1 cifs username=user1%user1 0 0
或者
//192.168.100.1/share1 /mnt/share1 cifs username=user1,password=user1 0 0
#普通挂载su到其他用户可以直接使用挂载资源
5、实验-multiuser方式挂载一个用户
在RHEL1上
pdbedit -L #查看哪些用户可以挂载
rm -f /etc/samba/smb.conf.user3
vim /etc/samba/smb.conf.user3
删除config file = /etc/samba/smb.conf.%U
[share1] comment = samba-share1 path = /share1 public = no browseable = yes writable = no write list = user1 valid users = user1 user2 |
systemctl restart smb
在RHEL2上
useradd user1 #本地必须有和服务器对应的用户
useradd user2
useradd user3
在root用户下执行挂载
mount -o multiuser,user=user1,sec=ntlmssp //192.168.0.1/share1 /mnt/share1
#输入密码可挂载,也加入password=user1直接挂载
su - user1
ll /mnt/share1 #无权限
cifscreds add 192.168.100.1 #输入RHEL1上user1的密码,从samba服务器获取认证
ll /mnt/share1 #获得RHEL1上user1的权限,可登陆,可写入
su - user2
ll /mnt/share1 #无权限
cifscreds add 192.168.100.1 #输入RHEL1上user2的密码,从samba服务器获取认证
ll /mnt/share1 #获得RHEL1上user2的权限,可登陆,不可写入
su - user3
ll /mnt/share1 #无权限
cifscreds add 192.168.100.1 #输入RHEL1上user3的密码,从samba服务器获取认证
或者cifscreds update //192.168.100.1 #更新认证
ll /mnt/share1 #获得RHEL1上user3的权限,不可登陆
在root用户下cifscreds clearall可清除获得的认证,su到其他用户需重新获取认证
多用户各自有配置文件的情况,可以建立用户文件,一次挂载多个用户,
vim /sambauser.txt
username=user1
password=user1
username=user2
password=user2
mount -o multiuser,credentials=/sambauser.txt,sec=ntlmssp //192.168.100.1/share1 /mnt/share1
fstab自动挂载
//192.168.100.1/share1 /mnt/share1 cifs defaults,multiuser,credentials=/sambauser.txt,sec=ntlmssp 0 0 |
mount -a
smb客户端的multiuser挂载技术
--管理员只需要作一次挂载
--客户端在访问挂载点时,若需要不同权限,可临时切换新的共享用户【无需重新挂载】
实现方式
--挂载smb共享时启用multiuser支持
--使用cifscreds临时切换身份
挂载参数调整
mount.cifs的挂载参数
--multiuser, 对客户端多个用户身份的区分支持
--sec=ntlmssp,NT局域网管理安全支持
RHEL7-Samba共享测试的更多相关文章
- Centos下samba共享打印机
先说需求,公司有一台型号为HP LaserJet m1120 mfp的打印机,由于不是网络打印机使用起来十分不便,公司老大要求将这台打印机连在公司的内网linux服务器上(CentOS),然后配置sa ...
- 如何在Fedora或CentOS上使用Samba共享
如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了.在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明.如果您工作的环境中既有微软的Window ...
- Linux下安装部署Samba共享盘的操作手册
简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...
- Linux:SAMBA共享、NFS共享、Autofs自动挂载
SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...
- 九.配置SMB共享(Samba共享)
• Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139).CIFS(TCP 445) • 所需软件包:samba • 系统服务:smb 管理共享账号 ...
- linux之SAMBA共享目录服务端架设
samba 共享目录 1.SAMBA服务概述 协议 监听端口137 架构 samba:Linux系统的一种文件共享程序服务 通常在主机文件共享的应用场景中,由于文件系统的差异化,Windows和L ...
- windows怎么访问linux的samba共享目录
windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...
- Centos7 Samba共享服务搭建
Centos7 Samba共享服务搭建 1.安装启动和端口 ---------------------------------------------------------------------- ...
- 配置samba共享,实现/www目录共享
一.samba服务器 1.安装samba包 # yum -y install samba 2.创建用户组 # groupadd -r admins # useradd -s /sbin/nologin ...
- samba共享修改匿名用户为非nobody
samba共享修改匿名用户为非nobody 1)linux的samba用户,如果开启匿名用户登陆共享权限,security 设置为 share ,配置如下:[root@centos69:~]$grep ...
随机推荐
- 使用PHP生成二维码图像
1.PHP生成二维码图像的类QRcode http://www.phper.org.cn/?post=128 QRcode是用于生成二维条形码的开放源码 (LGPL) 库.提供 API 创建条码图像. ...
- InnoDB Record, Gap, and Next-Key Locks
InnoDB has several types of record-level locks including record locks, gap locks, and next-key locks ...
- RocketMQ logback使用实践
logback_broker.xml <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed ...
- poj Dropping tests 01分数规划---Dinkelbach算法
果然比二分要快将近一倍.63MS.二分94MS. #include <iostream> #include <algorithm> #include <cstdio> ...
- 2.2 dubbo-spi源码解析
package com.alibaba.dubbo.demo.test; import com.alibaba.dubbo.common.extension.ExtensionLoader; impo ...
- [leetcode]Distinct Subsequences @ Python
原题地址:https://oj.leetcode.com/problems/distinct-subsequences/ 题意: Given a string S and a string T, co ...
- leetcode关于数组的问题
关于数组的几道面试题 [Leetcode] 628. 三个数的最大乘积 解题思路: 这个一开始我是没想到思路的(除了遍历),因为有正负号的问题,后来看了一下别人的思路然后自己写的,思路是这样的: 三个 ...
- javascript对象constructor属性
概述 返回一个指向创建了该对象原型的函数引用.需要注意的是,该属性的值是那个函数本身,而不是一个包含函数名称的字符串.对于原始值(如1,true 或 "test"),该属性为只读. ...
- 转:RNN(Recurrent Neural Networks)
RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...
- Tushare数据的绘图操作
1.在代码里调试学习实在费劲,可以把数据取到df里,在交互界面里慢慢调试 2.柱状图 绘制柱状图,默认情况下乱,数据太密了 改用曲线图