当前位置:首页 > CN2资讯 > 正文内容

android 搭建srs服务器 android smb 服务器

2天前CN2资讯


1.什么是Samba

Samba是Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成 SMB (Server Message Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议 它为局域网内的不同计算机之见提供文件及打印机等资源的共享服务 SMB协议是客户及/服务器型协议,客户机通过协议可以访问服务器上的共享文件系统,打印机及其他资源 通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源

2.搭建一个Samba服务器

打开desktop和server虚拟机,把desktop当作客户端,server当作服务端,配置desktop的ip为172.25.254.115,配置server的ip为172.25.254.215,更改115名字为client.westos.com,更改215的名字为,samba.westos.com,分别配置yum源


215端

下面将把215这台虚拟机搭建samba服务器,在215上面需要安装3个安装包

yum install samba-client samba的客户端yum install samba-common samba服务用到的命令 yum isntall samba samba的主服务 yum search samba

rpm -qc samba-common查看samba的主配置文件 /etc/samba/smb.conf

rpm -qa 查看samba服务的版本

vim /etc/samba/smb.conf

可以看出Selinux会对Samba服务有一定的影响,如果Selinux开启,需要更改samba共享目录的安全上下文mkdir /westos_smb,建立一个共享目录

semanage fcontext -a -t samba_share_t '/westos_smb(/.*)?'更改安全上下文

restorecon -RvvF /westos_smb刷新使当前生效

vim /etc/samba/smb.conf


[WESTOS]为samba服务器对外共享的总名称

path = /westos_smb实际共享目录路径

重启服务

关闭防火墙

samba服务用户
建立westos用户和lee用户,并将其加入samba用户里面,并设置密码

useradd westosuseradd lee

smbpasswd -a westossmbpasswd -a lee


注意这里的用户首先必须在系统中真实存在,然后在用smbpasswd命令加入到samba服务中用pdbedit -L 来查看samba服务器的samba用户


给/westos_smb中建立5个文件

在215端
安装samba-client客户端

smbclient -L //172.25.254.215 以匿名用户对samba服务器215的共享目录进行查看,-L表示列出,没有root用户就直接回车

smbclient //172.25.254.215/WESTOS -U westos 以smb服务器中westos用户直接查看215共享的文件ls


这种方式只能查看,而想进行上传下载等操作,可以mount到本地

发现并不能删除和建立文件

3.在samba服务修改权限

加入服务端对共享目录的说明


重启服务

在客户端查看,在Comment处,有加入的Share File

browseable = no 隐藏这个共享目录,使客户端-L看不到samba服务器对外的共享目录,但实际是存在的

重启服务


valid users = westos客户端只可以用samba服务器的westos用户身份来登陆samba



而lee用户就不可以登陆

valid users = +westos 表示只有属于westos组的用户可以登陆


现在将lee用户加入westos用户组

usermod -G westos leeid lee

再次用lee登陆,发现可以登陆了


writable = yes 表示可以写入


重启服务

用客户端:

发现此时还是不能上传和删除,为什么?因为虽然服务允许了,但是文件系统的权限还没有允许。

ls -ld /westos_smb查看文件夹权限,发现只对于root用户可写现在给westos用户一个满权限

然后再测试

成功删除file1

成功上传文件


注意:文件系统的权限和服务权限都要开启

write list = lee 服务只允许lee用户对samba目录可写,这个和writable只能存在一个,开启这个就必须将writable注释掉

给文件权限系统加入lee用户满权限



此时westos用户,虽然文件系统有rwx权限,但是服务只允许lee用户可写,所以它仍不能上传删除文件

write list = @lee 表示属于lee组的用户可以写


用客户端westos用户登陆,发现还是无法上传,因为还没有把westos用户加入lee组


==在服务端加westos用户到lee组中

usermod -G lee westosid westos


此时westos用户可以上传删除文件

guest ok = yes 使匿名用户可以登陆

此时匿名用户不能登陆



此时再次尝试,匿名用户可以登陆了


尝试用匿名用户挂载

mount //172.25.254.215/WESTOS /mnt -o username=guest.password=""


发现不能挂载,因为挂载这个进程没有识别smaba服务器的匿名用户

在配置文件中加入 map to guest = bad user 使挂载进程映射你名用户bad user


admin users = westos 将/westos_smb目录的root用户设置为westos用户


此时需要把writable权限也开开

用westos用户挂载/westos_smb,然后上传文件file{7..10}ll 查看文件的权限所属发现file7-file10属于root用户,1001组,1001即为服务端westos组,只是因为客户端没有1001这个组所以就直接用组id表示,但是所属用户是root

如何共享系统文件夹,(非自己创建例如/mnt)

前文说到可以通过修改安全上下文的方式来使文件夹被共享,而如果我想共享系统/mnt目录,就不可以使用这个方法了因为还有别的地方需要用到/mnt的安全上下文,如果修改了/mnt的安全上下文为smaba的就会导致别的地方不能使用/mnt所以只能通过降低samba安全性的方法来使/mnt共享,这个方法就是修改Selinux的samba功能开关

getsebool -a | grep samba


发现都是关闭的状态

vim /etc/smaba/smb.conf 写入共享/mnt的信息


在/mnt下创建10个文件,查看安全上下文,发现并不是smaba服务要求的安全上下文


在客户端用westos用户登陆后ls也不能看到10个文件

这时在服务端修改Selinux对于samba的服务控制setsebool -P samba_export_all_ro on(1) 打开只读权限 -P永久打开客户端再次用westos用户登陆samba服务器

发现可以查看到10个文件了


尝试删除和上传文件,发现并不能


这时候需要再开启Selinux控制smaba的读写权限

setsebool -P samba_export_all_ro on(1) -P 永久打开

再次登陆,rm file10 还是不能删除,因为文件系统没有给westos对于/mnt的满权限,切换到samba端,给westos对于/mnt的满权限


再次用westos登陆,发现可以删除

如何实现samba的多用户挂载在客户端做实验

刚才在服务端将smb服务设置好后,客户端实现挂载,对smb的共享目录进行修改这时候客户端以服务端的westos用户进行登陆,而客户端的student用户可以看到root用户下的/mnt的挂载内容,这样就很不安全应该客户端每一个用户在smb服务端中均有自己对应的smb用户root ---->westosstudent----->lee

先在root用户下,用smb端的westos用户挂载共享目录到/mnt下

在客户端切换student用户,cd /mnt 后仍然可以看到/mnt里的东西


此时需要在客户端安装可以实现多用户挂载的服务,客户端每个用户只能看到自己的挂载内容

切换到root用户 yum install cifs-utils -y

man mount.cifs 查看cifs的挂载配置vim /root/smb 写入挂载用户身份的认证文件

之前挂载的时候samba用户的密码和用户名是裸露在外的现在把它写入文件里面并且给这个文件一个600的权限,只能让root用户查看chmod 600 /root/smb

mount //172.25.254.215/WESTOS /mnt -o credentials=/root/smb 以认证文件的方式挂载,不用裸露用户身份

成功挂载

输入mount依然可以看到挂载的用户是westos


切换到student用户,发现仍然可以看到挂载到/mnt下的文件


卸载/mnt

mount //172.25.254.215/WESTOS /mnt -o credentials=/root/smb,sec=ntlmssp,multiuser root用户挂载的时候不让别的用户看到自己的操作,并开启多用户挂载


再次切换用户student,发现不能看到/mnt里的内容了


现在为student用户创建挂载用户

cifscreds --help 查看多用户挂载的命令用法

cifsscreds add -u lee 172.25.254.215为本地student用户创建samba用户lee

cd /mnt切换到挂载目录ls此时就可以看到/mnt里的内容了touch file000 ll 在客户端属于student用户的cifscreds clear -u lee 172.25.254.215 取消samba用户



此时file000的所属用户是1002,是因为在客户端没有lee这个用户,而lee这个用户在服务端是1002,所以客户端显示的就是1002.

在服务端 可以看到file000是属于lee用户的

取消student用户的smaba用户leecifscreds clear -u lee 172.25.254.215卸载,再次挂载,切换用户student,又不能看到了


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/23809.html

    分享给朋友:

    “android 搭建srs服务器 android smb 服务器” 的相关文章

    如何在VPS上轻松安装模拟器:一步步指南与优化技巧

    在VPS上安装模拟器的第一步,就是选择一款适合你需求的模拟器。模拟器的种类很多,不同的模拟器针对不同的平台和用途设计。比如,如果你想在电脑上运行安卓应用或游戏,夜神模拟器是一个不错的选择。它基于Android内核,能够很好地模拟安卓系统的运行环境。对于iOS应用,Xcode自带的iOS模拟器则更为合...

    GCE教程:快速掌握基因组评估软件的安装与使用技巧

    1.1 GCE软件概述 GCE(Genome Characteristics Estimation)是一款由华大基因开发的基因组评估软件。它的主要功能是通过分析二代测序数据,评估基因组的特征,如基因组大小、杂合度等。GCE以其高效、准确的特点,成为基因组研究中不可或缺的工具之一。无论是科研人员还是生...

    APT是什么?高级持续性威胁的定义与防御策略

    APT是指高级持续性威胁(Advanced Persistent Threat),它代表了一种针对特定目标进行的长期和有计划的网络攻击。这种攻击的高端特征在于,攻击者会在施加攻击之前,详细调查并了解攻击对象的业务流程和系统架构。换句话说,APT并不是一种简单随机的攻击,而是通过深入分析和细致的侦查工...

    Virmach虚拟主机评测:高性价比VPS服务推荐

    大家好,今天我想和你聊一聊Virmach,这是一家我非常推荐的虚拟主机提供商。Virmach专注于提供VPS(虚拟专用服务器)服务,近年来逐渐在行业中赢得了一席之地。它的价格相对亲民,而服务质量与稳定性也让人感到满意。很多人选择它,主要是因为它不仅适合个人用户,也非常受中小企业欢迎。 Virmach...

    甲骨文云免费申请详解:轻松获取免费云服务

    甲骨文云免费申请概述 当提到云服务的时候,甲骨文云绝对是一个值得关注的选项。甲骨文云(Oracle Cloud)是一项提供强大基础设施和服务的云计算平台,尤其在数据管理、分析和应用开发方面具有突出的优势。在这个日益数字化的时代,免费试用计划让用户能够亲自体验甲骨文云的强大功能,激起了很多人的好奇和兴...

    hncloud:助力企业数字化转型的云计算服务提供商

    在数字化浪潮席卷全球的今天,hncloud(华纳云)应运而生,成为一家备受瞩目的全球数据中心基础服务提供商。隶属于香港联合通讯国际有限公司的hncloud,凭借其在行业中的深厚积淀和技术实力,逐渐发展成为一颗闪耀于云计算领域的明星。作为APNIC和ARIN的会员单位,hncloud自有ASN号,为用...