SAMBA(下)

一、插话

   在SAMBA(上)中,走心的读者应该会发现有这么一个bug:超级用户通过smbclient中的合法身份进行目录的挂载后,其共享目录对于相应超级用户下的所有普通用户来说,都是可以访问的。当然,与之俱来的就是无穷无尽的安全隐患。所以,超级用户必须要采取一定的措施来实现控制普通用户可以操作的权利,让系统区别对待。
   在这里,小编为大家推荐一款软件:cifs-utils ,他可以实现SMB共享目录的多用户挂载  

二、SMB多用户挂载

所有的操作均是在客户端进行的:
yum install cifs-utils              ##安装可以进行SMB多用户挂载的软件

vim /root/smbpassword               ##编辑SMB用户的名单列表
username=hx
password=smbhx                      
##此处所写的用户和密码必须为合法的SMB用户的正确信息,方能够挂载成功,用户的个数不受限制            
chmod 600 /root/smbpassword         
##设置此权限的目的是为了不让其他人修改此文件的内容,从而有可能进入SMB用户共享的目录,进而进行一系列的操作     
执行可使用SMB多用户挂载的特殊的挂载方式:

mount -o credentials=/root/smbpassword,multiuser,sec=ntlmssp //172.25.254.108/CONFIG /mnt/

##credentials=/root/smbpassword             ##认证参考文件
##multiuser                                 ##多用户的方式
##sec=ntlmssp                               ##认证方式为标准smb认证

按照SMB多用户挂载模式进行挂载后,确实实现了为经过认证的普通用户是没有资格去共享SMB用户的共享目录的
这里写图片描述

添加SMB用户的认证:
cifscreds add -u hx 172.25.254.108           ##通过hx这个SMB用户D的认证

这里写图片描述

添加认证后,便可以进行相应的操作了~

### 回答1: 要使用OpenCV读取Samba共享文件夹下的文件,可以使用Python的SMB库来连接Samba服务器并读取文件。下面是一个简单的示例代码: ```python import cv2 from smb.SMBConnection import SMBConnection conn = SMBConnection('username', 'password', 'client_name', 'server_name', use_ntlm_v2=True) conn.connect('server_ip', 139) file_obj = conn.retrieveFile('share_name', '/path/to/file.jpg', None) img = cv2.imdecode(np.frombuffer(file_obj.read(), np.uint8), cv2.IMREAD_COLOR) conn.close() ``` 以上代码中,需要替换以下内容: - `username`: Samba服务器的用户名 - `password`: Samba服务器的密码 - `client_name`: 客户端的名称 - `server_name`: Samba服务器的名称 - `server_ip`: Samba服务器的IP地址 - `share_name`: 共享文件夹的名称 - `/path/to/file.jpg`: 要读取的文件路径 使用以上代码可以连接到Samba服务器并读取指定的文件。注意,需要安装Python的SMB库:`pip install pysmb`。 ### 回答2: OpenCV是一种广泛用于计算机视觉和图像处理的开源库。它提供了丰富的功能,支持从各种来源读取图像和视频,包括本地文件系统和网络协议。 要使用OpenCV读取Samba下的文件,首先需要在系统上安装和配置Samba服务器。接下来,可以按照以下步骤进行操作: 1. 导入OpenCV库和其他必要的模块: ```python import cv2 import numpy as np ``` 2. 设置Samba服务器的地址和文件路径: ```python samba_server = "smb://ip_address/share_name/" file_path = "file_name.jpg" ``` 3. 使用OpenCV的imread函数读取Samba下的文件: ```python img = cv2.imread(samba_server + file_path) ``` 4. 对读取的图像进行处理,例如显示或进行其他图像处理操作: ```python cv2.imshow("Image", img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这是一个简单的示例,演示了如何使用OpenCV库读取Samba下的文件。根据实际需要,还可以通过OpenCV库提供的其他函数和方法对图像进行更复杂的处理和操作。 需要注意的是,为了成功读取Samba下的文件,确保已正确配置Samba服务器,并具有访问权限。此外,通过文件路径指定要读取的特定文件。 ### 回答3: 要使用OpenCV读取Samba下的文件,可以按照以下步骤进行: 1. 确保已经安装并配置好Samba服务,使其能够连接到目标主机上的共享文件夹。这需要在系统中安装Samba软件包,并在配置文件中设置正确的共享文件夹路径和权限。 2. 在使用OpenCV之前,需要在代码中导入OpenCV库,可以使用import cv2命令来实现。 3. 使用OpenCV的imread函数来读取Samba下的图像文件。函数的第一个参数是文件的路径,可以是本地路径或Samba共享文件夹的路径。例如,如果文件在共享文件夹"\\server\share\folder\image.jpg"中,可以使用imread("\\server\share\folder\image.jpg")来读取文件。 4. 使用imread函数读取文件后,可以使用其他OpenCV函数对图像进行处理。例如,可以使用imshow函数显示图像,使用imwrite函数将图像保存到本地文件等。 需要注意的是,Samba共享文件夹的权限和网络连接稳定性可能会影响到文件读取的效果。确保在使用OpenCV时,能够正确访问和操作Samba共享文件夹,以保证顺利读取文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值