关于cifs协议和samba的应用
cifs协议(共享文件)
通用Internet文件系统(CIFS),也称为服务器消息块(SMB),是一种网络协议,其最常见的用途是共享局域网(LAN)的文件。该协议允许客户端对文件进行操作,就好像他们在
本地计算机上。如读,写,创建,删除,重命名操作都支持,唯一的区别是,该文件不是在本地计算机上,实际上是在远程服务器上
CIFS 采用C/S模式,基本网络协议:TCP/IP和IPX/SPX
C/S 的交互模式:类似与三次握手;三个交互:
(1)协议选择:双方选择合适的协议进行交互;
(2)身份验证:按选定的协议登录server,由server对client进行身份验证;
(3)资源获取:认证通过后,server和client进行交互,进行文件读写等操作。
samba的作用
samba是一款软件 ,主要功能是提供cifs协议
1.samba的安装与启用
在服务端
server(ip:102)
yum install samba samba-common samba-client -y
systemctl start smb
systemctl stop firewalld
2.samba的基本信息
端口:
[root@cifs-server ~]# ss -antlupe | grep smb
tcp LISTEN 0 50 *:445 *:* users:(("smbd",6358,33)) ino:123952 sk:ffff880034214f00 <->
tcp LISTEN 0 50 *:139 *:* users:(("smbd",6358,34)) ino:123953 sk:ffff880034215680 <->
tcp LISTEN 0 50 :::445 :::* users:(("smbd",6358,31)) ino:123950 sk:ffff880033be6800 <->
tcp LISTEN 0 50 :::139 :::* users:(("smbd",6358,32)) ino:123951 sk:ffff880033be7000 <->
3.samba的基本配置信息
主配置文件:
/etc/samba/smb.conf
workgroup = MXW ##工作组的设定
server string = HHHHHHHH ##全局共享信息
hosts allow = 172.25.254.202 ##客户端的白名单
hosts deny = 172.25.254.202 ##客户端的黑名单
测试
在客户端:
desktop(ip:202)
yum install samba-client -y
在白名单中时
smbclient -L //172.25.254.102
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Sharename Type Comment--------- ---- -------IPC$ IPC IPC Service (HHHHHHHH)
Anonymous login successful ##匿名用户访问
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Server Comment--------- -------Workgroup Master--------- -------
在黑名单中时
[root@localhost ~]# smbclient -L //172.25.254.102
Enter root's password:
Connection to 172.25.254.102 failed (Error NT_STATUS_CONNECTION_REFUSED)
4.本地用户的建立及访问
本地用户建立
在服务端
samba用户必须是本地用户
useradd westos
useradd mxw
[root@cifs-server ~] smbpasswd -a mxw ##添加samba用户
New SMB password:
Retype new SMB password:
Added user mxw.
[root@cifs-server ~] pdbedit -L ##列出samba用户
westos:1001:
mxw:1002:
pdbedit -x westos ##删除用户
vim /etc/samba/smb.conf
20#Security-Enhanced Linux (SELinux) Notes:
25#setsebool -P samba_enable_home_dirs on
setsebool -P samba_enable_home_dirs on ##解除SELINUX连接的限制()
测试
在客户端
smbclient -L //172.25.254.102 -U mxw ##用mxw用户身份连接到服务器端
Enter mxw's password: ##不输密码是匿名访问
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Sharename Type Comment--------- ---- -------IPC$ IPC IPC Service (HHHHHHHH)mxw Disk Home Directories
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Server Comment--------- -------Workgroup Master--------- -------
smbclient //172.25.254.102/mxw -U mxw
Enter mxw's password: ##输入密码
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ? ##显示这个环境下的命令
smb: \> ls. D 0 Sun Feb 25 21:54:17 2018.. D 0 Sun Feb 25 21:54:17 2018.bash_logout H 18 Wed Jan 29 07:45:18 2014.bash_profile H 193 Wed Jan 29 07:45:18 2014.bashrc H 231 Wed Jan 29 07:45:18 2014.mozilla DH 0 Thu Jul 10 18:29:32 2014.config DH 0 Thu Jul 10 19:06:52 2014[root@localhost ~]# mount //172.25.254.102/mxw /mnt/ -o username=mxw,password=mxw
umount /mnt
vim /etc/fstab ##永久挂载
//172.25.254.102/mxw /mnt/ cifs defaults,username=mxw,password=mxw 0 0
mount -a//172.25.254.102/mxw 10473900 3182684 7291216 31% /mnt
在客户端 :
[root@localhost ~]# cd /mnt
[root@localhost mnt]# touch file
[root@localhost mnt]# ls
file
在服务器端:
[root@cifs-server ~]# cd /home/mxw
[root@cifs-server mxw]# ls
file
5.自定义共享目录
当目录是用户建立时
在服务器端
mkdir /mxwa ##新建目录
vim /etc/samba/smb.conf ##查看配置文件的说明40 # Set SELinux labels only on files and directories you have created. Use the41 # chcon command to temporarily change a label:42 # chcon -t samba_share_t /path/to/directorysemanage fcontext -a -t samba_share_t '/mxwa(/.*)?' ##解除SELINUX的文件访问限制 (设置该目录的SELINUX标签)
[root@cifs-server ~]# restorecon -FvvR /mxwa ##重新加载SELINUX的标签
restorecon reset /mxwa context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@cifs-server ~]# ls -Zd /mxwa
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 /mxwa
systemctl restart smb.service
vim /etc/samba/smb.conf ##编辑[Mx] ##Sharename 网络共享名 comment = HHHH ##全局共享信息path = /mxwa ##共享文件的绝对路径
测试 :
客户端
[root@localhost ~]# smbclient -L //172.25.254.102 -U mxw ##用户访问
Enter mxw's password:
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Sharename Type Comment--------- ---- -------Mx Disk HHHHIPC$ IPC IPC Service (HHHHHHHH)mxw Disk Home Directories
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]Server Comment--------- -------Workgroup Master--------- -------
[root@localhost ~]# smbclient //172.25.254.102/Mx -U mxw
Enter mxw's password:
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls. D 0 Sun Feb 25 23:44:16 2018.. D 0 Sun Feb 25 23:44:16 201840913 blocks of size 262144. 28480 blocks available
在服务器端
[root@cifs-server ~]# cd /mxwa
[root@cifs-server mxwa]# touch file{1..3}
[root@cifs-server mxwa]# ls
file1 file2 file3
在客户端
[root@localhost ~]# smbclient //172.25.254.102/Mx -U mxw
Enter mxw's password:
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls. D 0 Mon Feb 26 00:04:25 2018.. D 0 Sun Feb 25 23:44:16 2018file1 N 0 Mon Feb 26 00:04:25 2018file2 N 0 Mon Feb 26 00:04:25 2018file3 N 0 Mon Feb 26 00:04:25 201840913 blocks of size 262144. 28480 blocks available
匿名用户登陆权限开放
vim /etc/samba/smb.conf
125 map to guest = bad user ##将所有非本地用户映射为guest (注意空格) (匿名用户可以用guest名称挂载)
321 [Mx]
322 comment = HHHH
323 path = /mxwa
324 guest ok = yes ##允许匿名用户登陆[root@localhost ~]# mount //172.25.254.102/Mx /mnt -o username=guest ##
当目录系统建立时: (系统的SELINUX的标签不能改动)
服务器端
vim /etc/samba/smb.conf[SYSTEMDATA]comment = HHHHpath = /mntsetsebool -P samba_export_all_ro on ##开启后,samba 的SELINUX文件的安全上下不受控制
[root@cifs-server ~]# cd /mnt
[root@cifs-server mnt]# ls
[root@cifs-server mnt]# touch file{1..5}
[root@cifs-server mnt]# ls
file1 file2 file3 file4 file5
客户端
[root@localhost ~]# smbclient //172.25.254.102/SYSTEMDATA -U mxw
Enter mxw's password:
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls. D 0 Thu Mar 13 07:51:26 2014.. D 0 Sun Feb 25 23:44:16 201840913 blocks of size 262144. 28480 blocks available
[root@localhost ~]# smbclient //172.25.254.102/SYSTEMDATA -U mxw
Enter mxw's password:
Domain=[MXW] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls. D 0 Mon Feb 26 01:52:36 2018.. D 0 Sun Feb 25 23:44:16 2018file1 N 0 Mon Feb 26 01:52:36 2018file2 N 0 Mon Feb 26 01:52:36 2018file3 N 0 Mon Feb 26 01:52:36 2018file4 N 0 Mon Feb 26 01:52:36 2018file5 N 0 Mon Feb 26 01:52:36 201840913 blocks of size 262144. 28481 blocks available
6.权限控制
[root@cifs-server ~]# getsebool -a | grep sambasamba_export_all_ro --> on
samba_export_all_rw --> off[root@cifs-server ~]# setsebool -P samba_export_all_rw on ##开启samba在客户端的写功能
vim /etc/samba/smb.conf[Mx]comment = HHHHpath = /mxwaguest ok = yeswritable = yes|no ##是否开启写权力 write list = mxw ##写权力对mxw用户开放write list = +mxw ##写权力对mxw组用户开放admin users = mxw ##设定mxw用户为当前共享的rootvalid users =mxw ##设定当前共享的有效用户browseable = no ##当前共享是否隐藏
测试:
客户端
[root@localhost ~]# cd /mnt
[root@localhost mnt]# touch ddd sss
[root@localhost mnt]# ls
ddd file sss sssss
[root@localhost ~]# mount //172.25.254.102/Mx /mnt/ -o username=mxw,password=mxw
[root@localhost ~]# mount //172.25.254.102/Mx /mnt/ -o username=westos,password=westos
mount: //172.25.254.102/Mx is write-protected, mounting read-only
mount: cannot mount //172.25.254.102/Mx read-only ##westos不是有效用户
[root@localhost mnt]# touch lpl
[root@localhost mnt]# ll
total 0
-rw-r--r-- 1 root 1002 0 Feb 26 03:49 lpl ##(admin users = mxw)
服务端
[root@cifs-server ~]# id mxw
uid=1002(mxw) gid=1002(mxw) groups=1002(mxw)
[root@cifs-server ~]# cd /home/mxw
[root@cifs-server mxw]# ls
ddd file sss sssss
7.samba的多用户挂载 ()
在客户端
yum install cifs-utils -y
[root@localhost ~]# vim /root/sambpasswd ##编辑用户名和密码信息[root@localhost ~]# chmod 600 /root/sambpasswd ##设置权限只对root用户可读写
[root@localhost ~]# mount -o credentials=/root/sambpasswd,sec=ntlmssp,multiuser //172.25.254.102/Mx /mnt
credentials=/root/sambpasswd ##挂载时的用户认证(指定到读这个文件)
sec=ntlmssp ##支持其他用户认证
multiuser ##其他用户的人认证方式
测试
[root@localhost ~]# ls /mnt
lpl
[root@localhost ~]# su - student ##切换到student
Last login: Thu May 11 20:23:54 EDT 2017 on pts/0
[student@localhost ~]$ ls /mnt
ls: cannot access /mnt: Permission denied
[student@localhost ~]$ cifscreds add -u mxw 172.25.254.102 ##对student添加用户认证
Password: ##输入mxw用户密码
[student@localhost ~]$ ls /mnt
lpl
[student@localhost mnt]$ ll
total 0
-rw-r--r-- 1 root 1002 0 Feb 26 03:49 lpl ##建立的lpl所用的用户身份是samba用户mxw
以上关于SELINUX的限制解除看配置文件的SELINUX
关于cifs协议和samba的应用相关推荐
- FTP协议和Samba服务在linux中的应用
FTP协议和Samba服务在linux中的应用 FTP服务 实验环境 匿名账户 本地账户 虚拟账户 Samba服务 Samba 服务基础 主配置文件smb.conf FTP服务 ftp的作用:用于文件 ...
- FTP协议和Samba服务在linux中的应用__GongWei1997
FTP协议和Samba服务在linux中的应用 FTP服务 实验环境 匿名账户 本地账户 虚拟账户 Samba服务 Samba 服务基础 主配置文件smb.conf FTP服务 ftp的作用:用于文件 ...
- osi七层协议和tcp/ip四层协议
(大部分内容为转载) OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议.OSI七层协议是由ISO (I ...
- Bytom BIP-32协议和BIP-44协议解读
我们知道HD(分层确定性)钱包,基于 BIP-32:多币种和多帐户钱包,基于 BIP-44:最近比原社区的钱包开发者对比原的BIP-32和BIP-44协议有疑问,所以我今天就专门整理了一下该协议的内容 ...
- 3.7 PPP协议和HDLC协议
3.7 PPP协议和HDLC协议
- CIFS NFS SMB Samba 文件共享协议 介绍
目录 1.什么是文件服务器 2. CIFS 3. NFS 4. SMB 5. Samba 1.什么是文件服务器 文件服务器具有Windows文件服务器,UNIX文件服务器,Linux文件服务器,具体取 ...
- 如何用过滤器过滤HTTP协议和非HTTP协议编码
2019独角兽企业重金招聘Python工程师标准>>> 在编写web时,最苦恼的事情就是乱码了. 一直没怎么考虑过JSP第一句话中 <%@ page language=&quo ...
- HTTP协议和web工作原理
HTTP协议和web工作原理 http://blog.csdn.net/kjfcpua/archive/2009/12/04/4932597.aspx 本章学完之后能干什么? 要把 知识点学好,那就需 ...
- RabbitMQ MQTT协议和AMQP协议
RabbitMQ MQTT协议和AMQP协议 1 序言... 1 1.1 RabbitMq结构... 1 1.2 RabbitMq消息接收... 4 1.3 Ex ...
最新文章
- 燃爆了!天猫联合天一广场搞事情,800万宁波人坐不住了
- 北大数学“黄金一代”今何在?
- access根据所属院系修改学号_五个access管理系统实用范例整合
- Linux vim取消高亮显示
- java操作poi如何更改excel中的数据
- nginx升级修复(CVE-2016-4450)
- WAF(NGINX)中502和504的区别
- 触控事件MotionEvent
- mysql 的一些操作
- Excel 曝Power Query安全漏洞
- Latex数学公式表
- 华为大数据平台使用pyhive连接hive的方法(Kerberos验证)
- JS一些常用证件信息的正则表达式
- genymotion-安卓模拟器-修改IMEI
- @Deprecated的使用
- 关于ant design pro中2个下拉列表,下列列表a的数据需要依据列表b选择的值来进行变化,无法及时获取
- oauth2 ldap sso
- Redis之sql缓存
- 电商 SPU和SKU 的区别
- 手机截图并传输到电脑工具
热门文章
- 计算机毕业设计Javavue开发一个简单音乐播放器(源码+系统+mysql数据库+lw文档)
- 东航航空货运系统(三)设计登陆界面与验证登陆
- 简单的谷歌logo设计
- ARP地址解析详细流程(一)
- 关于07版Excel的研究
- rms归一化_基于RMS分频的高可懂度语音评价方法
- Xilinx Platform Cable USB II Firmware Loader无法识别/驱动安装失败解决办法
- html正片叠底 透明度,css3正片叠底(示例代码)
- 如何做到投放效果倍增长!实现真正的DSP精准投放价值
- Selenium基础 — Selenium操作浏览器窗口滚动条