cifs协议(基于samba服务)

article/2025/8/20 1:37:35

一、基本概念:

        CIFS是实现文件共享服务的一种文件系统,主要用于实现windows系统中的文件共享,linux系统中用的比较少linux系统中利用CIFS文件系统实现文件共享,需要安装samba服务。它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

二、CIFS 可以使您达到以下功能:

(1)访问服务器本地文件并读写这些文件
(2)与其它用户一起共享一些文件块
(3)在断线时自动恢复与网络的连接
(4)使用统一码(Unicode)文件名:文件名可以使用任何字符集,而不局限于为英语或西欧语言设计的字符集。

三、关于cifs协议:
1.CIFS是一种协议,和具体的OS关系不大,linux在安装samba后可以使用CIFS

2.CIFS采用C/S模式,基本网络协议:TCP/IP和IPX/SPX;

两种资源访问模式:

(1)share level security:所有用户的共享资源访问口令是相同的,主要在win9x中使用
(2)user level securyt:Win NT以后的OS只提供ULS,用于必须提供正确的U/P,并且每个用户权限可以是不同的。

3.C/S的交互模式:类似于三次握手;三个交互:

(1)协议选择:双方选择合适的协议进行交互;
(2)身份验证:按选定的协议登录server,由server对client进行身份验证;
(3)资源获取:认证通过后,server和client进行交互,进行文件读写等操作。

4.cifs 通过安全认证机制,极大的提高了samba的共享,使不同的用户都必须通过认证才能访问共享目录
samba的实验环境可以点击此

四、实验实操

samba的实验环境可以参考上篇samba文件共享以及用法(访问控制)[点击进入]

1.通过实验验证samba共享确实是不安全的

客户端:

[root@client ~]# mount -o username=tom,password=123 //172.25.254.117/smb  /mnt   # 以tom用户的身份挂载共享目录
[root@client ~]# df

在这里插入图片描述

[root@client ~]# cd /mnt
[root@client mnt]# ls
anaconda-ks.cfg  bashrc  hello1
[root@client mnt]# touch hello{2..4}   #超级用户建立文件成功
[root@client mnt]# ls
anaconda-ks.cfg  bashrc  hello1  hello2  hello3  hello4
[root@client mnt]# su - student   #切换为普通用户student
[student@client ~]$ cd /mnt
[student@client mnt]$ ls          #普通用户可以查看
anaconda-ks.cfg  bashrc  hello1  hello2  hello3  hello4
[student@client mnt]$ touch hello5    #普通用户建立成功
[student@client mnt]$ ls
anaconda-ks.cfg  bashrc  hello1  hello2  hello3  hello4  hello5  

        通过实验确实发现,共享目录挂载在客户端之后,客户端上的所有用户都是可以访问的,可以对共享目录进行读写操作,这显然是不合理的,事实上只有通过认证的用户才可以对共享目录进行操作,那么怎样可以实现呢?

2.客户端的安全性设置(多用户挂载)

在服务端添加用户:

[root@shareserver ~]# useradd westos   #新建用户westos
[root@shareserver ~]# pdbedit -L       #查看smb中的所有用户
student:1000:Student User
tom:1001:
[root@shareserver ~]# smbpasswd -a westos   #把本机用户westos添加到sam服务器上
New SMB password:
Retype new SMB password:
Added user westos.
[root@shareserver ~]# pdbedit -L      #添加成功
student:1000:Student User
westos:1002:
tom:1001:
[root@shareserver ~]#

在这里插入图片描述
在客户端:

[root@client ~]# umount /mnt                 # 卸载
[root@client ~]# yum install -y cifs-utils   # 安装cifs-utils
[root@client ~]# rpm -qa | grep samba        # 查看到samba客户端软件是4.2版本的
samba-client-4.1.1-31.el7.x86_64
samba-common-4.1.1-31.el7.x86_64
samba-libs-4.1.1-31.el7.x86_64

在这里插入图片描述
在这里插入图片描述

[root@client ~]# vim /root/smbpass  # 这里写的用户必须已经存在于samba服务器中
添加:
username=westos      # 指定用户为westos
password=12345       # westos用户的smb密码

在这里插入图片描述

[root@client ~]# chmod 600 /root/smbpass   # 更改权限
[root@client ~]# ls -l /root/smbpass
-rw-------. 1 root root 31 Nov 28 04:32 /root/smbpass
[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.227/smb   /mnt  # 以/root/smbpass文件里的用户作为认证来挂载
[root@client ~]# chmod 600 /root/smbpass   # 更改权限
[root@client ~]# ls -l /root/smbpass
-rw-------. 1 root root 31 Nov 28 04:32 /root/smbpass
[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.227/smb   /mnt  # 以/root/smbpass文件里的用户作为认证来挂载注解:
credentials=/root/smbpass  # 用于指定包含挂载用户信息文件,此用户一般是samba服务器
里对共享目录具有较低权限的用户(本文使用的westos用户),文件包含username,password
sec=ntlmssp   # 指定认证方式(kernel3.8之后是默认选项)
multiuser     # 关键选项,用于指定使用多用户挂载
[root@client ~]# df

在这里插入图片描述

[root@client ~]# cd /mnt
[root@client mnt]# ls
hello1  hello2  hello3
[root@client mnt]# touch file
[root@client mnt]# ls
file  hello1  hello2  hello3
[root@client mnt]# su - student  # 切换到student用户
Last login: Wed Nov 28 03:56:53 EST 2018 on pts/0
[student@client ~]$ cd /mnt
[student@client mnt]$ ls         # 发现不能查看
ls: reading directory .: Permission denied

在这里插入图片描述

    [student@client ~]$ cifscreds add -u tom 172.25.254.227 #客户端普通用户student通过samba的tom用户登陆认证,此处的认证用户任意,只要在samba服务的共享里即可Password: [student@client ~]$ ls[student@client ~]$ cd /mnt[student@client mnt]$ ls    ## 认证成功之后,可以查看file  hello1  hello2  hello3

在这里插入图片描述

永久挂载

[root@client mnt]# vim /etc/fstab        # 永久挂载
//172.25.254.227/smb /mnt cifs  defaults,credentials=/root/smbpass,sec=ntlmssp,multiuser  0 0
[root@client mnt]# reboot

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/DD3HciMI.shtml

相关文章

hdoj 1570 A C

A C(链接) Problem Description Are you excited when you see the title "AC" ? If the answer is YES , AC it ; You must learn these two combination formulas in the school . If you have forgotten it , see the picture. Now I will…

HDOJ 2005

第几天? Problem Description 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的…

杭电OJ,已重新开放!HDOJ

前几天我们介绍了网络上有很多可以练习上机考试刷题的网站,叫做OJ(Online Judge)。还提到了一些学校已经公布了复试上机的说明,可以提前练习。 已经有211大学发布计算机专业,研究生复试上机考试说明 在其中我们提到&am…

HDOJ学习笔记(一)

原创文章,版权归www.encalyk.com所有,转载请注明。 第一阶段,做了如下训练。 任务一、了解HDOJ系统(acm.hdu.edu.cn),看完F.A.Q,注册Forum账号,熟悉各栏目代表的意思。 任务二、学会…

HDOJ初体验

HDOJ的使用 1.0 什么是HDOJ HDOJ 是“杭州电子科技大学程序在线评测系统”(Hangzhou Dianzi University Online Judge)的缩写,是一个提供编程题目以及在线测评的网站,其兼容Pascal、C、C、Java、GCC、G等多种语言,并拥…

CTFhub—弱密码(web)

CTFhub—弱密码(web) 进入环境—后台登陆界面 浏览其设置代理,burpsuite开启拦截 拦截成功,右键发送给intruder(测试器) add 添加账号密码两个参数,并更改攻击方式为Cluster bomb(第四种) 给账号,密码这两个参数添加需要使用…

使用burp对Tomcat 弱密码爆破

1、环境搭建 使用 Vulhub 在服务器上搭建: cd /vulhub/tomcat/tomcat8 docker-compose up -d12 访问127.0.0.1:8080,进入到 Tomcat 默认界面: 2、漏洞复现 使用弱密码用户名:tomcat,密码:tomcat 进入到…

使用John the ripper破解弱密码

实验目的: 熟练使用John the ripper 破解弱密码 实验环境: 系统:kali CentOs7 kali用户名:kali 密码:kali CentOs7用户名1:root 密码:123456 实验步骤: 第一步&#xff1…

Nignx的修改弱密码套件

目录 1. 各协议对应的密码套件名称: 2. Nmap &Sslscan查询密码套件 3. Nignx修改弱密码套件 1. MD5、DES和CBC_SHA类型修改 2. 限制很多的特定类型密码套件 4. Windows Server系统的协议修改 1. 各协议对应的密码套件名称: 以下列表给出了相关规…

PostgresSQL弱密码导致命令执行

点击"仙网攻城狮”关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 PostgreSQL( 读作 Post-Gres-Q-L)是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。 当该服务配置不当开放到外网时可以被暴力破…

MySQL弱密码和webshell

MySQL弱密码和webshell问题文档 一、了解漏洞 1、mysql是什么 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 关系数据库管理系统(…

通用数据库弱密码检测解决方案

通过加密解密算法检验数据库用户密码是否存在弱密码问题,可适用于主流的数据库产品(Oracle,MySQL,Postgres,SQLServer,达梦8,人大金仓8),解决传统通过碰库方式检测的效率…

使用Hydra破解弱密码

实验目的: 使用kali的Hydra工具破解CtenOs7的密码;. 实验环境: 系统: CentOs7 kali CentOs7用户名1:root 密码:123456 kali用户名:kali 密码&am…

Tomcat 弱密码爆破 漏洞复现

Tomcat 弱密码爆破 漏洞复现 一、漏洞描述二、漏洞影响三、漏洞复现1、环境搭建2、漏洞复现 四、漏洞POC五、参考链接 一、漏洞描述 Tomcat有一个管理后台,其用户名和密码在Tomcat安装目录下的conf\tomcat-users.xml文件中配置,不少管理员为了方便&…

密码套件 and 弱密码套件漏洞

目录 what is 密码套件 (TLS cipher suit) potocol版本 SSL vs TLS key exchange Authentication : Cipher: MAC: 常见密码套件 什么是“弱密码套件”漏洞 what is 密码套件 (TLS cipher suit) 当一个client端browser试图去访问webapp的时候&am…

linux弱密码检测

1.安装一个john软件包用来检测弱密码 2.进入桌面可以看到 3.使用mkdir /soft 在/下创建一个soft的文件夹;然后使用mv命令:mv john-1.8.0.tar.xz /soft/ 把john包移动到soft下面: 4.在soft的文件夹下使用:tar -xf john-1.8.0.tar.xz 解压缩: 5.进入到src目录下: 6.ma…

Tomcat控制台弱密码漏洞

文章目录 一、漏洞介绍1.1 漏洞原理1.2 影响版本1.3 触发条件 二、环境搭建2.1 环境信息2.2 tomcat配置2.3 配置漏洞环境 三、攻击过程3.1 控制台弱密码3.2 冰蝎控制 四、漏洞修复 一、漏洞介绍 1.1 漏洞原理 Tomcat支持后台部署War文件,默认情况下管理页面仅允许本…

前端JS弱密码验证

前端JS弱密码验证 前言JS文件使用姿势尾巴 前言 最近在学习uniapp开发,开发过程中要对用户密码做弱密码校验,然后总结了下常用的弱密码规则和校验方式,通过封装成js文件来提供一系列验证方法,下面就直接看封装后的leak-pwd-check…

信息安全学习3. 常用的攻击手段 弱密码

信息安全学习3. 弱密码 一、概念二、Linux系统密码安全性设置1. 口令复杂度设置2. 生成复杂密码方法(1) 使用keepass开源密码管理软件(2) 使用OpenSSL命令生成随机字符串(3) 在Linux中使用pwgen(4) 使用一些在线网站生成随机密码 3. 弱密码校验破解工具John the ripper 三、一些…

在线摩尔斯密码加密解密工具

在线摩尔斯密码工具,可实现将英文字母数字等转换成摩尔斯密码以及将摩尔斯密码转换成英文与数字的功能。 工具链接:http://www.atoolbox.net/Tool.php?Id764 摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的…